GESP 一级 · GESP 202303 C++ 一级 第 10 题

选择题 · 答案 D

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

题目

如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a *= 3; 之后,a 的值会是()。

答案:D

解题思维

别被乘法符号晃了眼,这道题核心是看复合赋值运算符的语义。拿到题先想:a*=3 到底等价于什么?展开成 a=a*3 代入 6 算一下就完事,千万别把它当成除法或者加法来处理。

常见错误

考生最容易犯的错误是视觉混淆和语义误解。看到 * 号就条件反射选 C(9),那是把 * 看成了 + 号;或者误以为 *= 是 /=(除法),选成 A(3);还有一种情况是根本没理解“赋”字,觉得变量值不变选 B(6)。这些坑都源于对运算符优先级和赋值顺序的模糊,命题人就是利用初学者对符号的直觉反应来挖坑的,必须提醒自己:复合赋值先算右边,再把结果赋给左边。

详细解析(节选)

【考点】复合赋值运算|整数算术运算|运算符语义

1. 考纲定位 本题考查 GESP 一级 C++ 第 3 章“运算符与表达式”中的复合赋值运算符。命题人专门在此处设置运算题,就是要卡住初学者对 *= 语义的混淆——很多考生看到乘法符号就条件反射选 C(9),却忘了 *= 是“乘后赋”而非“乘除混用”。

2. 解题思维 看到整型变量 + 复合赋值 → 立即展开为普通赋值:a = a * 3。代入 a=6 → 6×3=18 → 整数范围无溢出 → 选 D。“展开复合运算符”是通法,以后遇到 +=、-=、/= 同样先还原成基础运算再计算。

3. 陷阱拆解

4. 反命题思维 命题人若把运算符换成 += 3,答案变 C;换成 /= 2 答案变 A;换成 -= 3 答案仍是 A。刷到这类题先问自己:这个符号到底是加法、减法、乘法还是除法?复合赋值不改变运算本质,只改变写法。

5. 考频与趋势 基础语法类题目在题库中占比极大,共考过 1295 题,覆盖 11 个考试级别。从逐年分布看,2023 年考了 287 题,2024 年更是高达 413 题,2025 年也有 401 题,说明这类基础概念题是高频考点,且近年热度持续上升。分赛事来看,GESP 一级考了 332 题,占比最高,说明一级考生最容易在这里丢分。

6. 预测 基于数据,未来 GESP 一级、二级考试中,复合赋值运算符(如 +=、-=、*=、/=)仍将是命题重点,可能会结合更复杂的表达式或变量初始化场景出现。暂无足够依据预测具体年份的题型变化,但建议考生务必熟练掌握复合赋值的展开规则。

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