ab+cde/*
abcde/+*+
abcde/*++
abcde*/++
第1题:
●算术表达式(a-b)*c+d的后缀式是(13) (-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
(13)A.abcd-*+
B.ab-cd*+
C.ab-c*d+
D.ab c-d*+
第2题:
算术表达式a+b*(c+d/e)可转换为后缀表达式( )。
A.abcde*/++
B.abcde/+*+
C.abcde*+/+
D.abcde/*++
第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
第5题:
算术表达式”(a-b)*(c+d)”的后缀是( ) 。
A.ab-cd+* B.abcd-*+ C.ab-*cd+ D.ab-c+d*
第6题:
可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(33);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,(34)。这两种情况都表明所检查的算术表达式括号不匹配。
A.栈为空却要进行出栈操作
B.栈已满却要进行入栈操作
C.表达式处理已结束,栈中仍留有字符“(”
D.表达式处理已结束,栈中仍留有字符“)”
第7题:
表达式可采用后缀形式表示,例如,“a+b”的后缀式为“ab+”.那么,表达式“a*(b-c)+d”的后缀式表示为( )。
A.abc-*d+B.Abcd*-+C.abcd-*+D.ab-c*d+
第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
第9题:
算术表达式“(a-b)*(C+d)”的后缀式是 (21) 。
A.ab-cd+*
B.abcd-*+
C.ab-*Cd+
D.ab-c+d*
第10题: