itgle.com

单选题若有以下的定义、说明和语句,则值为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的表达式是()”相关问题
  • 第1题:

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


    正确答案:2
    2

  • 第2题:

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


    正确答案:2
    2

  • 第3题:

    若有以下定义和语句: 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。

  • 第4题:

    若有以下说明和语句: struct st{int n;char*ch;} struct st a[3]={5,"abc"7,"def",9",ghk"),*p=a; 则值为6的表达式是______。

    A.p++->n

    B.p->n++

    C.(*p).n++

    D.#NAME?


    正确答案:D
    解析:根据结构变量的存储特点,p+l意味着增加地址值为结构体数组a的—个元素所占的字节数,即P++使p由a[0]指向a[1]起始地址。本题++p->n得到p指向的结构体变量中成员n的值使之加1。因为p指向数组a起始地址,p->n的值为5,再执行自加l运行,结果为6。

  • 第5题:

    若有定义语句“inti=2,j=3;”,则表达式i/j的结果是( )。 A.0B.0.7C.0.66667S

    若有定义语句“inti=2,j=3;”,则表达式i/j的结果是( )。

    A.0

    B.0.7

    C.0.66667

    D.0.66666667


    正确答案:A
    A。【解析】整数相除为整数,所以结果为0。

  • 第6题:

    若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。

    A.4

    B.8

    C.0

    D.2


    正确答案:B
    2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/1=8,所以结果为8。

  • 第7题:

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11S

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。

    A.0

    B.1

    C.11

    D.3


    正确答案:A
    本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。

  • 第8题:

    若有定义语句:“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。

  • 第9题:

    若有定义语句: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。

  • 第10题:

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

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

    正确答案:C

  • 第11题:

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

    -20

    B

    -10

    C

    0

    D

    10


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

  • 第12题:

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

    *p->b

    B

    p->a

    C

    ++(p->a)

    D

    (p++)->a


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

  • 第13题:

    若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。A.4B.8C.0D.2

    若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。

    A.4

    B.8

    C.0

    D.2


    正确答案:B
    2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/ 1=8,所以结果为8。

  • 第14题:

    若有以下类型说明语句:chara;intb;floatc;doubled;则表达式a*b-2*d+c的结果类型为()

    A.float

    B.char

    C.int

    D.double


    正确答案:D

  • 第15题:

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


    正确答案:双精度类型
    在本题中,定义了四个不同类型的变量,然后在同一个表达式中进行计算。在C语言中规定,不同数据类型的数据在进行运算时,其结果保存为精度相对较高的类型,即所占字节空间较多的类型。因此,在对本题的四个不同类型的变量进行运算后,最终的结果为double类型。

  • 第16题:

    若有以下定义: 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型。

  • 第17题:

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

    A.char

    B.int

    C.double

    D.float


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

  • 第18题:

    若有定义语句: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)。

  • 第19题:

    若有定义语句: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。

  • 第20题:

    若有以下类型说明语句: charw;intx;floaty,Z; 则表达式w*x+z-y的结果为_______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,short→int→unsigned→long→double←float,故结果为float型。

  • 第21题:

    试题14

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

    A.char

    B.int

    C.double

    D.float


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

  • 第22题:

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

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

    正确答案:C

  • 第23题:

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

    8

    B

    2

    C

    4

    D

    0


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

  • 第24题:

    单选题
    若有定义语句: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选项。