算术表达式a+b*(c+d/e)转为后缀表达式后为()。

题目
单选题
算术表达式a+b*(c+d/e)转为后缀表达式后为()。
A

ab+cde/*

B

abcde/+*+

C

abcde/*++

D

abcde*/++

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

●算术表达式(a-b)*c+d的后缀式是(13) (-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

(13)A.abcd-*+

B.ab-cd*+

C.ab-c*d+

D.ab c-d*+


正确答案:C

第2题:

算术表达式a+b*(c+d/e)可转换为后缀表达式( )。

A.abcde*/++

B.abcde/+*+

C.abcde*+/+

D.abcde/*++


正确答案:B
解析:后缀表达式即逆波兰式。逆波兰式是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ah+,所以也称为后缀式。这种表示法的优点是根据运算对象和运算符的出现次序进行计算,不需要使用括号,也便于实现求值。

第3题:

● 算术表达式a+b*(c+d/e)可转换为后缀表达式 (35) 。

(35)A. abcde*/++ B. abcde/+*+ C. abcde*+/+ D. abcde/*++


答案:B、abcde/+*+ 画一个运算树 先算的d/e根为"/",子结点为d,e 然后算c+d/e,根为“+”,左右子结点为e和上面的子树 b*(c+d/e)根为"*",作子树为b,右子树为(c+d/e)的树 最后a为右结点,"+"为根,左子树为刚才得到的树。 该树后序遍历即得。

 

第4题:

●后缀表达式“ab+cd-*”与表达式(31)对应。

(31)A.(a+b)*(c-d)

B.a+b*c-d

C.a+b*(c-d)

D.(a+b)*c-d


正确答案:A

第5题:

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

A.ab-cd+* B.abcd-*+ C.ab-*cd+ D.ab-c+d*


正确答案:A

第6题:

可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(33);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,(34)。这两种情况都表明所检查的算术表达式括号不匹配。

A.栈为空却要进行出栈操作

B.栈已满却要进行入栈操作

C.表达式处理已结束,栈中仍留有字符“(”

D.表达式处理已结束,栈中仍留有字符“)”


正确答案:A
解析:对算术表达式(a+b*(a+b))/c)+(a+b)进行括号检查时,栈操作的顺序为:
         入栈,入栈,出栈,出栈,出栈,……
  当需要进行第三次出栈操作时,发现栈已空,已不可能完成出栈操作。
  对算术表达式((a+b/(a+b)-c/a)/b进行括号检查时,栈操作的顺序为:
          入栈,入栈,入栈,出栈,出栈
  第1次出栈操作取出的是第3次刚入栈的“(”,第2次出栈操作取出的是第2次入栈的“(”。直到表达式检查结束,第1次入栈的“(”仍没有取出,因此,表达式中的括号并不匹配。
  本例是栈的重要应用之例。编译程序中常用栈来检查语句(或程序)中的括号是否匹配。
  在日常生活中,当人们进入一个复杂的大院时,需要多次进门,多次出门。每次出门,总是退出最近进门的院。在同一位置堆积货物时,总是先取最近刚放上的货。所以,栈的应用也是比较常见的。可以用这种日常生活中的例子来形象地理解栈的操作。

第7题:

表达式可采用后缀形式表示,例如,“a+b”的后缀式为“ab+”.那么,表达式“a*(b-c)+d”的后缀式表示为( )。

A.abc-*d+B.Abcd*-+C.abcd-*+D.ab-c*d+


正确答案:A

第8题:

已知一算术表达式的中缀形式为A+B*C–D/E,后缀形式为ABC*+DE/–,其前缀形式为()。

A.–A+B*C/DE

B.–A+B*CD/E

C.–+*ABC/DE

D.–+A*BC/DE


正确答案:D

第9题:

算术表达式“(a-b)*(C+d)”的后缀式是 (21) 。

A.ab-cd+*

B.abcd-*+

C.ab-*Cd+

D.ab-c+d*


正确答案:A
本题考查程序语言基础知识。后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如把a+b写成ab+,所以也称为后缀式。算术表达式“(a-b)*(c+d)”的后缀式是“ab-cd+*。

第10题:

算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b*(c+d)的后缀式为( )。

A.队列
B.数组
C.栈
D.广义表

答案:C
解析:
计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*(120-37)”的后缀表达式形式为 “46 5 120 37 - * +”。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。