问题 单项选择题

算术表达式采用逆波兰式表示时不用括号,可以利用 (1) 进行求值。与逆波兰式ab-cd+*对应的中缀表达式是 (2)

(2)处填()。

A.a-b+c*d

B.(a-b)*c+d

C.(a-b)*(c+d)

D.a-b*c+d

答案

参考答案:C

解析:

[分析]: 本题考查程序语言的基础知识。

逆波兰式(reverse polish notation,也叫后缀表达式)是将运算符写在操作数之后的表达式表示方法。对逆波兰式进行求值的方法是:从左至右扫描表达式,遇到操作数则压栈,遇到运算符号则从栈中弹出操作数进行运算,然后将运算结果压入栈中,重复该过程直到表达式结束,最后的结果为栈顶元素。由于控制上比较简单,所以逆波兰式更便于计算。

表达式“a-b+c*d”的后缀式为“ab-cd*+”。

表达式“(a-b)*c+d”的后缀式为“ab-c*d+”。

表达式“(a-b)*(c+d)”的后缀式为“ab-cd+*

表达式“a-b*c+d”的后缀式为“abc*-d+”。

填空题
单项选择题