niusouti.com

若有定义“float *p ;”则下面的叙述中正确的是()。A.此定义不正确,不存在float这种类型B.此定义正确,p是指向实型指针变量,而不是指向单个实型变量C.此定义正确,定义了一个指向单个实型变量的指针D.此定义不正确,C语言中不允许类似的定义

题目

若有定义“float *p ;”则下面的叙述中正确的是()。

A.此定义不正确,不存在float这种类型

B.此定义正确,p是指向实型指针变量,而不是指向单个实型变量

C.此定义正确,定义了一个指向单个实型变量的指针

D.此定义不正确,C语言中不允许类似的定义


相似考题
更多“若有定义“float *p ;”则下面的叙述中正确的是()。”相关问题
  • 第1题:

    若有定义float a[15],*p=a;,且数组a的首地址为300H,则p+13所指向的数组元素的地址为( )。

    A.334H

    B.30DH

    C.352H

    D.31AH


    正确答案:C
    解析:解答本题,首先要明白在对指针进行加、减运算的时候,数字“1”不是十进制的数“1”,而是指"1"个存储单元长度,而1个存储单元长度占多少存储空间,应该视具体情况而定。如果基本类型是 int型,移动1个存储单元的长度就是位移2个字节,如果基本类型是float型,移动1个存储单元的长度就是位移4个字节。所以p+13所指向的数组元素的地址:300H+(13*上标)4)H=352H。

  • 第2题:

    已知有结构体: struct sk { int a; float b; }data,*p; 若有p=&data,则对data的成员a的正确引用是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B
    解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a,也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

  • 第3题:

    若定义了以下函数: void f(……) { …… *p=(double *)malloc(10 * sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是( )

    A.double *p

    B.float **p

    C.double **p

    D.float *p


    正确答案:C

  • 第4题:

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。A. floatSX

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。

    A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第5题:

    若有定义语句:“int a=10;double b=3.14;”,则表达式A+a+b值的类型是( )。

    A.char

    B.int

    C.double

    D.float


    正确答案:C
    如果是字符数据和整数运算将先转换成整型再进行运算,当整型和浮点数进行运算,为了提高精度将会转化为双精度类型然后进行运算,所以此题结构的数值类型为double类型。

  • 第6题:

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。A.float*p=&x;S

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。

    A.float*p=&x;

    B.int*p-(float)x;

    C.float p=&x;

    D.float*p=1024;


    正确答案:A
    指针是用来存放地址的变量,用(类型名*指针变量名)的形式定义。赋值时应将某个变量地址即&x赋给指针变量,因此选择A)。

  • 第7题:

    若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( )。


    正确答案:A
    B选项中switch((int)x);语句中不应该有最后的分号。switch(exprl),中的exprl不能用浮点类型或10n9类型,也不能为一个字符串,所以c错误。ca”后面常量表达式的类型必须与switch后面表达式的类型一致,所以D错误。

  • 第8题:

    若有定义语句:double a,+P=&a;以下叙述中错误的是( )。A.定义语句中的*号是一个问址运算符

    若有定义语句:

    double a,+P=&;a;

    以下叙述中错误的是( )。

    A.定义语句中的*号是一个问址运算符

    B.定义语句中的*号是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中。P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    指针运算符(通常称为间接引用运算符:indirectionopemlor或复引用运算符:derefereneingoperator)返回其操作数(即一个指针)所指向的对象的值。定义语句中的+号不是一个问址运算符,而是定义指针变量的说明符,因此,A项错误,B选项正确,原则上说变量P可以放double兼容性的变量地址,C选项正确,根据指针的赋值运算,可知D选项正确。故答案为A选项。’

  • 第9题:

    若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )。A.A. float SXB

    若有以下定义:

    char a;int b;

    float c;double d;

    则表达式a*b+d-c值的类型为( )。

    A.A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第10题:

    设有如下定义: struct sk { int a;float b;}data,* p; 若有p=& data;,则对data中的a域的正确引用是 ( )

    A.(* p).data

    B.(* p).a

    C.p->data

    D.p.data. a


    正确答案:B

  • 第11题:

    若有下面的说明和定义: struct test { char m2; float m3; union uu{ char u1[5]; float u2; }ua; }MyStruct; 则sizeof(MyStruct)的值是( )。

    A.10

    B.11

    C.12

    D.9


    正确答案:A
    解析:C++中,联合体变量所占内存字节数与其成员中占字节数最多的那个成员相等。联合体中,浮点变量u2占4个字节,字符型数组u1占5个字节,所以联合体u1占5个字节。整个结构体所占字节数为10。

  • 第12题:

    单选题
    设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是(  )。
    A

    float *p=&x;

    B

    int*p=(float)x;

    C

    float p=&x;

    D

    float *p=1024;


    正确答案: A
    解析:
    考查指针变量的初始化。A项正确,p是float类型的指针,指向x的存储单元;B项错误,p是int类型的指针,只能指向int变量的存储单元;C项错误,p的float类型的变量,&x是取变量x的地址,不能把地址赋值给float类型变量;D项错误,p是指向float类型的指针,不能使用常整型赋值。答案选择A选项。

  • 第13题:

    已知有如下结构体:

    struct sk

    { int a;

    float b;

    }data,*p;

    若有P=&data,则对data的成员a引用正确的是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B

    本题主要考查结构指针:P=&data,访问结构体的成员。它可以通过结构变量访问,即data,可以用等价的指针形式:(*p).a和P->a来访问结构体变量中的成员。

  • 第14题:

    已知有如下结构体:

    struct sk

    { int a; float b; }data,*p;

    若有P=&data,则对data的成员a引用正确的是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B
    本题主要考查结构指针:P=&data,访问结构体的成员。它可以通过结构变量访问,即data,可以用等价的指针形式:(*p).a和P->a来访问结构体变量中的成员。

  • 第15题:

    设已有定义:floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是()。

    A.int*p=(floatx)

    B.floatp=&x

    C.float*p=1024

    D.float*P=&x


    正确答案:D

  • 第16题:

    若有定义float X=1.5;int a=1,b=3,C=2;,则正确的switch语句是( )。

    A.

    B.

    C.

    D.


    正确答案:B
    c语言中,switch语句专用于实现多分支结构程序,其特点是各分支清晰且直观。switch后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。

  • 第17题:

    若有定义:float x=1.5;int a=1,b=3,c--2;,则正确的switch语句是( )。 .

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    B)选项的“switch((int)x);”语句中不应该有最后的分号。switch(exprl)中1雏Jexprl能用浮点类型或lon9类型,也不能为一个字符串,因此c)错误。case后面只能是常量表达式,因此D)错误。

  • 第18题:

    设有定义:struct sk {int a;float b;} data,* p; 若有p=& data;,则对data中的a域的正确引用是 ( )

    A.(* p).data.a

    B.(* p).a

    C.p->data.a

    D.p.data.a


    正确答案:B

  • 第19题:

    设已有定义:float x;,则以下对指针变量P进行定义且赋初值的语句中正确的是( )。

    A.int*p=(float)x;

    B.float*p=&x;

    C.float p=&x;

    D.float=1024;


    正确答案:B
    指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择B。

  • 第20题:

    若有以下说明和定义

    typedef int*INTEGER:

    INTEGER P,*q;

    以下叙述正确的是


    正确答案:B

  • 第21题:

    若有如下定义: union aa {int n; char c[9]; float x;}a,b,c; 则下列叙述中不正确的是( )

    A.union aa是定义的共用体类型

    B.a,b,c是定义的共用体类型名

    C.n、c[9]和x是共用体的成员名

    D.a,b,c是定义的共用体变量名


    正确答案:B

  • 第22题:

    若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1

    若有下列定义,则对a数组元素地址的正确引用是( )。

    int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    本题考查数组元素的地址的引用。A中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组的首地址。

  • 第23题:

    试题14

    若有定义语句:int a=10; double b=3.14; , 则表达式‘A’+a +b值的类型是()

    A.char

    B.int

    C.double

    D.float


    正确答案:C
    试题14分析
    数据自动转换时,按照数据长度增加的方向进行转换,以保证精度不降低。
    试题14答案
    C

  • 第24题:

    单选题
    若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是(  )。

    正确答案: A
    解析:
    D项正确,标号可以是整型表达式。A项错误,case是关键字,与其后面的常量表达式合称case语句标号。常量表达式的类型必须与swicth后圆括号中的表达式类型相同,各case语句标号的值应该互不相同。c是变量,不能作为表达式放在case后面;B项错误,switch后面不应该有分号;C项错误,switch参数值类型必须是这几种类型之一:int,long,short,byte,char。答案选择D选项。