问题 单项选择题

后缀式ab+ cd+/可用表达式 (23) 表示,表达式(a+ b)*c的后缀式表示为 (24)

(24)处填()。

A.ab*c+

B.abc*+

C.ab+ c*

D.abc +*

答案

参考答案:C

解析:

后缀式即逆波兰表示,其最大的优点是易于计算机处理表达式。常用的算法是使用一个栈,自左至右扫描算术表达式(后缀表示),每扫描到运算对象,就把它推进栈;扫描到运算符,若该运算符是二目的,则对栈顶部的两个运算对象实施该运算,并将运算结果代替这两个运算对象而进栈;若是一目运算符,则对栈顶元素执行该运算,并以运算结果代替该元素进栈,最后的结果留在栈顶。

第一空,ab+还原是a+ b,cd+还原是c+ d,最后还有一个/,可以看出是前两个式子的运算符,所以结果是 (a+ b)/(c+ d),选B。第二空,先看a+ b,后缀表达是 ab+,然后再看*c,用相同的规则,结果是sb+ c*,选 C。

操作题
单项选择题