CSP-J 入门级 · CSP 2022 入门级第一轮 第 6 题

选择题 · 答案 B · 考点:栈(stack)、运算符与表达式

← 整套速查表 CSP-J 入门级 全部真题

题目

对表达式 a+(b-c)*d 的前缀表达式为( ),其中 +、-、* 是运算符。

答案:B

考点

栈(stack) 讲解 →栈(stack) 真题汇总 →运算符与表达式

解题思维

这道题考的是前缀表达式(波兰式)的转换,核心就是记住‘从右向左看,优先级高的先出’,遇到括号就按相反顺序处理。拿到题先别急着写,脑子里把原式拆开:先算括号里的减法,再乘,最后加。把操作数按逆序排好,再把运算符按优先级从后往前塞进去,就能快速锁定答案 B。

常见错误

很多学生一上来就习惯从左往右读,把 a+(b-c)*d 直接当成 a 先加谁,结果写成 A 选项那种把加号放最前的错误形式。另外容易忽略括号对优先级的影响,把 (b-c) 当成 b 和 c 独立处理,漏掉减号。还有人会混淆前缀和后缀的顺序,把后缀的‘操作数 - 操作数 运算符’直接倒过来,却忘了括号里的运算顺序在转换时要翻转,导致算出 C 或 D 这种完全不对的排列。记住,前缀里运算符永远在操作数前面,但整个表达式的逻辑顺序是逆序构建的。

详细解析(节选)

考点定位:本题考查的是数据结构中‘栈’的应用——中缀表达式转前缀表达式(波兰式)。这是 CSP 入门级的高频考点,也是后续处理表达式求值、编译器语法树的基础。命题人喜欢在这里挖两个坑:一是学生惯性思维从左到右读,导致运算符顺序全错;二是忽略括号在转换时的‘反向作用’,把 (b-c) 当成普通操作数处理。

概念拆解:前缀表达式的定义很简单——运算符写在操作数前面。比如加法 a+b 变成 +ab。但怎么从人话的中缀(a+(b-c)*d)变成机器能懂的前缀呢?核心心法是‘逆序扫描,优先级高先出’。想象你站在表达式的最右边,往左看:数字直接记下来,遇到运算符,先把栈里比它优先级高的‘弹’出来(因为它们在后缀里本来就该在前),再把当前运算符压栈。遇到左括号就压栈,遇到右括号就把栈里一直弹到左括号为止(注意方向反了,是从栈顶弹到左括号)。最后栈里剩下的就是整个式子的运算符序列,再把之前记下的数字按顺序拼回去。

逐步推导:原式 a+(b-c)*d。 1. 从右向左扫:先看到 d,记下来 → d。 2. 看到 *,栈空,直接压 → *。 3. 看到 ),弹出直到左括号:弹出 * → *。遇到左括号,压栈 → ( 4. 看到 -,栈顶是左括号,直接压 → -。 5. 看到 c,记下来 → c。 6. 看到 b,记下来 → b。 7. 看到 ),弹出直到左括号:弹出 - → - b c。遇到左括号,压栈 → ( 8. 看到 +,栈顶是左括号,直接压 → +。 9. 看到 a,记下来 → a。 10. 扫完了,弹出栈里剩下的 + → + a - b c。

把数字按顺序放回:+ a * - b c d → +a*-bcd,正好是选项 B。

验证计算:前缀表达式是‘先找两个操作数,再执行运算符’。从右往左读 +a*-bcd:遇到 d 和 c 和 b 都是数字,先存着;遇到 -,把最近的两个数字 b 和 c 拿出来算 b-c,结果存回;接着遇到 *,把刚才的 (b-c) 和 d 拿出来算 (b-c)*d;最后遇到 +,把 a 和 (b-c)*d 拿出来算 a+(b-c)*d。完全吻合。

易错复盘:如果从左往右读,你会先看到 a 和 +,以为要先加 a,结果把 + 放最前,变成 A 选项;或者把括号里的 (b-c) 当成独立块,忽略减号,变成 C 或 D。记住,前缀表达式里运算符永远在操作数前面,但整个表达式的逻辑顺序是逆序构建的。

考频与趋势:从题库数据看,‘运算符与表达式’是 CSP 系列最稳定的考点之一,261 题覆盖 9 个级别,其中 2025 年暴增至 61 题,2024 年 41 题,2023 年 91 题,说明这类题在近年已成为‘必考项’,尤其是入门级和普及组初赛。‘栈’作为底层工具,89 题分布均匀,2024 年 25 题、2025 年 15 题,显示栈的考查频率在回升,且常与表达式转换捆绑出现。GESP 一级、二级、三级中也有大量相关题目,说明从小学到初中阶段的竞赛体系里,表达式转换都是基础中的基础。

预测:基于 2025 年‘运算符与表达式’激增 61 题、2024 年 41 题的趋势,以及 GESP 各级别中此类题目的持续存在,未来 1-2 年内,前缀/后缀表达式转换、运算符优先级判断、以及结合栈的简单表达式求值,极大概率会成为 CSP 入门级、普及组初赛以及 GESP 一、二、三级的‘高频送分题’。命题人可能会继续用‘逆序扫描’或‘括号反向处理’作为陷阱,也可能把题目包装成‘给定前缀表达式求值’或‘判断两个表达式是否等价’的形式,但核心考点不会变。暂无足够依据预测具体题型变化,但建议学生务必熟练掌握中缀转前缀/后缀的‘逆序扫描’心法,这是应对未来所有相关题目的万能钥匙。

同考点真题

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