计算表达式的值知识点


本节概述 本节知识点 本节总结

三、计算表达式的值

栈的应用范围很广,我们可以使用下推表(栈)自动进行复杂的算术表达式的递归求值。在这里,以中缀表达式和后缀表达式求值为例,介绍栈的用途。
    中缀表达的算术表达式的计算次序
    (1)先执行括号内的计算,后执行括号外的计算。在具有多层括号时,按层次反复地脱括号,左右括号必须配对。
    (2)在无括号或同层括号时,先乘(*) 、除(/),后作加(+)、减(-)。
    (3)在同一个层次,若有多个乘除(*、/)或加减(+,-)的运算,那就按自左至右顺序执行。

    后缀表达式求值
    (1) 循环:依次顺序读用户键入的符号序列,组成并判别语法成分的类别
    1.当遇到的是一个操作数,则压入栈顶;
    2.当遇到的是一个运算符, 就从栈中两次取出栈顶,按照运算符对这两个操作数进行计算。然后将计算结果压入栈顶。
    (2)如此继续,直到遇到符号=, 这时栈顶的值就是输入表达式的值。