算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b*(c+d)的后缀式为 (请作答此空)。
- A.a b c d-*+
- B.a b c d*+-
- C.a b-c*d+
- D.a b c d+*-
正确答案及解析
正确答案
D
解析
本题考查编译原理基础知识。
计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式"46+5*(120-37)"的后缀表达式形式为"46 5 120 37-*+"。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。
表达式"a-b*(b+d)"的后缀表达式形式为"abcd+*-。




