基于栈的表达式求值论文摘要

基于栈的表达式求值论文摘要

问:栈的应用举例:数制转换,表达式求值
  1. 答:关于表达式的分析与求值是计算机软件专业中“编译原理”课程极其重要的部分,主要用于最初的词法分析。其表示方式有:前缀、中缀、后缀表示法。其数据结构可以使用一个堆栈来表示。具体的实现代码,我以前使用的书籍是《C语言大全》,那上面就有完整的、现成的代码,可以供你参考运行。同时你还可以参考《编译原理》相关的教材。
    但是由于我已经很久没有编写编译原理方面的程序了,况且编写并亲自调试通过该程序,难度还是比较大的。所以我也无法亲自给你编写一个完整表达式分析与求值的程序。只能够给你提供一些思路和线索。
    另外,关于不同数制之间的转换问题,这个倒是不难解决,可以采用通常的算法就是短除法,然后将每一次的余数采取“倒排”即可。例如:将十进制的 15 转换为二进制。
    2|15(1
    --
    2|7(1
    -
    2|3(1
    -
    2|1(1
    -
    则十进制的 15 为二进制的:1111。
问:数据结构编写用栈实现表达式求值程序代码 实验报告
  1. 答:设计一个程序,演示用算符优先法对算术表达式求值的过程。利用算符优先关系,实现对算术四则混合运算表达式的求值。
    (1)输入的形式:表达式,例如2*(3+4)
    包含的运算符只能有'+' 、'-' 、'*' 、'/' 、'('、 ')';
    (2)输出的形式:运算结果,例如2*(3+4)=14;
    (3)程序所能达到的功能:对表达式求值并输出
问:C语言用栈实现表达式求值
  1. 答:type sign(char ch1,char ch2)
    {
    int i,j;
    char a[7][7]={
    {'>','>','<','<','<','>','>'},
    {'>','>','<','<','<','>','>'},
    {'>','>','>','>','<','>','>'},
    {'>','>','>','>','<','>','>'},
    {'<','<','<','<','<','=',' '},
    {'>','>','>','>',' ','>','>'},
    {'<','<','<','<','<',' ','='}
    };
    i=alue(ch1);
    j=alue(ch2);//调用函数两次,返回两个函数值
    return a[i][j];
    }
    这个函数的返回问题吧, a[i][j]应该是这里的问题。
    栈和队列的应用,我有写过魔王语言的,应该也是差不多的哈,在我空间:
    自己看下哈~~基本操作差不多的~~
基于栈的表达式求值论文摘要
下载Doc文档

猜你喜欢