单选题
表达式a*(b+c) -d的后缀表达式是______。
A.abcd*+-
B.abc+*d-
C.abc*+d-
D.-+*abcd
A
B
C
D
【正确答案】
B
【答案解析】
此题考查的知识点是利用栈完成表达式的中后缀转换。顺序扫描表达式,操作数顺序输出,而运算符的输出顺序根据算术运算符的优先级确定。保证栈外运算符优先级比栈内低,若高则入栈,否则出栈输出。本题中输出顺序为a输出,*进栈,(进栈,b输出,+进栈,c输出,此时)低于+,所以“+”输出。“)”与“(”相等,出栈删除,-低于*,所以*出栈,此时输出序列为abc+*,-入栈,输出d,输出-,结束。所以选B。
提交答案
关闭