鱼C论坛

 找回密码
 立即注册
查看: 423|回复: 1

[已解决]表达式问题

[复制链接]
发表于 2023-6-15 19:29:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前缀表达式,中缀表达式,和后缀表达式分别是什么,能举个例子说明吗
最佳答案
2023-6-15 19:31:34
前缀表达式、中缀表达式和后缀表达式都是用来描述和表示算数表达式的方法。这三种表示法之间的主要区别在于运算符的位置。

1. 前缀表达式(Prefix notation):也被称为波兰记法,运算符位于其操作数之前。例如,前缀表达式"+ A B"等价于中缀表达式"A + B"。

2. 中缀表达式(Infix notation):这是我们最常见的表示法,运算符位于两个操作数之间。例如,"A + B"。

3. 后缀表达式(Postfix notation):也被称为逆波兰记法,运算符位于其操作数之后。例如,后缀表达式"A B +"等价于中缀表达式"A + B"。

这三种表示法的一个主要区别是,前缀和后缀表示法不需要使用括号来指示运算的优先级,因为它们的优先级是由它们的位置来决定的。

让我们用一个复杂的表达式做为例子来说明这一点。假设我们有中缀表达式"A - B * C + D"。

· 在前缀表示法中,这个表达式将被表示为"+ - A * B C D"。首先,“- A * B C”表示“A - (B * C)”,然后我们将结果与D相加。

· 在后缀表示法中,这个表达式将被表示为"A B C * - D +"。首先,“B C *”表示“B * C”,然后我们从A中减去结果,最后我们将结果与D相加。

可以看到,前缀和后缀表示法不需要括号就可以明确地表示出运算的优先级。而在中缀表达式中,我们需要使用括号来明确指示" B * C"应该先于"A - …"和"… + D"执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-15 19:31:34 | 显示全部楼层    本楼为最佳答案   
前缀表达式、中缀表达式和后缀表达式都是用来描述和表示算数表达式的方法。这三种表示法之间的主要区别在于运算符的位置。

1. 前缀表达式(Prefix notation):也被称为波兰记法,运算符位于其操作数之前。例如,前缀表达式"+ A B"等价于中缀表达式"A + B"。

2. 中缀表达式(Infix notation):这是我们最常见的表示法,运算符位于两个操作数之间。例如,"A + B"。

3. 后缀表达式(Postfix notation):也被称为逆波兰记法,运算符位于其操作数之后。例如,后缀表达式"A B +"等价于中缀表达式"A + B"。

这三种表示法的一个主要区别是,前缀和后缀表示法不需要使用括号来指示运算的优先级,因为它们的优先级是由它们的位置来决定的。

让我们用一个复杂的表达式做为例子来说明这一点。假设我们有中缀表达式"A - B * C + D"。

· 在前缀表示法中,这个表达式将被表示为"+ - A * B C D"。首先,“- A * B C”表示“A - (B * C)”,然后我们将结果与D相加。

· 在后缀表示法中,这个表达式将被表示为"A B C * - D +"。首先,“B C *”表示“B * C”,然后我们从A中减去结果,最后我们将结果与D相加。

可以看到,前缀和后缀表示法不需要括号就可以明确地表示出运算的优先级。而在中缀表达式中,我们需要使用括号来明确指示" B * C"应该先于"A - …"和"… + D"执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 02:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表