问题
单项选择题
后缀式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。