已知x=43,ch='A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()
x=43,ch='A’,y=0; ( x>=y && ch<’B’ && !y ) 面对不同优先级的运算符: 按照运算符的优先级:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 step1. 计算 !y 为真 step2. 此时按优先级计算关系运算符 x>=y 和 ch<‘B’ 皆为真 step3. 此时计算逻辑运算符 ||,由于存在两个||,优先级相同,此时按照结合性进行运算(左结合) step4. 从左向右进行计算 (x>=y)&&(ch<'B')&&(!y) 计算顺序: ------> -----> ------> 真&&真&&真————>1详细博客讲解地址:(6条消息) C语言百炼成神·第一日·操作符_kikokingの比特宇宙-CSDN博客
【解释】表达式x>=y&&ch<’B’&&!y等价于(x>=y)&&(ch<’B’)&&(!y),(x>=y)
的值为真,(ch<'B’)的值也为真(因’A'<’B’),而y=0,所以(!y)的值也为真,所以整个表
达式的值为真,即为1.正确答案为C。