单选题设有定义:int x=11,y=12,z=0;以下表达式值不等于12的是( )。A(z,x,y)B(z=x,y)Cz=(x,y)Dz=(x==y)
单选题
设有定义:int x=11,y=12,z=0;以下表达式值不等于12的是( )。
A
(z,x,y)
B
(z=x,y)
C
z=(x,y)
D
z=(x==y)
参考解析
解析:
逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回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选项。
逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回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选项。
相关考题:
设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。A.1SX 设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。A.1B.0C.4D.3
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是( )。A. B. S 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是( )。A.B.C.D.
设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能正确表示代数式‘的C语言表达式是( )。A.…1.…0/x。/y,/zB.1/x * Y * zC.1/(x * Y * z)D.1/x/y/(double)z
设有以下变量定义,并已赋确定的值: char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为( )。A.charB.intC.floatD.double
单选题设有定义:int x=7,y=12;,则以下表达式值为3的是( )。A(y%=x)-(x%=5)By%=(x%=5)Cy%=x-x%5Dy%=(x-x%5)