CSP-S 提高级 · CSP 2023 提高级第一轮 第 9 题

选择题 · 答案 A · 考点:运算符与表达式、位运算

← 整套速查表 CSP-S 提高级 全部真题

题目

假设我们有以下的 C++ 代码:

int a = 5, b = 3, c = 4;
bool res = a & b || c ^ b && a | c; 

请问,res 的值是什么?() 提示:在 C++ 中,逻辑运算的优先级从高到低依次为:逻辑非(!)、逻辑与(&&)、逻辑或(||)。位运算的优先级从高到低依次为:位非(~)、位与(&)、位异或(^)、位或(|)。同时,双目位运算的优先级高于双目逻辑运算;逻辑非与位非优先级相同,且高于所有双目运算符。

答案:A

考点

运算符与表达式位运算 讲解 →位运算 真题汇总 →

解题思维

看到位运算与逻辑运算混用 → 先按优先级加括号,再代入二进制计算。

常见错误

易把逻辑运算优先级误判为最高;忽略逻辑运算返回 bool 而位运算返回 int 的类型差异。

详细解析(节选)

考点:运算符优先级|C++ 逻辑运算类型

解析

原式按优先级拆分为: (a & b) || ((c ^ b) && (a | c))

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断