C语言课程设计实践报告new.doc

上传人:bao****ty 文档编号:144609703 上传时间:2020-09-11 格式:DOC 页数:12 大小:119.50KB
返回 下载 相关 举报
C语言课程设计实践报告new.doc_第1页
第1页 / 共12页
C语言课程设计实践报告new.doc_第2页
第2页 / 共12页
C语言课程设计实践报告new.doc_第3页
第3页 / 共12页
C语言课程设计实践报告new.doc_第4页
第4页 / 共12页
C语言课程设计实践报告new.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C语言课程设计实践报告new.doc》由会员分享,可在线阅读,更多相关《C语言课程设计实践报告new.doc(12页珍藏版)》请在金锄头文库上搜索。

1、CSU目录一:文件数据的处理31、需求分析2、概要设计3、详细设计4、测试结果二:翻译软件模拟51、需求分析2、概要设计3、详细设计4、测试结果三:课程设计总结7四:参考文献8五:附录9一、 文件数据的处理1、 需求分析:两个文件(data1.txt、data2.txt)中有若干数字,编写程序求出两个文见中数字的交集和补集分别存放在两个文件(jiao.txt、bing.txt)中并且按照顺序排列。例如: 两个文件:data.1: 1 2 3 4 5 6 7 8 9 10;data2: 2 3 4 5 6 7 8 9 10 11。运行结果为:jiao:2 3 4 5 6 7 8 9 10;bin

2、g:1 2 3 4 5 6 7 8 9 10 11。2、 概要设计:定义指针和数组;读出文件中的数据,利用循环和条件语句找出data1和data2中的相同元素和不同元素并分别赋值给两个数组;将两个数组中的元素排序;将两个数组中的数据存放在jiao 和bing两个文件夹中3、 详细设计:头文件调用,包括stdio和stdlib;定义数据类型#include #include main()FILE *fp1,*fp2,*fp3,*fp4; int date110,date210,jiao10,bing20,jiao110,bing120;int i,j,m=0,n=0,x=1,y=1;数据的读取和

3、输入if(fp1=fopen(data1.txt,r)=NULL)|(fp2=fopen(data2.txt,r)=NULL) printf(open error: date1.txt or date2.txtn); printf(Please enter a chain of number for first time:n); for(i=0;i10;i+) scanf(%d,&date1i); printf(Please enter a chain of number for second time:n); for(i=0;i10;i+) 求出两个文件中相同的数字等,求出交集和并集 for

4、(i=0;i10;i+) for(j=0;j10;j+) if(date1i=date2j) jiaom=date1i; m+; break; if(j=10) bingn = date1i n+; for(i=0;i10;i+) bingn=date2i; n+; 将所得到的运算结果结果排序并去掉并集中的相同的元素:for(i=1;im;i+) for(j=0;j jiao j+1) int temp; temp = jiaoj; jiaoj = jiaoj+1; jiaoj+1 = temp; for(i=0;im-1;i+) while(jiaoi+1!=jiaoi) jiao1x=ji

5、aoi+1; x+; break; 最后将所得到的结果处贮存到两个txt文件中4、 测试结果:二、 翻译软件模拟1、 需求分析:编写程序,利用ciku.txt中的词汇中英对照来完成简单的英语词汇翻译,达到模拟翻译软件的效果。在界面上输入英文,下面给出中文释义。2、 概要设计:定义文件指针,字符型变量和整型变量;输入需要翻译的单词,并找出单词在文件中的位置,并输出等号后面的中文字符。3、 详细设计:包含文件,需要用到计算字符串长度的函数,于是包含了stdlib.h:#include#include#include定义文件指针,字符型整型变量:FILE *fp; char ch,string120

6、0,string2200; int i,j,k,l,m,p; 输入需要翻译的单词:printf(please input the English words:);scanf(%s,string2); 将指针fp指向ciku.txt文件,计算单词string2的长度 ,将content.txt文件中的第一个字母输入,并将content.txt文件中的字符串赋值给字符串string1,将content.txt文件中之后的字母逐一输入 ,判断字符串string2对应与字符串string1的位置,找出起始位置 ,显示单词对应的意思,遇到空格截止。fp=fopen(ciku.txt,r); l=strl

7、en(string2); ch=fgetc(fp); while(ch!=EOF) string1k=ch; k+; ch=fgetc(fp); for(i=0;ik;i+) for(j=0;jl;j+) if(string1i+j!=string2j)goto loop2;m=i; break; loop2:; for(i=m+l+1;string1i!= ;i+) printf(%c,string1i); 设置一个go to循环,方便软件使用:printf(continue? y(1)or n(0)n); scanf(%d,&p); if(p=1) goto loop1; 4 、测试结果:

8、 三、 课程设计总结就我目前接触的C语言内容而言,还都只是入门级的知识,仅仅这些知识就能增强我的思维能力、逻辑判断能力、耐力和毅力。至于以后的深入学习,难度的加大在阻挠我的同时,定能让我在思维判断的能力上大幅度提高,所以这门课在教会我专业知识的基础上,还锻炼了我的智力,磨练我的意志,我受益匪浅。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。C语言

9、有很多优点,例如:简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元;运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算;数据类型丰富C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运

10、算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大;语法限制不太严格,程序设计自由度大;生成目标代码质量高,程序执行效率高;适用范围大,可移植性好。同时,C语言也有缺点,不过不多:(1). C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C+的一大区别。 (2). C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。 (3).C语言指针。指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要

11、原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C+在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性,适合初学者使用。四、 参考文献C程序设计谭浩强五、 附录1、 文件数据的处理源程序(注释)#include #include /包含文件main()FILE *fp1,*fp2,*fp3,*fp4; /定义四个文件指针int date110,date210,jiao10,bing20,jiao110,bing120;int i,j,m=0,n=0,x=1,y=1;if(fp1=fopen(dat

12、a1.txt,r)=NULL)|(fp2=fopen(data2.txt,r)=NULL)/判断data1.txt 或 data2.txt 能否成功打开,并把data1.txt的文件指针给fp1,date2.txt给fp2.我们知道 fopen() 函数打开文件失败时会返回 NULL (就是一个空指针),当打开失败时就执行下面的语句printf(Error: date1.txt or date2.txtn); /输出 打开错误printf(Please enter a chain of number for first time:n);/打开文件失败的原因是该文件不存在,所以要输入数据生成文件for(i=0;i10;i+) scanf(%d,&date1i); /将输入的数一个一个地送到date1数组中printf(Please enter a chain of number for second time:n);/第二次输入for(i=0;i10;i+)scanf(%d,&date2i); /输入到data2数组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号