关于算数表达式

在对表达式进行处理时,我们通常的表达式都是中缀表达式,例如3+4 * 2,但是这种表达式仅对我们适合,对电脑更适合其他的方法,在编译系统中,对表达式的处理采用的是另一种方法,即将中缀表达式转变为后缀表达式,然后对后缀表达式进行处理,后缀表达式也成为“逆波兰式”,同样的,还有前缀表达式。

中缀表达式转化为其他两种:

1.中缀表达式转换为前缀表达式,就以3+4 * 2来说,可以先判断+号与*号的优先级,对他们加上括号

第一步: 3 + (4 * 2)
第二步: (3 + (4 * 2))

然后将他们的运算符一一提出

第三步: (3 + *4 2)
第四步: + 3 * 4 2

2.中缀表达式转化为后缀表达式,继续以3+4 * 2举例子,跟中转后相同,还是先将他们一步步括起来,只不过这次运算符是往后放的

第一步: (3 + (4 * 2))
第二步:( 3 + 4 2 *)
第三步: 3 4 2 * +

例题:
1.x+a*(y-b)-c/d,将其转化为前后缀表达式
*还是一样,先将他用括号括起来

第一步: x + (a * (y - b))- c / d
第二步: ( x + ( a * (y - b ))) - c / d
第三步: (( x + (a * (y - b))) - c / d)
然后就是提取运算符了
答案为:前缀- + x * a - y b / c d
后缀x a y b - * + c d / -

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值