单选题若有以下的定义、说明和语句,则值为101的表达式是()A *p->bB p->aC ++(p->a)D (p++)->a

题目
单选题
若有以下的定义、说明和语句,则值为101的表达式是()
A

*p->b

B

p->a

C

++(p->a)

D

(p++)->a


相似考题
更多“单选题若有以下的定义、说明和语句,则值为101的表达式是()A *p-bB p-aC ++(p-a)D (p++)-a”相关问题
  • 第1题:

    若有定义语句:int x=3,y=2,z=1;则表达式x <y?x:y的值是______。


    正确答案:2
    2

  • 第2题:

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

    A.char

    B.int

    C.double

    D.float


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

  • 第3题:

    设有如下语句:则下面表达式的值为102的是()

    A.(p++)->num

    B.(p++)->age

    C.(*p).age

    D.(*++p).num


    参考答案:D

  • 第4题:

    若有定义语句:int X=10;,则表达式x-=x+x的值为( )。

    A.0

    B.-20

    C.-10

    D.10


    正确答案:C
    算术运算符+的优先级高于-=.且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成;=x-(x+x)=10-(10+10)=-10,选择C。

  • 第5题:

    若有定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是

    A.*p+=1;

    B.(*p)++;

    C.++(*p);

    D.*p++;


    正确答案:D
    解析:++的优先级比木的高,所以先运算p++,使得p指向了year变量的下一个存储单元中的内容,然后在取其中的值,得到的一个没有意义的数字,*p++自然就不对了。

  • 第6题:

    若有定义和语句: int a[10]={1,2,3,4,5,6,?,8,9,10},* p=a; 则不能表示a数组元素的表达式是 ( )

    A.* p

    B.a[10]

    C.* a

    D.a[p-a)


    正确答案:B

  • 第7题:

    若有定义语句:int a=3,b=2,c=1;,则表达式a<b?a:b的值是【 】。


    正确答案:2
    2 解析:本题考查的知识点是:条件运算符。条件运算是C++中唯一的三目运算,与其对应的运算符?:称为条件运算符。条件运算符的使用格式为:
    表达式1>?表达式2>:表达式3>
    当计算有条件运算符构成的表达式时,首先计算表达式1>,若其值非0,则计算出 表达式2>的值,并用这个值作为整个表达式的值;若表达式1>的值为0,则计算出表达式3>的值,并用这个值作为整个表达式的值。题目中,ab的结果为假(即 0),所以整个表达式的值为b的值2。

  • 第8题:

    试题25

    若有定义语句:int year=2009,*p=&year; , 以下不能使变量year 中的值增至2010的语句是()

    A.*p+=1;

    B.(*p)++;

    C.++(*p);

    D.*p++;


    正确答案:D
    试题25分析
    A,B,C都是使p所指单元的值增1,而D是使指针往后移一位。
    试题25答案
    D

  • 第9题:

    若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()   

    • A、p+=2,*(p++)
    • B、p+=2,*++p
    • C、p+=3,*p++
    • D、p+=2,++*P

    正确答案:A

  • 第10题:

    单选题
    若有定义语句 int b=2; 则表达式(b<<2)/(3‖b)的值是(  )。
    A

    4

    B

    8

    C

    0

    D

    2


    正确答案: B
    解析:
    b=2,转为二进制即为0010,首先将b左移两位,变成1000,即十进制的8,3‖b的值为真即为1,最后计算8/1=8。答案选择B选项。

  • 第11题:

    单选题
    若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()
    A

    p+=2,*(p++)

    B

    p+=2,*++p

    C

    p+=3,*p++

    D

    p+=2,++*P


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    若有定义语句: int x=10; 则表达式x-=x+x的值为(  )。
    A

    -20

    B

    -10

    C

    0

    D

    10


    正确答案: A
    解析:
    单目加运算符优先级高于赋值运算符,所以先做x+x结果为20,再做x-20,结果为-10,然后赋值给x。所以答案选择B选项。

  • 第13题:

    若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。

    A.p+=2,*(p++)

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:A
    解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

  • 第14题:

    若有定义语句:int X=10;,则表达式-x =x+X的值为

    A.-20

    B.-10

    C.0

    D.10


    正确答案:B
    解析:x-=x+x可化为:x=x-(x+x),由于x初始值为10,所以计算后,x=10-20=-10,因此选B)。

  • 第15题:

    若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},* p=a则不能表示a数组元素的表达式是 ( )

    A.* p

    B.a[10]

    C.* a

    D.a[p-a]


    正确答案:B

  • 第16题:

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。

    A.-20

    B.-l0

    C.0

    D.10


    正确答案:B
    表达式x-=x+X可以写成x=x-(x+x),所以X的值为-l0。

  • 第17题:

    有如下的说明和定义

    则以下叙述中正确的是

    A.(P++)->a与P++->a都是合语法的表达式,但二者不等价

    B.语句++P->a;的效果是使P增1

    C.语句++P->a;的效果是使成员a增1

    D.语句′P->s++;等价于(*P)->s++;


    正确答案:C
    本题考查结构体变量的引用,++P->a的效果是使成员a增1,P++->a不合法,*P->s++为字符e,与(*P)->s++不等价。

  • 第18题:

    若有以下的定义, int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是 ______。

    A.p+=2,*(p++)

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:A

  • 第19题:

    试题14

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

    A.char

    B.int

    C.double

    D.float


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

  • 第20题:

    若有以下定义和语句,此处表达式a++的值是() inta=5a++;

    • A、7
    • B、6
    • C、5
    • D、4

    正确答案:C

  • 第21题:

    若有以下的定义、说明和语句,则值为101的表达式是()

    • A、*p->b
    • B、p->a
    • C、++(p->a)
    • D、(p++)->a

    正确答案:C

  • 第22题:

    单选题
    若有定义语句:int year=2009,*p=&year;,以下不能使用变量year中的值增至2010的语句是(  )。
    A

    *p+=1

    B

    (*p)++;

    C

    ++(*p);

    D

    *p++;


    正确答案: D
    解析:
    A项,p所指内容执行增1操作;B项,先取P指针所指的内容,再执行后++运算;C项,先取P指针所指内容,再执行前++运算;D项,实际上是p指针执行++操作,而后取值。答案选择D选项。

  • 第23题:

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

    char

    B

    int

    C

    double

    D

    float


    正确答案: D
    解析:
    在多目运算符相关联的运算中,如果类型不一致,系统将自动进行类型转换,使两边的类型达到一致后,再进行运算,转换的规则是由“低到高”。'A'是字符型,a是整型,b是double型。字符型数据占1个字节,整型占2个字节,doub1e型占8个字节,故三者相加后为double型,答案选择C选项。