首页 > 试题广场 >

已有定义: int x=3,y=4,z=5 ;

[单选题]

已有定义: int x=3,y=4,z=5 ; ,则表达式 !(x+y)+z-1&&y+z/2 的值是(

  • 6
  • 0
  • 2
  • 1
推荐
答案:选D
考点:运算符优先级
括号 > 逻辑非 > 算术运算符 > 逻辑运算符
所以: !(x+y)+z-1&&y+z/2
          =!7+5-1&&4+2
          =4&&6
          =1
扩展:
编辑于 2019-12-11 14:26:21 回复(2)
D。考察的是运算符的优先级。
根据题目:
int x=3,y=4,z=5 ; ,则表达式 !(x+y)+z-1&&y+z/2
  1. 先算括号x+y,再算单目运算!  最后算z/2,代入已知变量为:0+5-1&&4+2
  2. 从左至右先算+、-,再算&&,即4&&6结果为1
发表于 2019-12-10 18:06:49 回复(0)
选D:
先算括号内的,再算乘除法(除法是整除),再算加减法,再算逻辑运算
原式= !(3+4)+5-1&&4+5/2
=!7+5-1&&4+2
=4&&6
=1
编辑于 2019-12-10 14:40:53 回复(0)
D
逻辑运算符的优先级小于+-*/
所以原式为(0+5-1)&&(4+2)
=4&&6
4>0,6>0
所以4&&6==1选D

发表于 2019-12-10 14:38:36 回复(0)
算数运算符>逻辑运算符
发表于 2020-04-26 11:18:16 回复(0)

4&&6 两个数都大于0,返回1。否则返回0


发表于 2020-02-08 08:58:58 回复(0)