逻辑表达式课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
逻辑表达式课程设计报告概要

中北大学 课程设计报告 2016/2017 学年第 一 学期 学 院: 信息与通信工程学院 专 业: 电子信息科学与技术 学 生 姓 名: 向 伟 学 号: 1505044245 课程设计题目: 逻辑表达式的合理性判断 起 迄 日 期: 2016年 12 月 12 日~2016 年12 月 30 日 课程设计地点: 科学楼五院106 指 导 教 师: 李建民 提交报告日期: 2016 年 月 日 设计要求 一、逻辑表达式的合理性判断 任务:(自己解析后的具体任务); 编写键盘输入与文件读取表达式的程序; 编写可以依次进行识别判断表达式的程序; 整理表达式错误类型,并且编写分类进行错误原因分析的提示程序; 编写扫描表达式的程序; 分类编写检测逻辑运算符,操作数以及括号是否合法的程序; 编写删除所有空格操作的程序 二、要求(自己程序能达到的指标) 表达式既能手动输入,又能从文件中读取程序可以分析输入的表达式的所有错误类型并输出到显示器上 空格删除操作 当发现当前表达式中有空格时,调用Deletespace(char (*string)[m],int i,int j)函数 运行结果 利用文件读取各种错误类型的表达式如下:(按每行四个表达式列出,表达式间用换行隔开) saff asdf !(fs||fsf) da fs!#fs (f||(s|||dfs)) f||(s|%fsf) (fs!#fs) fsd!fas fds(!fs||da) saf3||dad adaf||sf2+h adaf||sf2+h !d(asd) ||sa sdaf|| fa||(dad||d) 其程序运行部分结果如下图 举例说明: 如输入: cd|| (fs||da)表达式,经过Deletespace函数删除空格后返回新的表达式为 cd||(fs||da),然后进行Operator函数检查是否存在操作符,此处存在,则调用Repeat函数进行多余重复括号检查,此处不存在,则进入Bracket函数对括号进行扫描,此处有括号,并且记录括号位置4、11,然后调用Repeat函数进行多余重复括号检查,此处无多余括号,然后根据坐标位置信息进行循环Scan函数扫描,此处扫描到“||”,为二元运算符,则调用Double函数,进行操作数检查,前面为fs,后面为“da”,均为合法操作数,括号内部扫描完毕后,扫描括号外部,从位置0到位置4,此处扫描到“||”,为二元运算符,则调用Double函数,进行操作数检查,前面为“cd”,后面为“(”,均为合法操作数,最后在位置13扫描到结束符,则结束当前表达式扫描,并且返回正确提示,进行下一个表达式判断。 如输入saff asdf表达式,经过Deletespace函数删除空格后返回新的表达式为saff asdf,然后进行Operator函数检查是否存在操作符,此处不存在,则返回“第1个表达式没有逻辑运算符”的错误提示,并且结束当前表达式判断,进入下一个表达式的判断。 总结 技术方面: 1.良好的编程习惯真的很重要,它可以帮助自己减少错误率,还能更好更快地回看和理自己的程序,大大提高程序的可读性。比如写好注释和较好的排版。 2.注意变量的生命周期,既能节省内存资源,又可以避免变量赋值不正确。 3.编写程序前应该先整理需要考虑的所有情况,包括特殊情况,避免出现bug。 4.除了使用编程环境自带的调试功能逐步或断电调试程序外,还可以自己在程序中适当位置通过屏幕输出提示进行调试。 5.尽量使用最优算法,既能提高自己的思维能力,又能使程序简洁而高效。 6.要给每一个函数起一个好名称,做到见名知义的程度方便对程序整体的快速理解。 7.在编写一个项目或程序时应事先考虑到需要定义的函数,把且有相同功能的部分抽象到一个函数时,减少代码冗余。如本程序中的Scan函数。 8.一个函数应该只解决一个功能或问题。 心得体会方面: 通过近两周的奋斗,课程设计接近了尾声。经过两周的奋战我们的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对C语言这门课程所学知识的单纯总结,但是通过这次做课

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档