问题
单项选择题
算术表达式采用逆波兰式表示时不用括号,可以利用 (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+”。