后缀表达式 6 2 3 + - 3 8 2 / + * 2 ^ 3 + 对应的中缀表达式是
这题核心就是把后缀表达式转回中缀,脑子里先画个栈:数字直接压栈,遇到运算符就弹两个数算完再压回去。关键是减法和除法要倒着弹,先弹的是右操作数,别搞反了。
最容易栽跟头的就是减法除法,学生往往把先弹出的当成左操作数,导致6-(2+3)算成(6-2)+3,或者8/2算成2/8,结果全错。还有幂运算优先级,很多人会忽略括号把整个乘法结果当底数,其实只有(3+8/2)是底数。
后缀表达式(逆波兰)转中缀,本质就是模拟栈的运算过程。这题考的是对栈操作顺序的肌肉记忆,尤其是二元运算符(减、除、幂)的左右操作数取出顺序。
后缀表达式不需要括号,因为顺序本身规定了运算优先级。命题人最喜欢在这里挖坑: 1. 左右颠倒:遇到运算符时,栈顶是右操作数,次顶是左操作数。学生常下意识按从左到右读,把右操作数当左数用了。 2. 优先级陷阱:^ 是幂运算,优先级最高,但写在后面时,它只管紧挨着的前两个数,不会自动吞掉更前面的运算结果,除非前面已经形成了整体。