求逻辑表达式的值

如题所述

第1个回答  2019-12-16
第一个化简:
括号优先级最高,
&&
优先级大于
||
((a=b+c,b>c-1)&&(b+=c))||(b*2==a+c)
化简为:
(a=9,4
>
4)&&(b=9)
||
(18
==
14)
(9,0)&&(9)
||
0
9,0
为逗号表达式,其值为0
所以
:0&&1
||
0
化简为
0
||
0
结果为
0
即false
第二个化简:
+
-
的优先级高于
>
高于
!=
((('c'-'a')/2+b)>c)!=(b-a)
所以化简为:
2/2
+
4
>
5
!=1
5
>
5
!=1
0!=1
所以结果为
1
即true
这个主要是考察运算符优先级,实际写程序时强烈不建议这样写,可读性太差
这个是c语言表达式运算符优先级:
第2个回答  2019-12-18
不论z是真是假;z,整体才为真(但这是;
如果x为假或z为真,整个表达式都为真;
若x和y中有一个或两个是假,那么只有z是真的时候x&&y||z
等价于
(x
&&
y)
||
z
x和y都为真的时候,只有y为假的时候,(y&&z)才为假,,那么表达式为真,表达式才为真。
x>
z)
如果x为假且y为真,那么不论y和z的关系如何;z
如果x>z的时候,表达式才为真!(y
&&
z))
如果x为真且z为假,那么不用管后面表达式真假(实际上肯定是真),整个表达式都为真。
x&&,表达式都为真;
如果x为真或y为假,那么只有y>z)
等价于
((!x)
&&
y
)
||
(y
>!(y&&z)
等价于
(x
&&
(!z))
||
(!(y&&z)才为真!z||,那么只有后面表达式为真;
如果x

评论
0

0

加载更多

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网