计算机基础2实验九文件_第1页
计算机基础2实验九文件_第2页
计算机基础2实验九文件_第3页
计算机基础2实验九文件_第4页
计算机基础2实验九文件_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验九文件一、实验目的1熟悉文件和文件指针的概念以及文件指针的定义方法。2掌握文件打开和关闭的概念和方法。3掌握常用的关于文件操作库函数的使用。二、实验准备语言中处理文件的一般步骤为:(1)包含stdio.h头文件:#includestdio.h(2)定义FILE类型文件指针:FILE*fp;(3)打开文件,建立文件指针和文件的联系:fp=fopen(文件名,打开方式);(4)根据需要选择合适的文件读写函数对文件进行读写操作。(5)关闭文件:fclose(fp);三、实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)1、程序调试题(文件名为test1-1.c)磁盘上有一

2、个名为test1-1.c的C程序文件,其中函数fun的功能是:在字符串码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用函数之前字符串为:123aBYdZf,调用后字符串中的内容为:f123aBYdZ。在main函数中,从文本文件test1-1.txt中读出字符串放入一维数组a中,调用的数组,在主函数中输出处理后的结果。请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。a中找出ASCIIfunfun函数构成新源程序如下:#include#include#includefun(char*p)charmax,*q;inti=0;max

3、=pi;while(pi!=0)if(maxpi)max=pi;q=p+1;i+;while(qp)*q=*(q-1);q+;p0=max;voidmain()FILE*fp;chara255;inti=0;if(fp=fopen(test1-1.txt,r)=NULL)printf(Cannotopenthefile.n);exit(0);while(1)ai+=fgets(fp);if(ai=EOF)break;i+;ai=0;printf(Theoriginalstring:);puts(a);fun(a);printf(Thestringofchangingis:%snn,a);fcl

4、ose(fp);2.程序调试题(文件名为test2-1.c)磁盘上有一个名为test2-1.c的C程序文件,其中函数fun的功能是:统计数组并将个数作为函数值返回。在main函数中,从文件test2-1.txt中读出10个整数放入整型数组中,调用数组的10个数及素数的个数输出到屏幕上。请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。a中素数的个数,fun函数,将整型源程序如下:#include#includevoidfun(int*a,intn)inti,j,cnt=0;for(i=0;in;i+)for(j=2;jai/2)cnt+;returncnt;

5、voidmain()inta10,i,cnt;file*fp;if(fp=fopen(test2-1.txt,r)=NULL)printf(Cannotopenthefile.n);exit(0);for(i=0;i10;i+)fscanf(fp,%d,a+i);printf(%5d,ai);cnt=fun(a,10);printf(ncnt=%dn,cnt);fclose(fp);3.编程题(test1-2.c)编写程序,实现矩阵(3行列)的转置(即行列互换)例如,输入如下的矩阵:100200300400500600700800900则程序输出:10040070020050080030060

6、0900注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include#includevoidfun(intarray33)voidmain()inti,j;intarray33=100,200,300,400,500,600,700,800,900;FILE*out;/*定义文件指针*/for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);fun(array);printf(Convertedarray:n);out=fopen(out.dat,w)

7、;/*以W方式新建out.dat文件,并让out指针指向该文件*/for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);fprintf(out,%7d,arrayij);/*将转置后的数组写到out指针所指的文件out.dat文件中*/printf(n);fprintf(out,n);/*将每写完一行数据就写一个换行符到out指针所指的文件中*/fclose(out);/*关闭文件*/4.编写程序(程序文件名命为test2-2.c)(1)编写函数fun,fun函数的功能是:将一个由二进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含32位二进制数字。例如,若输入11111111,则输出将是255。(2)在main函数中输入二进制数字字符串s的值,调用fun函数,并输出转换后的十进制数。四、实验要求:“实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。五、实验报告填写要求:1、第一页用XX学院实验报告纸,其后用实验报告附页纸。2、第一页填写项目:实验课程:计算机基础2-C语言实验项目:本次实验名称实验日期:本次实验日期系:班级:XX:学号:指导教师:3、实验报告正文要求:实验目的:(抄写本次实验目的)实验仪器设备:PC机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论