`

三种表达式

 
阅读更多

 

表达式:主要由操作数、操作符组成。

 

 

中缀表达式:操作符在两个操作数之间的表达式
      如:a/(b-c)+d*e
前缀表达式:操作符放在两个操作数之前的表达式 从后往前求值
      如:+/a-bc*de
后缀表达式:操作符放在两个操作数之后的表达式(逆波兰表达式)从前往后求值
      如:abc-/de*+

非中缀表达式的求值过程,一定要看明白是前缀还是后缀。具体的过程始终都是先找到操作符,然后反向去找最近的操作数,进行合并求值。

后缀表达式中无括号,求值时无需考虑操作符的优先级,计算简便,故编译程序中常用。对中缀表达式求值的过程为:
(1)中缀表达式->后缀表达式
(2)对后缀表达式求值





后缀表达式求值:
 (1)从左往右顺序扫描后缀表达式;
 (2)遇到操作数就进栈;
 (3)遇到操作符就从栈中弹出两个操作数,并执行该操作符规定的运算;并将结果进栈;
 (4)重复上述操作,直到表达式结束。弹出栈顶元素即为结果。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics