若定义:int x=3,y=4,z=5; 那么表达式 (x+y)+z-1&&y+z/2的值?1

问题描述:

若定义:int x=3,y=4,z=5; 那么表达式 (x+y)+z-1&&y+z/2的值?1

做这样的题首先应对C运算符的优先运算级别吃透,括号的优先级别最高,逻辑非高于乘除,乘除的优先级别高于加减运算符,加减高于逻辑与,逻辑与高于逻辑或.非零就是真,真就是1,假就是0,做这样的题还要注意结合性,-,++,--,!是右结合性;×,/,+,-是左结合性;>,>=,﹤,﹤=,==,!=,&&,‖,左结合性;=,+=,-=,×=,/=,“,”这些是右结合性.注意消化有助于做这样类型的题目.
!(x+y)+z-1&&y+z/2
= !(3+4)+5-1&&4+5/2
= !7+5-1&&4+2
=!1+5-1&&6
=0+5-1&&6 (非0就是真,真就是1,假就是0)
=4&&1
=1&&1
=1
——贤子.