- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序的输入与汇编原理
实 验 报 告
实验项目名称: 源程序的输入和扫描
院 (系): 信 息 工 程 学 院
专 业: 计 算机科学与技 术
班 级: 2 0 1 3 级 计 科 本
2016年 3月 24日
实验类型: 验证性 □设计性
实验目的
理解源程序被编译器读取的过程,掌握扫描程序的方法。
三、实验内容
(1)编制一个源程序的输入过程,从键盘、文件或文本框输入若干行语句,依次存入输入缓冲区(字符型数据);
(2)编制一个扫描子程序,该扫描程序能删除无用的空白字符、回车字符以及其他与输入介质相关的非实质性字符,用“#”分隔单词流。
(3)删除注释信息。
四、实验环境
计算机,microsoft visual c++ 6.0
五、实验步骤
1 、功能描述
输入一段代码,扫描该段代码无用的空白字符等,用“#”分隔单词流、字母、数字或其他符号。
2 、程序结构描述
首先,输入一段字符串,然后对字符串进行扫描,判断字符串中,是否为单词或数字等,当遇到空白字符或者回车键时,用#隔开,最后,输出扫描结果。
3 、流程图(或原理图)
六、源程序
#includestdio.h
#includestring.h
char s[100];
char w[100];
int main()
{
int i, j;
gets(s);//抓住
i = strlen(s);
for(j = 0; j i; j++)
{
if(s[j]== )
printf(#);
if(s[j]= a s[j]=z|| s[j]=A s[j]=Z)//判断字符串是否是由字母组成的单词
{
if(s[j]!= )
printf(%c,s[j]);
}
if(s[j]==||s[j]==||s[j]===||s[j]===||s[j]==;||s[j]==(
|s[j]==)||s[j]==.||s[j]==+||s[j]==-||s[j]===||s[j]==*)
printf(#%c,s[j]);
if(s[j]=0s[j]=9)
printf(#%c,s[j]);
printf(#\n);
}
return 0;
}
七、实验结果图
八、实验心得
通过这次实验我对C语言的编写和检错又提升了一步,但是还是有许多的不足,像这次程序是为了掌握和了解程序的输入和扫描的过程,但是真正的定义还是很模糊经过同学的指点还有自己利用网络的一些学习才完成了这次实验。比如说在刚开始的时候,我甚至把gets(s)的用法都忘记了,于是下去翻阅c语言的课本才记起来在这次实验中gets()的用法很重要在开始输入字符串,然后取出字符进行判断,输入字符串判断字符串是否符合程序输入的要求,若为空格、回车则将其用“#”代替,数字也用“#”隔开,用“#”隔开单词流等并输出该字符串。老师发给我们的程序并不是全对的,这需要我们自己来进行修改和补充,老师发的运行结果并不对的,如图所示:
经过和同学一起讨论于是就做了上面的改变,当然这样的做法也并不是很完美,还有许多在修正的地方,例如字符的输出可以不要换行,同时在一行中输出来或许更好,这个实验中if语句也是非常重要的,一直使用if和else来对输入的字符串进行判断并用#号隔开,但是还有许多地方不明白,比如说什么时候使用输出,是放在if里面还是外面这我就分不清了,因为放在外面和里面运行出来的结果差别还是很大的。其实这个实验用c++来写还是很简单的,首先画出流程图,根据流程图来写程序那也是很简单的,但是细节还是得注意的,有些错误一眼就能检查出来,
但是有些却是很难找出来,找语句错误容易,然而找语义错误却很难。在这个过程我不仅学到了编译原理方面的知识同时对c语言也进行了巩固,更重要的是学到了做事要有耐心,要有恒心。
输入字符串
判断字符串是否符合程序输入的要求
用“#”隔开单词流等
若为空、回车则将其用“#”代替
结 束
输出用“#”的字符串
您可能关注的文档
- 清水池的消毒清洗及其的改造.doc
- 湖北省武汉市武昌区2016届高三元月调研考试数学(文)试题版含答案.doc
- 湖南移动协优项目LTE模拟考试试题(参考答案20140927).docx
- 湘版美术二年级上册美术教案.doc
- 浅探《三言二拍》公案中蕴含的儒家思想.docx
- 滥伐林木罪资料.doc
- 激光共焦显微镜2.doc
- 浅谈生物多样性价值评估.docx
- 激光散斑实验.docx
- 湖北省黄冈市2015-2016学年高二期末调研考试理科数学试题版.doc
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
最近下载
- 企业破产流程图(四张) .docx
- 部编版二年级上册语文第8课《古诗二首》教学课件.ppt
- join in 6A Unit2 Big cities New york 教学课件.ppt
- 双减政策背景下小学数学优化作业设计策略与案例PPT课件(可编辑).pptx
- 格林巴利综合征试题附有答案.docx VIP
- 现代移动通信 第5版教学课件第10章 5G移动通信系统.pptx
- 田小娥与白灵——漫谈《白鹿原》中两位典型女性田小娥与白灵——漫谈《白鹿原》中两位典型女性.doc
- Midea 美的 BCD-465WTPZM(E)冰箱 说明书.pdf
- 老年人视觉障碍护理.pptx VIP
- 读后续写 专题指导 学案--2023届高考英语一轮复习.docx
文档评论(0)