编译原理实验----源程序的输入和扫描.docVIP

编译原理实验----源程序的输入和扫描.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理实验----源程序的输入和扫描

我的第一次编译原理实验----源程序的输入和扫描 [实验内容]: 1、? 编制一个源程序的输入、扫描程序,从文件中每次读入一行到输入缓冲区(可以用字符数组实现);然后从缓冲区中依次取出字符显示在屏幕上。 2、从文件每次读入一行到输入缓冲区的功能(可以用字符数组实现)用一个子程序实现。 [实验目的]: 1、通过编制一个源程序的输入、扫描程序,熟悉和了解从文件中读入数据到输入缓冲区的过程。 [实验步骤]: 1、准备: 用TC、VC++等开发工具;确定被处理的语言的语法特点(初步确定,可使用现成语言如Pascal、C等)。编好程序,写好实验报告。 2、上机:输入源程序,修改、调试,运行。 # includestdio.h # includestdlib.h # includeconio.h //声明头文件 int i; FILE *fp; FILE *rfp; char buffer[1000]; //声明变量 int WriteFile(char* filename) { char a; int count=0; int i=0; ???? if((fp=fopen(filename,w))==NULL){??? //打开文件 ????? printf(THE FILE DOESNT OPEN!);exit(0); } ???? while(i1000)??? //输入字符限制为1000个????? //这里是写入文件,如果没有这个文件则创建文件。其中文件名由句柄指针fp给出 ??? { ??? scanf(%c,a) ; ??? if(a==0)return i;????????? //如果你输入0则退出 ??? fprintf(fp,%c ,a);???????? //否则将输入的字符写入已创建的文件 ??? i++;????? //i是统计已写入的字符个数 ???? } ?? fclose(fp);?????????? // 关闭文件句柄 ??? return i; } int readbuffer()??? //子程序开始 { ? int flen=0;?????? //定义整形变量flen,初始值为0 ? int j=0; ? char ch; ? char *filename=; //声明变量 printf(文件名: \n); if((rfp=fopen(姜志祥,r))==NULL) ??? { printf(THE FILE DOESNT OPEN!);exit(0); } ????? while(j1000)????? //限制输出个数 ?{ ??? ch=fgetc(rfp);?????? //读取文件中的下一个字符 ??? if (feof(rfp))?????? //没有到文件末尾 ?? { ??? i=j;???????????????? //此时读到第i个字符 ??? break; ???? } ?buffer[j]=ch;?????????? //将读出的字符放入缓存字符数组 ?? ++j; ?? } while(flenj)??????????? //如果flen小于文件长度 {printf(%c,buffer[flen]);?? //读取第缓存数组中的第flen个字符 flen++;}????????????????????? //数组指针下移 printf(\n);??????????????? //换行 return 1; }??? //子程序结束 main()???? //main()开始 { ??? char *filename={姜志祥}; ??? int j; ??? j=0; char creatflie=0; printf(1、输入c创建文件\n); printf(2、输入o打开文件\n); scanf(%c,creatflie) ; ?? if(creatflie==c) ?????? //printf(\n请输入内容进入你所创建的文件中,输入数字 0 创建完成\n); ?????? WriteFile(filename); ?? if(creatflie==o) ?????? readbuffer(); }? //main()结束

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档