设有定义:int x=2;以下表达式中,值不为6的是A x*=x+1 B x++ , 2*x C 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
麻烦写清楚原因,谢谢

搞懂两个概念就OK
逗号表达式 是从左往右算 并且逗号表达式的值等于最靠右的表达式的值
赋值表达式的值等于赋值表达式的左值 也就是赋值完毕后 等号左边那个数的值

所以 A x*=x+1 也就是 x = x*(x+1) = 6 整个表达式的值就是赋值完毕后的左值 也就是x的值 就是6
B x++,2*x 先算x++ 这时x=3 再算2*x = 6 整个表达式的值等于最靠右的表达式的值 也就是2*x = 6
C x*=(1+x) 这个和A一样 是6
D 2*x,x+=2 先算2*x = 4 但是注意 此时没有赋值 所以x的值依然是2 再算x+=2 整个表达式的值就等于最靠右的表达式的值 也就是 x+=2 也就是4
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-11
答案为D

其中大案A和C是一样的效果
B和D为逗号运算符:
表达式1,表达式2
先算表达式1,然后算表达式2,最后的结果为第二个表达式的结果
B中先算x++后x的值变为3,在算2*x后值为6,所以最后的结果为6
D中的运算没有对x的值改变,所以x+=2的值为4,最后结果为4
第2个回答  推荐于2018-04-16
A:变形形式为:x=x*(x+1);结果为2*3=6;
B:x++,x为3;2*x=2*3=6,结果为6;
C:变形形式为:x=x*(1+x);结果为6;
D:2*x为4,但是x的值没有变;x+=2 变形为 x=x+2=2+2=4,结果为4;
考察逗号的运算,从左向右进行运算:D中只是进行2*x的运算,没有付给变量且x的值没有变化;而B中执行的是x++:x自增的操作,x变为3。不知道你明白了吗。。。。。。。本回答被网友采纳

...x=2;以下表达式中,值不为6的是A x*=x+1 B x++ , 2*x C x*=(1+x...
所以 A x*=x+1 也就是 x = x*(x+1) = 6 整个表达式的值就是赋值完毕后的左值 也就是x的值 就是6 B x++,2*x 先算x++ 这时x=3 再算2*x = 6 整个表达式的值等于最靠右的表达式的值 也就是2*x = 6 C x*=(1+x) 这个和A一样 是6 D 2*x,x+=2 先算2*x = 4 但是...

设有定义:intx=2;,以下表达式中,值不为6的是()。
C.x*=(1+x)D.2*x,x+=2 正确答案:D

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

设有定义:int X=2;,以下表达式中,值不为6的是( )。
【答案】:A A选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,在执行第二个表达式2·X=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可以表...

C语言问题 x=2 下列值不为6的是: A:x++,2*x B:2*x,x+=2 本人菜鸟,请大...
A x++,2*x x++等价于x,它的值为2,但是x++之后的x的值变成3了, 2*x=6;B 2*x,x+=2 2*x=4,但是x仍为2,x+=2等价于x=x+2;所以x为4;

2009年上半年全国计算机等级考试二级C语言笔试试题及答案
A)o115B)0118C)1.5e1.5D)115L 14.(14)设有定义:int x=2;,一下表达式中,值不为6的是A)x*=x+1B)X++,2*xC)x*=(1+x)D)2*x,x+=2 15.(15)程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是A)123.141593B)12 3.141593C)12,3.141593D)123.141593016.(16)若...

设有定义:int x=3;,以下表达式中,值不为l2的是( )。
自左至右”。A)选项和c)选项的结果是一样的,可展开为:x=x*(x+1)=3*4=12;B)选项中先执行x++,因为++运算符有自加功能,逗号之前执行后x的值为4,逗号后的值就是整个表达式的值,即12;D)选项逗号之前并未给x赋值,所以表达式的值就是x+=6的值,即9。因此,本题答案为D)。

程序设计习题
c3=1.0\/c2*c1;则执行后c3的值是(A )A.0 B.3 C.1 D.2 (7)如下程序:main(B){int y=6,x=3,z=1;printf("%d %d\\n",(++x,y++),z+2);} 运行该程序的输出结果是( )A.3 4 B.6 3 C.4 3 D.3 3 (8)若有以下定义和语句:char c1='a',c2='f';prin...

C语言大师帮忙,在线等
A、int B、double C、void D、char 8、表达式 strlen(”hello”) 的值是___。B A、 4 B、 5 C、 6 D、 7 9、设变量定义为“int a[4];”,则表达式___不符合C语言语法。D A、*a B、a[0] C、a D、a++ 10、设变量定义为“int x, *p=&x;”,...

intx=2 X++,2*X怎么算
int x=2是先声明一个整形变量x,半将他赋值为2;X++是将x的值增加1,在这里就是3了。。2*X嘛,就不用我解释了。。呵呵~~答案是6咯。。

相似回答