​算术表达式a+(b-c)*d的后缀式是

算术表达式a+(b-c)*d的后缀式是 _____ (+、-、*表示算术的加、减、乘运算,运算符的优先级和结合性遵循惯例)。
A.b c-d×a +
B.a b c-d×+
C.a b十c-d×
D.a b c d-×+

abc-d*+。

表达式计算,它使得高级语言程序员可以使用与数学形式相一致的方式书写表达式,如a*b+c/d-c(x+y)。计算机科学计算语言FORTRAN就因Formula Translator(公式翻译家)而得名。

后缀表达式的特点如下:

1、后缀表达式的操作数与中缀表达式的操作数先后次序相同,而运算符的先后次序不同。

2、后缀表达式中没有括号,而且运算符没有优先级

3、后缀表达式计算过程严格按照从左到右的顺序进行。

扩展资料:

求后缀表达式的值

由于后缀表达式不需考虑运算符的优先级,因此计算较简单。计算过程为:从左到右依次扫描后缀表达式,遇到运算符,则与运算符前边连续两个操作数做运算。

由于遇到操作数时,不能立即进行计算,因此设立一个栈(操作数栈),用于存放操作数。具体运算过程如下:

1、从左到右依次扫捕后缀表达式,每次取出一个字符。

2、若字符是操作数,则入栈。

3、若字符是运算符,则连续出栈两个操作数,计算它们的值,然后把运算结果入栈。

4、重复步骤1~3,直至表达式结束,栈中最后一个元素即是后缀表达式的值。

参考资料来源:百度百科-表达式计算

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

答案选B,做法是这样的,首先要把算术表达式转换成树的型式,转换的方法就是根据算法的先后顺序来转换,其实也就是使得树的中序表达式跟算术表达式是一样的,转换的结果就是:

所以这课树的后序表达式就是abc-d*+,也就是B

本回答被提问者采纳
第2个回答  2019-05-24
选A ,先b-c,记作bc-, 再*d,记作 bc-d* , 再+a,记作bc-d*a+
第3个回答  2020-04-04
个人觉得A和B都对,但是完全按照电脑的执行过程来的化就是选B更合适
第4个回答  2021-09-03
结果不应该是 abc-+d* 吗?
相似回答