GESP 一级 · GESP202609 C++ 一级 第 3 题

选择题 · 答案 A · 考点:运算符优先级

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

题目

下列 C++ 代码执行的输出是(  )。

int a = 4 + -2 * 3;
cout << a;
答案:A

考点

运算符优先级

解题思维

看到混合运算表达式,先写优先级表,乘法高于一元负号,一元负号高于加法,然后按序计算。

常见错误

选项 B 6 误把加法提前,选项 C 18 忽略负号,选项 D 以为语法错误。最阴险的是 -2 这个一元负号。

详细解析(节选)

1. 考纲定位

本题考查《GESP 考试大纲》一级 C++ 中的"运算符优先级"模块。命题人放这道题,就是针对绝大多数学员对 C++ 表达式求值规则(乘法优先于加法,一元负号优先级高于二元加法)理解不深的不确定性,用一道极简的混合运算,直接暴露"看到 -2 就以为是减法"或"加法先算"的常见误区。

2. 解题思维

解题通法:遇到混合运算表达式,先写优先级表,乘法高于一元负号,一元负号高于加法,然后按序计算。本题的表达式 4 + -2 * 3 中,一元负号 - 是最高优先级的运算符之一,所以先计算 -2,得到 -2;再计算乘法 -2 * 3,得到 -6;最后计算加法 4 + (-6),得到 -2。因此输出 -2,对应选项 A。

这类题的通法是"优先级表 + 逐步代入",只要记住乘法、一元负号、加法的优先级顺序,就能快速定位答案。

同考点真题

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