有谁知道,设有如下定义:int a=2,b=3,c=4;则值为0的表达式为:

问题描述:

有谁知道,设有如下定义:int a=2,b=3,c=4;则值为0的表达式为:
有四个选项:
A.a==1)&&(!b==0)
B.a
C.a&&b
D.a||(b+b)&&(c-a)

选A
这里考察的是表达式中的逻辑运算符
所以要理解&& 和||的含义.
&&:当其左右两边的表达式都为真时,整个表达式的值才为真,否则为假(0).
||:当其左右两边的表达式都为假时,整个表达式的值才为假,否则为真.
而在c语言判断一个表达式是否为真的标准就是0是假,非0是真.
所以
A (!a==1)&&(!b==0) 就是 (!2==1)&&(!3==0) 2取反(如果是0000 0010就是1111 1101)显然这是不可能等于1的 &&左边为假 那么整个表达式的值一定是假了,即0.所以选A
C a&&b 就是 2&&3 左右都是真 整个表达式为真,即1.
D a||(b+b)&&(c-a) 就是 2||6&&2 全部都是真 那么表达式也是真,也是1.