在对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照【 】进行。
A.用于测试两个表达式彼此不相等的条件的运算符
B.用于测试一个表达式是否不大于另一个表达式的运算符
C.用于测试一个表达式是否小于或等于另一个表达式的运算符
D.用于测试一个表达式是否大于另一个表达式的运算符
算法分析:表达式求值是程序设计语言编译中的一个最基本的问题。它的实现方法是栈的一个典型的应用实例。在计算机中,任何一个表达式都是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。其中操作数可以是常数,也可以是变量或常量的标识符;运算符可以是算术运算符、关系运算符和逻辑运算符;界限符为左右括号和标识表达式结束的结束符。
后缀表达式 Description 为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为后缀{运算符在后,如X/Y写为XY/表达式。在这样的表示中可以不用括号即可确定求值的顺序,如:(P+Q)*(R-S) → PQ+RS-*。后缀表达式的处理过程如下:扫描后缀表达式,凡遇操作数则将之压进堆栈,遇运算符则从堆栈中弹出两个操作数进行该运算,将运算结果压栈,然后继续扫描,直到后缀表达式被扫描完毕为止,此时栈底元素即为该后缀表达式的值。 输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。为简单起见,假设输入的中缀表达式由+(加)、-(减)、×(乘)、/(除)四个运算符号以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。假设输入的中缀表达式长度不超过200个字符,且都是正确的,即没有语法错误,并且凡出现括号其内部一定有表达式,即内部至少有一个运算符号。 Input 若干行,每行对应一个中缀表达式 Output 若干行,每行对应一个由中缀表达式转换而来的后缀表达式 Sample Input X+A*(Y-B)-Z/F A+B*C+(D*M-N)+(S-T)*Y A-B*C+(D-E*F)/G Sample Output XAYB-*+ZF/- ABC*+DM*N-+ST-Y*+
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!