位运算符 &、|、^、~ 的优先级高于算术运算符 +、-、*、/。
答案B。按位或|、按位异或^都是位运算符。C++还有算术、关系、逻辑、赋值等运算符类别。
注意区分位运算符(&,|,^)和逻辑运算符(&&,||)。它们完全不同。
【考点】运算符优先级|C++语法规范
🎯 考纲定位:GESP 三级 C++ 编程模块必考内容。命题人专盯考生死记硬背优先级口诀却混淆实际顺序的弱点。
🧠 解题思维:看到题先翻运算符优先级表。C++ 里算术运算符(+ - * /)优先级高于位运算符(& | ^ ~)。用反例验证:3 & 2 + 1,算术优先算出 2 + 1 = 3,再与 3 做位运算得 3;若按题目说的位运算优先,就成了 3 & 2 = 2,再 2 + 1 = 3,结果虽一样但过程不同,暴露优先级真实顺序。
🪤 陷阱拆解:选项 B 故意把位运算说成更高,利用考生对位运算熟悉度产生的虚假自信。题目最阴险处是绝对化表述"高于",不区分具体哪个算术运算符(乘除确实比位运算高,加减则低)。若只背"位运算优先级高"结论,遇到混合表达式必错。
🔄 反命题思维:命题人视角——把"高于"改成"低于"就变正确选项;若问"加减乘除与位运算谁更高",答案仍是算术运算符。刷到类似题先问:命题人到底在测试优先级顺序还是测试位运算的运算规则?