设有定义:int x=2;,以下表达式中,值不为6的是A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x, x+=2

题目

设有定义:int x=2;,以下表达式中,值不为6的是

A.x*=x+1

B.x++,2*x

C.x*=(1+x)

D.2*x, x+=2


相似考题
参考答案和解析
2*x,x+=2
更多“设有定义:int x=2;,以下表达式中,值不为6的是”相关问题
  • 第1题:

    设有如下的变量定义:

    double x=4.700000;float y=2.5f;int z=7;

    则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


    正确答案:5
    5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

  • 第2题:

    设有定义:int x=3;,以下表达式中,值不为l2的是( )。

    A.x*=x+1

    B.x++,3*x

    C.x*=(1+x)

    D.2*x.x+=6


    正确答案:D
    本题考查逗号运算符的运算方式,逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向为”自左至右”。A)选项和c)选项的结果是一样的,可展开为:x=x*(x+1)=3*4=12;B)选项中先执行x++,因为++运算符有自加功能,逗号之前执行后x的值为4,逗号后的值就是整个表达式的值,即12;D)选项逗号之前并未给x赋值,所以表达式的值就是x+=6的值,即9。因此,本题答案为D)。

  • 第3题:

    设有定义语句:double x=2.5, y=4.7;int a=7;那么表达式x+a%3*(int)(x+ y)%2/4的值为【 】。


    正确答案:2.5
    2.5 解析:本题考核运算符的使用(包括类型、优先级、结合性)。强制类型转换符()将表达式x+y的值转换为int型,那么表达式“a%3*(int) (x+y)%2/4”结果将为整型,计算:7%3*7%2/4的结果为0,而x为double型,所以最后的结果为2.5

  • 第4题:

    已有定义:int x=3,y=4,z=5,则表达式!(x+y)+z-1&&y+x/2的值是

    A.6

    B.0

    C.2

    D.1


    正确答案:D
    解析:本题中,&&左边的表达式!(x+y)为!(3+7),结果为假,即为0。再加上z,然后减1,相当于0+5-1。左边等于4,&&右边的表达式y+z/2相当于4+5/2为6,所以整个表达式相当于4&&6为真,即为1。

  • 第5题:

    若有定义:int x=1,y=2;float a=3.7,b=2.1;则(x+y)%2+(int)a/(int)b表达式的值为( )。


    正确答案:2
    2 解析:本题考查表达式的运算。因为x=1,y=2,所以表达式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整个表达式的结果为(x+y)%2+(int)a/(int)b=1+1=2。

  • 第6题:

    若有如下定义: int x=6,y=3,z=2; 则表达式x=y||y<z&&z==z的值是( )。

    A.0

    B.1

    C.4

    D.6


    正确答案:B
    解析:优先级高于==高于&&高于||高于=。首先计算表达式yz的值,yz为假,表达式的值为0,则逻辑表达式yz&&z= =z的值也为0,||左侧y的值为非零值3,所以表达式的值为1,将1赋值给x,赋值表达式的值是1。

  • 第7题:

    若有定义:int x=5,y=6;则表达式x=(y==6)的值为()

    A.5

    B.1

    C.6

    D.0


    参考答案:B

  • 第8题:

    设有以下变量定义,并已赋确定的值: char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为( )。

    A.char

    B.int

    C.float

    D.double


    正确答案:D
    解析:本题考核表达式计算时数据类型的转换。C++中,参加运算的各个数据类型都转换成数据类型最长的数据类型,然后计算,表达式值的类型也就是数据长度最长的数据类型,在char、int、float、double中,double型的数据最长,所以表达式所求得的数据类型为double。

  • 第9题:

    设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第10题:

    经过以下语句定义后,表达式z+=x>y?++x:++y的值为(). int x=1,y=2,z=3;

    • A、2
    • B、3
    • C、6
    • D、5

    正确答案:C

  • 第11题:

    单选题
    设有定义 int x=2; 以下表达式中,值不为6的是(  )。
    A

    x*=x+1

    B

    x++,2*x

    C

    x*=(1+x)

    D

    2*x,x+=2


    正确答案: B
    解析:
    A项,因为赋值运算优先级最低,故先执行x+1,赋值符号右侧为3,然后再计算x*=3,所以x=2*3=6;B项,x++得3然后2*x得6;C项与A项原理一致。D项,2*x虽然结果为4,但没有赋值,此时x的值仍为2,所以最终为4。答案选择D选项。

  • 第12题:

    单选题
    设有定义:int x=11,y=12,z=0;以下表达式值不等于12的是(  )。
    A

    (z,x,y)

    B

    (z=x,y)

    C

    z=(x,y)

    D

    z=(x==y)


    正确答案: D
    解析:
    逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D选项逻辑表达式x==y不成立,则z=0,表达式值为0。B选项逗号表达式x,y取y值为表达式值,然后赋值给z=12,表达式值为12。C选项逗号表达式(x,y)取y值为表达式值,然后赋值给z=12,表达式值为12。A选项逗号表达式(z,x,y)取y值为表达式值12。答案选择D选项。

  • 第13题:

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


    正确答案:2
    2

  • 第14题:

    设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )

    A.2.5

    B.3.5

    C.4.5

    D.表达式不正确


    正确答案:B

  • 第15题:

    设有定义:int x=2;,以下表达式中,值不为6的是______。

    A.x*=x+1

    B.x++,2*x

    C.x*=(1+x)

    D.2*x,x+=2


    正确答案:D
    解析:选项D中,2*x表达式的结果为4,x+=2的结果为4,由于2*x时x的值没有改变,所以最终结果不等于6,因此选项D是错误的。

  • 第16题:

    已有定义int x=3, y=4, z=5;则表达式“!(x+y)+z-1y+z/2”的值是________。

    A.6

    B.0

    C.2

    D.1


    正确答案:D

  • 第17题:

    设有定义“intx=2;”,下列表达式中,值不为6的是( )。

    A.X*=x+1

    B.x++,2*x

    C.x*=(1+x)

    D.2*x,x+=2


    正确答案:D
    D。【解析】本题考查了复合运算符“=”和逗号表达式如何正确求值。逗号表达式的作用是用逗号将表达武连起来,其有效值为最后一个表达式的值,其运算的结合性从左到右进行运算。选项D是一个逗号表达式,其值为4。

  • 第18题:

    设有定义:int x-2;,以下表达式中,值不为6的是( )。

    A.2*x,X+=2

    B.x++,2*x

    C.x*=(1+x)

    D.x*=x+1


    正确答案:A
    选项A中,2*x对x的值没有影响,x仍为2,“x+=2”执行后,表达式值为4。故本题答案为A。

  • 第19题:

    设有定义:int X=2;,以下表达式中,值不为6的是( )。

    A.2*x.x+=2

    B.x++,2*x

    C.x*=(1+x)

    D.x*!x+1


    正确答案:A
    A选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,在执行第二个表达式2·X=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可以表示为x=x*(1+x)=2}(1+2)=6。D选项中的表达式可以表示为x=X}(x+1)=2·3=60

  • 第20题:

    若有定义:floatx=3.5,y=3.6;则表达式()的值为6。

    A.(int)x+(int)y

    B.x+y

    C.(int)(x+y)

    D.int(x+y)


    正确答案:A

  • 第21题:

    经过以下语句定义后,表达式z+=x>y?++x:++y的值是______。int x=1,y=2,z=3;

    A.2

    B.3

    C.6

    D.5


    正确答案:C

  • 第22题:

    设有定义:intx=2;,以下表达式中,值不为6的是()

    • A、x*=x+1
    • B、x++,2*x
    • C、x*=(1+x)
    • D、2*x,x+=2

    正确答案:D

  • 第23题:

    单选题
    设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是(  )。
    A

    *(k+2)

    B

    k+2

    C

    *k+2

    D

    *k+=2


    正确答案: B
    解析:
    本题中k指向数组m的首地址。*(k+2)先将指针后移两个元素,即为m[2]的地址,然后取出m[2]的值6。B项错误,k+2是m[2]的地址;C项错误,*k表示m[0]的值,然后再加上2,所以为4;D项错误,表示给m[0]的值加2,也为4。答案选择A选项。

  • 第24题:

    单选题
    设有定义:int x=7,y=12;,则以下表达式值为3的是(  )。
    A

    (y%=x)-(x%=5)

    B

    y%=(x%=5)

    C

    y%=x-x%5

    D

    y%=(x-x%5)


    正确答案: B
    解析:
    A项正确,a%=b表示a=a%(b),A项可改写成y=y%x,x=x%5,再计算y-x计算的结果为3,满足题意;B项为0,C项为2,D项等同于C项。答案选择A选项。