题2

题目

表达式 a * (b + c) - d 的后缀表达式是 ( ).
A. abcd***+-
B. abc+*d-
C. abc*+d-
D. -+*abcd

分析

B
后缀表达式中,每个计算符号均直接位于其两个操作数的后面,按照这样的方式逐步根据计算的优先级将每个计算式进行变换,即可得到后缀表达式。
另解:将两个直接操作数用括号括起来,再将操作符提到括号后,最后去掉括号。例如,对于
提出操作符并去掉括号后,可得后缀表达式为
学完第5章后,可将表达式面成二叉树的形式,再用后序遍历即可求得后缀表达式。