付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE5实验报告课程名称编译原理实验名称源程序的输入和预处理姓名学号班级实验目的掌握字符的处理方法,理解设计为独立子程序的好处,为词法分析做好准备。实验环境MicrosoftVisualC++6.0实验报告设计思想用VC6.0C语言的文件读取方式从文件中读取字符串至输出端,对应要预处理的字符串,声明6个int变量和3个字符串数组来对文件字符串做处理。一个数组盛放原文中的字符串,一个是中间处理步骤临时存储数组,最后一个预处理后字符串数组。先对字符串中的空格做处理:若是一个空格则直接跳过,指针直接移至下一个字符做处理;若是多余一个空格则是删除空格直至剩下一个空格,指针移至下一个字符做处理。再对字符串中的“//”和“/**/”做处理(此字符串中没有“/**/”,故只需要对“//”处理):指针对“//”后的内容读取但不做任何操作,直至遇到换行,指针对下一个字符做处理。指针移动做以上的重复动作,直至字符串末尾,预处理工作结束。主要源代码调试与测试数据#include<stdio.h>#include<stdlib.h>intmain(){inti=0,j,k,l=0;FILE*fp;charc[100];//原文字符串数组chard[100];//中间处理步骤临时存储数组chare[100];//预处理后字符串数组 if((fp=fopen("E:\\Source1.txt","r"))==NULL)//从文件中读取字符串{printf("无法打开文件!\n");exit(0);}while(!feof(fp)){c[i]=fgetc(fp);i++;}for(j=0;j<i;j++){printf("%c",c[j]);}j=0; for(k=0;k<i;k++)//消除连续空格直至剩下一个空格{if(c[k]==''&&c[k+1]==''){d[j]=c[k];l++;//原文中读取下一个字符}else{d[j]=c[k];j++;//预处理后指针后移}}intt=0,m=0;for(k=0;k<j;k++){if(d[k]==10&&d[k+1]==10)//消除多余的换行{e[t]=d[k];m++;}elseif(d[k]==47||d[k]<0)//消除注释内容{m++; }else{e[t]=d[k];t++;}}putchar('\n');intn=1;for(k=0;k<j-m;k++){printf("%c",e[k]);//打印预处理后的字符串if(e[k+1]==9)//打印对应的行数{printf("*%d*",n); n++;} }return0;}——程序只能打开文件并且原文输出:——解决办法:增加两个字符数组,分别用于字符处理的中间临时储存和预处理后的字符存储——程序预处理成功后数据:——所需要的测试数据:main(){ inta,b;//定义变量 a=10; b=a+20; a=b+c*(e-a);}实验总结学习体会:C语言是大一学的入学编程语言,现在大三了,也学了几种编程语言,在每学期一门语言的课程下,以前只是属于那种得学且学的心态,慢慢荒废了以前学到的知识。这次的编译原理实验再次用C语言处理才感觉到对学到知识的不注重复习会让自己越来越吃力。在写代码过程中,对于大体的思路很清晰,就是在写的过程中出现的编译错误会有点摸不清,以至于要不断地翻看以前的C语言书本才能找到错误的原因,浪费了很多不必要的时间,虽然可惜,但是也让我知道了知识属于那种只能多不能少的“财富”,大学里学习的都是以后会需要,能推动你前进的“精神食粮”。实验日期:2012年11月20日
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人大机关公开遴选公务员笔试试题及答案解析(A类)
- 用催化剂行业深度研究报告
- 中国鸭雏项目投资可行性研究报告
- 中国天然板材项目投资可行性研究报告
- 中国空压外螺纹转角缸项目投资可行性研究报告
- 多用途杭锈剂行业深度研究报告
- 中国粘结永磁项目投资可行性研究报告
- 中国溶剂型粘合剂项目投资可行性研究报告
- 中国全棉印花毛圈布项目投资可行性研究报告
- 中国钻铣机床项目投资可行性研究报告
- 2025年江苏安全员c考试题目及答案
- 多人合伙建房合同范本
- 2025年胸膜炎护理试题及答案
- 上海购房合同(标准版)
- 2025年青海省公务员申论考试真题试卷(含答案)
- 文旅产业知识培训课件
- 浙江省浙南名校联盟2025-2026学年高三上学期10月联考英语试题
- 2026届新高考英语冲刺热点复习 2025年新高考1卷阅读理解D篇说题
- 新能源公交安全培训内容课件
- 企业人力资源数字化管理平台方案
- 2025年广东铁投集团校园招聘笔试参考题库附带答案详解
评论
0/150
提交评论