首页 > 试题广场 >

已知x=43,ch='A’,y=0;则表达式(x=y&&c

[单选题]
已知x=43ch='A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()

  • 0
  • 语法错
  • 1
  • “假”
推荐

【解释】表达式x>=y&&ch<’B’&&!y等价于(x>=y)&&(ch<’B’)&&(!y)(x>=y)

的值为真,(ch<'B’)的值也为真(因’A'<’B’),而y=0,所以(!y)的值也为真,所以整个表

达式的值为真,即为1.正确答案为C

发表于 2018-05-06 22:10:59 回复(4)
用中文引号?报错吧你

发表于 2022-03-26 14:45:54 回复(0)
x>=y是成立的,A的ASCII值是小于B的,!y=1所以答案是1

发表于 2020-04-22 17:06:50 回复(0)
根据运算符的优先级,先计算小于号和逻辑非运算符,得到ch < 'B' 的值为真(1),
然后计算逻辑与运算符,由于x>=y为真(1),
而y为0,所以!y也为真(1),因此整个表达式的值为 1。
发表于 2023-11-21 14:35:40 回复(0)
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博客
编辑于 2022-01-23 19:08:33 回复(0)
审题
发表于 2025-06-17 09:49:45 回复(0)
C语言中用二进制的0 1 表示真假  x >= 0 为真为1 ch <'b'为真为1 (!y) 为真 为1 所以相与的结果为真则为1
发表于 2021-03-15 20:33:45 回复(0)