有谁知道,设有如下定义:int a=2,b=3,c=4;则值为0的表达式为:
有四个选项:
A.a==1)&&(!b==0)
B.a
C.a&&b
D.a||(b+b)&&(c-a)
人气:391 ℃ 时间:2019-12-15 15:15:15
解答
选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.
推荐
- 若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是哪两个?
- 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是
- 设有定义int a=20,b=3;则表达式a+=(b%=2)的值为——( B )为什么
- 1.表达式4>3>7>8的值是().A.4 B.8 C.1 D.0 2.若有定义:int a=3,b=4,c=5;表达式a
- 若有定义:int b=7;float a=2.5,c=4.7;则下面的表达式 a+(int)(b/3*(int)(a+c)/2)%4 的值
- 《如果我错了》文章
- 甲、乙二人搬砖,甲搬的砖数是18的倍数,乙搬的砖数是23的倍数 甲比乙多搬了386块砖.用方程
猜你喜欢