当前位置:首页GESP > 正文

11. 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b 等 于 0”的是() (2023年3月 GESP C++ 一级)

作者:野牛程序员:2024-07-17 18:39:22GESP阅读 2469
11. 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b 等 于 0”的是() (2023年3月 GESP C++ 一级)

11. 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b 等 于 0”的是() 

A. (a == 0) && (b == 0) 

B. (a == b == 0) 

C. (!a) && (!b) 

D. (a == 0) + (b == 0) ==2



如果 ab 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b 等于 0”的是( B. (a == b == 0) )。

详细解释:

  • A. (a == 0) && (b == 0)

    • 这个表达式正确地使用逻辑与运算符 && 来判断 ab 是否都等于 0。

  • B. (a == b == 0)

    • 这个表达式不能正确地判断 ab 是否都等于 0。因为 == 运算符的优先级低于赋值运算符,所以表达式被解释为 (a == b) == 0。这将首先比较 a 是否等于 b,然后将结果(布尔值)与 0 进行比较。这不是想要的逻辑。

  • C. (!a) && (!b)

    • 这个表达式使用逻辑非运算符 !,将 ab 都转换为布尔值,然后使用逻辑与运算符 && 判断它们是否都为 false(即都为 0)。这种方法正确地判断 ab 是否都等于 0。

  • D. (a == 0) + (b == 0) == 2

    • 这个表达式将两个比较结果(布尔值)相加,并检查它们的总和是否等于 2。由于布尔值 true 在 C++ 中表示为 1,false 表示为 0,所以这个表达式能够正确地判断 ab 是否都等于 0。

因此,选项 B((a == b == 0))不能正确判断 a 等于 0 且 b 等于 0。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • GESP
  • 最新推荐

    热门点击