GESP 三级 · GESP 202606 C++ 三级 第 11 题

选择题 · 答案 D

← 整套速查表 GESP 三级 全部真题

题目

下面选项中提到的变量都是正整数,关于位运算,下面说法错误的是( )。

答案:D

解题思维

答案D。考点: C++变量/数据类型/赋值操作。

常见错误

仔细审题,注意题目中的所有限定词和条件。不确定时用排除法缩小选项范围。

详细解析(节选)

【考点】位与运算|左移溢出|正整数范围边界

🎯 考纲定位:GESP 三级"位运算"模块第 2 题,命题人卡住"移位即乘法"的直觉漏洞,专门测试考生对溢出行为的认知而非机械记忆。

🧠 解题思维:A 看最低位判断奇偶是位与本质;B 用 0xFF 掩码保留低 8 位;C 因与运算只保留公共位,结果必≤原数;D 左移溢出时高位丢弃,C++ 中 unsigned 按 2^32 取模,有符号数则未定义行为,绝不等于数学乘法。

🪤 陷阱拆解:C 选项的陷阱在于"一定小于等于"的绝对化表述,但正整数范围有限;D 选项最阴险:命题人利用"左移即乘 2"的直觉误导,却用"符合乘法规律"暗示结果是数学乘积,忽略了溢出时高位丢失导致数值突变。

🔄 反命题思维:若 D 改为"左移后保留低 32 位结果符合乘法规律",则正确。刷到此类题先问:命题人想考溢出还是考乘法?

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