BCSP-X · 2024 BCSP-X 上半年活动基础知识测评(小学高年级组) 第 2 题

选择题 · 答案 B

← 整套速查表 BCSP-X 全部真题

题目

中缀表达式 a*(b+c)-d 的后缀形式是( )。

答案:B

解题思维

这题考中缀转后缀(逆波兰式),核心就是栈:先扫左括号进栈,遇到运算符就比栈顶优先级,栈顶优先级高就弹出运算,直到栈顶优先级低或为空再压入当前运算符。

常见错误

学生最容易把运算符优先级搞反,比如以为乘法比加法低,结果把*先算了;或者左括号进栈后没等右括号就急着弹出,导致顺序全乱;还有人会误把后缀式当成前缀式读,从右往左倒着算,完全跑偏。

详细解析(节选)

中缀变后缀:栈的舞蹈

考点:中缀表达式转后缀表达式(逆波兰式),本质是运算符优先级与括号匹配。

人话版概念:

命题人怎么挖坑: 1. 把乘法优先级放低,诱导你先算加法。 2. 左括号进栈后,还没遇到右括号就让你弹出,结果把*提前。 3. 后缀式读反(从右往左),选项 D 就是典型陷阱。

拿到题先想什么→一步步推: 1. 从左到右扫描。 2. 遇到字母(操作数):直接输出。 - 输出:a 3. 遇到 *:栈空,直接压栈。 - 栈:[*] 4. 遇到 (:压栈。 - 栈:[* (] 5. 遇到 b:输出 b。 6. 遇到 +:栈顶是 (,括号内运算符自由压栈。 - 栈:[* ( +] 7. 遇到 c:输出 c。 8. 遇到 ):弹出直到左括号,把 + 弹出输出。 - 输出:abc+ - 栈:[*] 9. 遇到 -:栈顶是 *,优先级 * > -,先弹出 * 输出,再压 -。 - 输出:abc+* - 栈:[-] 10. 遇到 d:输出 d。 11. 表达式结束:弹出栈里剩下的 -。 - 输出:abc+*d-

考频与趋势:

预测:

避坑再提醒:

最终答案:abc+*d-(选项 B)。

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