GESP 一级 · GESP 一级样题(C++ 组) 第 9 题

选择题 · 答案 C

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

题目

表达式 (3 + 12 / 3 * 2) 的计算结果为( )。

答案:C

解题思维

这道题考运算符优先级和结合性。别急着算,先看括号里谁先谁后,同级运算按从左到右顺序来,一步步推就能得出正确答案。

常见错误

最容易掉进‘乘除同级但右结合’的坑,把 12/3*2 当成 12/(3*2) 算,结果直接选错成 B 选项 5。还有人会把括号外加法提前算,或者完全忽略结合方向只背口诀,导致计算顺序混乱。记住,同级运算必须严格按从左到右的顺序执行,这是很多学生失分的地方。

详细解析(节选)

【考点】运算符优先级与结合性|表达式求值顺序

这题考的是 C++ 表达式求值的核心规则:先括号,再乘除,后加减。但很多人只背了‘先乘除后加减’,却忽略了当乘除‘同级’时,到底是从左到右还是从右到左结合。命题人就是专门挖这个坑,把 12 / 3 * 2 放在括号里,让你以为可以随便算,其实顺序固定是左到右。

拿到题先圈出运算符:括号里有 / 和 *,外面只有 +。同级运算(/ 和 *)优先级一样,C++ 规定结合性是从左到右。所以 12 / 3 * 2 不能先算 3 * 2,必须按顺序: 12 / 3 = 4, 4 * 2 = 8。

括号算完是 8,外面再加 3, 3 + 8 = 11。

这就是正确答案 C。如果你把 / 和 * 当成右结合,就会算成 12 / (3 * 2) = 2,最后 3 + 2 = 5,选成 B,这是典型的‘结合性陷阱’。

这类题的通法:先定位所有运算符层级,同层按结合方向展开,再逐层求值。别急着套公式,先问自己‘同级怎么结合’,就能避开命题人埋的坑。

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