一、表达式转换
1、前缀表达式又称前缀记法或者波兰式,它的运算符位于操作数之前,便于机器查看。例如:+ 3 4 (3+4)
2、中缀表达式是最常用的一种表达式,它的运算符位于操作数中间,便于人为观察或操作。例如:3 + 4 (3+4)
3、后缀表达式又称逆波兰式,它的运算符位于操作数之后。例如:3 4 + (3+4)
4、中缀到后缀表达式的转换: 例如:X = A+ B * ( C - D ) / E
(1)先判断优先级,搞清楚运算顺序,在所有运算符左右都加上小括号。
a、( C - D )
b、( B * ( C - D ))
c、(( B *( C - D )) / E)
d、( A + (( B * ( C - D )) / E))
e、( X =( A +(( B *( C - D )) / E)))
(2)移动运算符:将所有的运算符都放在它相对应的小括号后面。
a、( C D ) -
b、( B ( C D ) -) *
c、(( B( C D ) -) * E) /
d、( A (( B( C D ) -) * E) / ) +
e、( X ( A (( B( C D ) -) * E) / ) + ) =
(3)去掉小括号将操作数和运算符依次写出来。
所求后缀表达式为: X A B C D - * E / + =
5、中缀到前缀表达式的转换: 例如:X = A+ B * ( C - D ) / E
(1)先判断优先级,搞清楚运算顺序,在所有运算符左右都加上小括号。 (和后缀转换一样的方法)
a、( C - D )
b、( B * ( C - D ))
c、(( B *( C - D )) / E)
d、( A + (( B * ( C - D )) / E))
e、( X =( A +(( B *( C - D )) / E)))
(2)移动运算符:将所有的运算符都放在它相对应的小括号前面。
a、 - ( C D )
b、 * ( B - ( C D )
c、 / ( *( B -( C D )) E)
d、 + ( A / ( *( B -( C D )) E))
e、= ( X +( A ( /( *( B -( C D )) E)))
(3)去掉小括号将操作数和运算符依次写出来。
所求前缀表达式为: = X + A / * B - C D E
注意:运算符优先级的判断
运算符的移动