求逻辑表达式的值a=3,b=4,c=5(1)(a=b+c,b>c-1)&&(b+=c)||(b*2==a+c)(2)('c'-'a')/2+b>c!=b-a(1)我化简到(1,0) && 1 || 1 对括号就不会处理了(2)我化简到1+0 =1 1 = 1 0 1 求检错
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 23:25:47
求逻辑表达式的值a=3,b=4,c=5(1)(a=b+c,b>c-1)&&(b+=c)||(b*2==a+c)(2)('c'-'a')/2+b>c!=b-a(1)我化简到(1,0) && 1 || 1 对括号就不会处理了(2)我化简到1+0 =1 1 = 1 0 1 求检错
求逻辑表达式的值
a=3,b=4,c=5
(1)(a=b+c,b>c-1)&&(b+=c)||(b*2==a+c)
(2)('c'-'a')/2+b>c!=b-a
(1)我化简到(1,0) && 1 || 1 对括号就不会处理了
(2)我化简到1+0 =1 1 = 1 0 1 求检错
求逻辑表达式的值a=3,b=4,c=5(1)(a=b+c,b>c-1)&&(b+=c)||(b*2==a+c)(2)('c'-'a')/2+b>c!=b-a(1)我化简到(1,0) && 1 || 1 对括号就不会处理了(2)我化简到1+0 =1 1 = 1 0 1 求检错
第一个化简:
括号优先级最高, && 优先级大于 ||
((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语言表达式运算符优先级:
http://www.slyar.com/blog/c-operator-priority.html