c语言有道题目:设x,y,z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )

A 'A'<=ch<='Z' B (ch>='A')&(ch<='Z')
C x||y+z&&y-z D !((x<y)&&!z||1)

A:'a'<=ch 的值是0或1,而'Z'的值肯定大于1,所以表达式的值为真(非0);
B:是两个逻辑值的算术与,这两个值有可能同时为真,所以整个的值有可能为非0的真值;
C:运算顺序是 x || ((y+z) && (y-z)),显然结果不一定是真还是假,所以依然有可能为非0;
D: ! ((x<y) && !z || 1 ) = ! (((x<y) && !z ) || 1 ) = ! 1 = 0。
其中((x<y) && !z ) || 1 的值是和1求或,值永远为1。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-10
ch没有说明,故此,AB选项不选,
C选项, 很明显是不为0;

答案是D
(x<y) ==1;
(x<y) && !z ==0;

(x<y> && !z || 1 == 1;
因此, !((x<y) && !z || 1) == 0;
第2个回答  2012-10-09
ch是什么没有说明啊。C答案不对。D是对的。X<Y为真,!Z || 1为真。
第3个回答  2012-10-13
ch 是什么东西啊
第4个回答  2012-10-08
d
第5个回答  2012-10-16
D
相似回答