niusouti.com

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为(请作答此空)。

题目
算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为(请作答此空)。



相似考题
更多“算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为(请作答此空)。 ”相关问题
  • 第1题:

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

    A.bc-d*a+

    B.abc-d* +

    C.ab + c- d*

    D.abcd-* +


    正确答案:B
    后缀表达式:又称逆波兰式表示方法:以从左到右的顺序先写操作数,后写操作符,如果操作数本身是一个具有操作数据的操作,则对其施用同样的规则。如:(a+b)*(a-b)后缀表达式为:ab+ab-*具体转换方法:(仅供参考)第一步:按照运算符的优先级对所有的运算单位加括号:式子变成:(a+((b-c)*d))第二步:把运算符号移动到对应的括号后面:(a((bc)-d)*)+第三步:去掉括号:abc-d*+

  • 第2题:

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

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


    正确答案:A

  • 第3题:

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

    A. a b c d- * +
    B. a b c d * + -
    C. a b – c * d +
    D. a b c d + * -

    答案:D
    解析:
    表达式“a-b*(b+d)”的后缀表达式形式为 “abcd + * -。一种比较简便的方法:a-b*(c+d),看计算的先后顺序,先是c+d,转化的时候将操作数放前面,然后再是运算符放后面,注意操作数的前后顺序保持不变,所以是cd+。然后b*(c+d),同样,操作数放前面,运算符放后面,所以是bcd+*。最后是a-b*(c+d),操作数放前面,运算符放后面,最后就是abcd+*-。

  • 第4题:

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

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

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

  • 第5题:

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

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

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

  • 第6题:

    表达式()的结构可用下面的二叉树表示(其中*、-、+表示算术运算的乘、减、加)

    A.a-(b+c*d)
    B.a-(b+c)*d
    C.a-(b*c+d)
    D.a-(b*(c+d))

    答案:C
    解析:
    题干说明是表示加减乘除的算数运算,因此采用二叉树的中缀表示方式,即左根右的方式遍历二叉树。

  • 第7题:

    算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为( )。

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

    答案:C
    解析:

  • 第8题:

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

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

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

  • 第9题:

    某算术表达式用二叉树表示如下,该算术表达式的中缀式为( ),其后缀式为(请作答此空)。

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

    答案:A
    解析:
    前序遍历:先访问根结点,再依次按前序遍历的方式访问根结点的左子树、右子树中序遍历:先中序遍历根结点的左子树,再访问根结点,再中序遍历根结点的右子树后序遍历:先中序遍历根结点的左子树,再中序遍历根结点的右子树,再访问根结点二叉树采用中序遍历得中缀表达式,采用后序遍历得后缀表达式

  • 第10题:

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

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

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

  • 第11题:

    算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(2)处应选择()

    • A、a-b+c*d
    • B、(a-b)*c+d
    • C、(a-b)*(c+d)
    • D、a-b*c+d

    正确答案:C

  • 第12题:

    单选题
    算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(2)处应选择()
    A

    a-b+c*d

    B

    (a-b)*c+d

    C

    (a-b)*(c+d)

    D

    a-b*c+d


    正确答案: D
    解析: 逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左到右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈顶暂存起来;每遇到一个二元(或一元)运算符时,就取出栈顶的两个(或一个)运算对象进行相应的运算,并用运算结果去替换栈顶的这两(或一)个运算对象,然后再继续扫视余留的符号,如此等等,直到扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。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+。

  • 第13题:

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

    A.bc–d*a+

    B.abc–d*+

    C.ab+c–d*

    D.abcd–*+


    本题答案:C

  • 第14题:

    若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为( ), 其后缀式为(请作答此空)。

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

    答案:A
    解析:
    中缀式的表达式接近人们进行数学计算使用的表达式,因此30题选择C。后缀式是采用左、右、根的方式进行遍历。

  • 第15题:

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

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

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

  • 第16题:

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

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

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

  • 第17题:

    若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为(请作答此空), 其后缀式为( )。

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

    答案:C
    解析:
    中缀式的表达式接近人们进行数学计算使用的表达式,因此30题选择C。后缀式是采用左、右、根的方式进行遍历。

  • 第18题:

    算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为(请作答此空),与该表达式等价的语法树为( )。

    A.a b c d-*+
    B.a b c d*+-
    C.ab-c*d+
    D.a b c d+*-

    答案:D
    解析:

  • 第19题:

    某算术表达式用二叉树表示如下,该算术表达式的中缀式为(请作答此空),其后缀式为( )。

    A.a-b+c*d
    B.a-(b+c)*d
    C.(a-(b+c))*d
    D.a-(b+c*d)

    答案:C
    解析:
    前序遍历:先访问根结点,再依次按前序遍历的方式访问根结点的左子树、右子树中序遍历:先中序遍历根结点的左子树,再访问根结点,再中序遍历根结点的右子树后序遍历:先中序遍历根结点的左子树,再中序遍历根结点的右子树,再访问根结点二叉树采用中序遍历得中缀表达式,采用后序遍历得后缀表达式

  • 第20题:

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

    A.a b c d-*+
    B.a b c d*+-
    C.a b-c*d+
    D.a b c d+*-

    答案:D
    解析:
    本题考查编译原理基础知识。
    计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式"46+5*(120-37)"的后缀表达式形式为"46 5 120 37-*+"。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。
    表达式"a-b*(b+d)"的后缀表达式形式为"abcd+*-。

  • 第21题:

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

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

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

  • 第22题:

    对于后缀表达式 a b c - + d *(其中,-、+、*表示二元算术运算减、加、乘),与该后缀式等价的语法树为( )。


    答案:B
    解析:
    后续遍历是采用左-右-根的方式进行遍历,只有选项B符合题干要求。

  • 第23题:

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

    • A、bc–d*a+ 
    • B、abc–d*+ 
    • C、ab–c*d+
    • D、abcd–*+

    正确答案:C