GESP 六级 · GESP 202309 C++ 六级 第 2 题

选择题 · 答案 D

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

题目

如果 a 和 b 均为 int 类型的变量,且 b 的值不为 0,那么下列能正确判断“a 是 b 的 3 倍”的表达式是( )。

答案:D

解题思维

这题考的是整数运算与比较。拿到题先想:a=3b 到底意味着什么?A 是右移(除8),B 是差模3,C 是截断除法,只有 D 用乘法直接构造才绝对等价。别被‘取模’‘整除’的直觉带偏,直接代入反例验证是最稳的。

常见错误

很多考生会选 B,因为觉得‘差是3的倍数’听起来像倍数关系,但 a=4,b=1 时 a-b=3 能被3整除,a却不是b的3倍;选 C 的也很多,以为 a/b=3 就是3倍,却忘了整数除法会截断,a=10,b=3 时 a/b=3 但 a≠3b;选 A 的则是把右移误当成除以3,其实右移一位是除以2,右移三位是除以8,完全跑偏。这些坑都源于对运算符含义和整数除法特性的模糊。

详细解析(节选)

【考点】整数运算与比较|运算符优先级|整数除法与取模

【考纲定位】GESP 六级 C++ 编程必考‘基础运算与表达’模块。命题人把这道题塞进来,就是卡住那些会背‘取模判断倍数’但不懂整数除法截断特性的考生——六级不再考浮点,专攻整除陷阱。

【解题思维】目标函数是 a = 3×b。四个选项本质是四种不同表达:右移代表 a=8×b,取模代表 a≡b(mod 3),整除代表 a≥3×b,乘法代表 a=3×b。逐一验证:A 把 3 倍错当成 8 倍;B 只保证 a-b 能被 3 整除,例如 a=4,b=1 时成立但 a≠3b;C 整除会截断小数,a=10,b=3 时 a/b=3 却 a≠3b;D 直接构造 3×b 并与 a 比较,完全等价。

【陷阱拆解】A 利用‘位运算看起像除’的直觉,实际是除 8;B 偷换概念,把‘差是 3 的倍数’当成‘a 是 b 的 3 倍’,这是六级最爱用模运算设坑;C 是整数除法陷阱,若 a 不是 b 的整数倍,a/b 会向下取整,导致误判。最阴险的是 B 和 C 都只在部分满足 a=3b 的情形返回真,而 D 对所有整数对都严格等价。

【反命题思维】若把题干改成‘a 是 b 的 8 倍’,答案立刻变 A;若改成‘a 是 b 的整数倍’,则 a%b==0 才是对的。记住:要求精确倍数关系,用乘法或除后取模余 0 都不行,必须 a==n×b 或 a%n==0 且 a≥n×b 同时成立。

【考频与趋势】该考点在题库共考过 1295 题,覆盖 11 个考试级别(2008-2026);逐年分布:2008年1题、2011年1题、2019年3题、2023年287题、2024年413题、2025年401题、2026年109题、null年80题;分赛事:GESP 一级332题、GESP 二级283题、GESP 三级215题、GESP 四级186题、GESP 七级91题、GESP 八级79题、GESP 六级78题、GESP 五级23题、CSP 提高级3题、CSP 入门级3题、NOIP 提高组 初赛2题。从数据看,近四年(2023-2026)该考点考频极高,2023年突然爆发287题,2024年413题,2025年401题,说明命题组在持续强化基础运算的考察密度,且六级作为核心级别,其78题的占比稳定在总考频的6%左右,属于高频必考点。

【预测】基于给定数据与经验,未来 GESP 六级仍会保持对‘整数运算与比较’的高频考察,尤其喜欢在‘倍数关系’‘整除陷阱’‘位运算误读’等角度挖坑,可能继续以单选题形式出现,难度与考频不会明显下降,考生需熟练掌握乘法、除法、取模、位运算的本质区别与反例验证方法。暂无足够依据预测具体年份或题型变化。

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