参考答案和解析
参考答案:B
逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左到右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈顶暂存起来;每遇到一个二元(或一元)运算符时,就取出栈顶的两个(或一个)运算对象进行相应的运算,并用运算结果去替换栈顶的这两(或一)个运算对象,然后再继续扫视余留的符号,如此等等,直到扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。a-b+c*d对应的逆波兰式为ab-cd*+。(a-b)*c+d对应的逆波兰式为ab-c*d+。(a-b)*(c+d)对应的逆波兰式为ab-cd+*。a-b*c+d对应的逆波兰式为abc*-d+。
更多“算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择() ”相关问题
  • 第1题:

    ●算术表达式采用逆波兰式表示时不用括号,可以利用(20)进行求值。与逆波

    兰式ab-cd+*对应的中缀表达式是 (21) 。

    (20)

    A.数组

    B.栈

    C.队列

    D.散列表

    (21)

    A. a-b+c*d

    B.(a-b)*c+d

    C.(a-b)*(c+d)

    D. a-b*c+d


    正确答案:B,C

  • 第2题:

    与逆波兰式ab+-c*d-对应的中缀表达式是______。

    A.a-b-c*d

    B.-(a+b)*c-d

    C.-a+b*c-d

    D.(a+b)*(-c-d)


    正确答案:B
    解析:逆波兰式把运算符写在运算对象的后面,所以也称为后缀式。这种表示法的优点是根据运算对象和运算符的出现次序进行计算,不需要使用括号。用栈结构实现后缀式的计算是很方便的,一般的方法是:自左至右扫描后缀式,遇到运算对象时就将其压入栈中,遇到k元运算符时就从栈中弹出k项进行运算,并将结果压入栈中,当表达式被扫描完时,栈顶元素就是表达式的运算结果。

  • 第3题:

    表达式采用逆波兰式表示时,利用( )进行求值。

    A.栈
    B.队列
    C.符号表
    D.散列表

    答案:A
    解析:

  • 第4题:

    逆波兰式的特点是:表示时可以不用括号,而且可以用基于(106)的求值过程进行计算。与逆波兰式ab-cd+*对应的中缀表达式是(107)。

    A.栈

    B.队列

    C.符号表

    D.散列表


    正确答案:A

  • 第5题:

    表达式采用逆波兰式表示时,利用______进行求值。

    A.栈
    B.队列
    C.符号表
    D.散列表

    答案:A
    解析:
    本题考查程序语言基础知识。后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。借助栈可以方便地对后缀式进行求值。方法为:先创建一个初始为空的栈,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。若表达式无错误,则最后的运算结果就存放在栈顶并且是栈中唯一的元素。