作业帮 > 综合 > 作业

关于C语言逻辑运算问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 07:23:15
关于C语言逻辑运算问题
1.int a =5,b=6,w=1,x=2,y=3,z=4 ; 执行以下语句后b的值为1 如何判断的?
2.设x,y,z和k都是Int型变量,执行表达式x=(y=4,z=16,k=32)后,x的值为什么是32?
3.有Int x,y,z;且x=3,y=-4,z=5,则表达式 (x>y)+(y!=z)||(x+y)&&(y-z) 的值为什么是1?
4.有int x,y,z;且x=3,y=-4,z=5;则表达式 x++-y+(++z)的值 为什么是13?
第一个题 以下语句呢?第二个题 执行括号里最后一个逗号后的式子
第三个题先执行 !(x>y) 因为X>Y 所以为真 又因为有!符号 所以取反!(x>y)值为0 . (y!=z)为真,||后的语句不执行 (y!=z)||(x+y)&&(y-z)整个的值为1 所以0+1=1.
第四题 为3+4+6=13
再问: 第一题语句(a=w>x)&&(b=y>z) 第二题为什么执行括号里最后一个逗号的式子? 第三题为什么||后不执行了? 第四题不是 -y吗? 为什么变成+了?
再答: 第2题C语言就是这么规定的! 第三题执行||语句 如果||第一个式子为真 或后的就不执行了 第四题Y为-4 执行-Y后就为4了 第一题 先执行W>X为假 值为零并付给A 所以&&后的语句不执行B=6 你的题错了!