用优先函数实现对表达式的运.doc

用优先函数实现对表达式的运.doc

ID:56356692

大小:27.00 KB

页数:3页

时间:2020-06-22

用优先函数实现对表达式的运.doc_第1页
用优先函数实现对表达式的运.doc_第2页
用优先函数实现对表达式的运.doc_第3页
资源描述:

《用优先函数实现对表达式的运.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用优先函数实现对表达式的运算班级学号姓名:指导老师:一.实验目的:1、学习语法分析的主要方法;2、熟悉复习词法分析的方法;3、表达式求值;4、熟悉C语言并提高动手能力;二.实验内容:输入一个表达式,判断是否正确后,求出其值;三.实验硬件和软件平台:INTELC433MHzCpu128MbSDRAMTurboC2.0MicrosoftWindowsXPSP1四.步骤和算法描述:1.调用词法分析程序,转换表达式成为类号;2.调用语法分析程序,判断表达式正确与否;3.根据代码的优先级,求表达式的值;五.源程序:#

2、include#include#include#include#include#include"d:TURBOC2document1.c"#include"d:TURBOC2documentNEW.c"intcheck=10;intchange(char*cd1,inta){intlen,i,o=0,c,j;for(i=0;i=i;j--){if(j==i)c=1*c

3、;elsec=c*10;}o=o+(cd1[i+1]-48)*c;}return(o);}intCount(inta,intb,charc){intdd;switch(c){case'*':dd=a*b;break;case'/':dd=a/b;break;case'+':dd=a+b;break;case'-':dd=a-b;break;default:printf("Error!");}return(dd);}charcompare(chara,charb){if(a=='*'&&b=='/')retu

4、rn('>');if(a=='/'&&b=='*')return('>');if(a=='+'&&b=='-')return('>');if(a=='-'&&b=='+')return('>');if(a=='*'&&b=='+')return('>');if(a=='*'&&b=='-')return('>');if(a=='/'&&b=='+')return('>');if(a=='/'&&b=='-')return('>');if(a=='+'&&b=='*')return('<');if(a=='+

5、'&&b=='/')return('<');if(a=='-'&&b=='*')return('<');if(a=='+'&&b=='*')return('<');if(a=='*'&&b=='(')return('<');if(a=='/'&&b=='(')return('<');if(a=='+'&&b=='(')return('<');if(a=='-'&&b=='(')return('<');if(a=='*'&&b==')')return('>');if(a=='/'&&b==')')return

6、('>');if(a=='+'&&b==')')return('>');if(a=='-'&&b==')')return('>');if(a=='('&&b=='*')return('<');if(a=='('&&b=='/')return('<');if(a=='('&&b=='+')return('<');if(a=='('&&b=='-')return('<');if(a==')'&&b=='*')return('>');if(a==')'&&b=='/')return('>');if(a==')'&

7、&b=='+')return('>');if(a==')'&&b=='-')return('>');if(a=='*'&&b==';')return('>');if(a=='/'&&b==';')return('>');if(a=='+'&&b==';')return('>');if(a=='-'&&b==';')return('>');if(a=='#'&&b=='*')return('<');if(a=='#'&&b=='/')return('<');if(a=='#'&&b=='-')return('

8、<');if(a=='#'&&b=='+')return('<');if(a=='#'&&b==';')return('=');if(a=='('&&b=='(')return('<');if(a==')'&&b==')')return('>');if(a==')'&&b=='#')return('>');if(a=='*'&&b=='*')return('>');if(a=='/'&&b=='/')return

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。