C语言实验十_c语言实验十

2020-02-28 其他范文 下载本文

C语言实验十由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验十”。

实验10 文件程序设计

一、实验目的1、掌握文件、文件指针的概念。

2、学会使用文件打开、关闭、读、写等文件操作函数。

二、实验内容 1.改错题

(1)下列程序的功能为:在键盘输入4行字符写到D盘data1.dat文件中。纠正程序中存在的错误,以实现其功能。程序以文件名sy10_1.c保存。#include #include void main(){ FILE * fp1;char ch[80];int I,j;fp1=fopen(“d:data1.dat”,”b”);for(i=1;i

gets(ch);

j=0;

while(ch[j]!=’’)

{

fputc(fp1,ch[j]);

j++;

}

fputc(fp1,’n’);}

fclose(fp1);}(2)下列程序的功能为:随机产生10个整数,写入一个文本文件中。纠正程序中存在的错误,以实现其功能。程序以文件名sy10_2.c保存。#include #include #include void main(){ int x[10],i,k;FILE *fp2;srand((unsigned)time(NULL));for(i=0;i

x[i]=rand();fp2=fopen(“data2.dat”,”wb”);if(fp2==NULL){

printf(“Open error n”);exit(0);} for(int k=0;k

fwrite(x[k],sizeof(int),fp2);fclose(fp2);}

(3)下列程序的功能为:从数组读入数据,建立ASCII码文件,并按下列格式输出。10 20 30 40 50 60 70 80 90 100(每个数据占5个字符宽度)纠正程序中存在的错误,以实现其功能。程序以文件名sy10_3.c保存。#include #include void main(){

FILE *fp3;int b[]={10,20,30,40,50,60,70,80,90,100},i=0,n;if((fp3=fopen(“e:file10_3.txt”,”w”))==NULL){

printf(“%s不能打开n”,”e:file10_3.txt”);

exit(1);} while(i

fprintf(fp3,”%d”,b[i]);

if(i%3==0)fprintf(fp3,”n”);

i++;} fclose(fp3);if((fp3=fopen(“e:file10_3.txt”,”r”))==NULL){

printf(“%s不能打开n”,”e:file10_3.txt”);

exit(1);} fscanf(fp3,”%5d”,&n);while(!feof(fp3)){

printf(“%5d”,n);

fscanf(fp3,”%d”,&n);} printf(“n”);

fclose(fp3);}

2.程序填空题

(1)下列程序的功能是:从字符指针数组读出字符串,建立ASCII文件file10_4.txt。补充完善程序,以实现其功能。程序以文件名sy10_4.c保存。#include #include void main(){

FILE *fp;int i=0;char *str[]={“visual C++”, “visual Basic”, “visual java”, “visual foxpro”};if((fp=fopen(“e:file10_4.txt”,_________________))==NULL){ printf(“%s不能打开n”,”e:file10_4.txt”);

exit(1);} while(i

fprintf(_______________________);

_________________________________;} fclose(fp);}

(2)下列程序的功能为:从键盘输入字符,直到输入EOF(Ctrl+Z)为止。对于输入的小写字符,先转换为相应的大写字符,其他字符不变,然后逐个输出到文件text.txt中,行结束符回车('n’)也作为一个字符对待,最后统计文件中的字符个数和行数。补充完善程序,以实现其功能。程序以文件名sy10_5.c保存。#include main(){

FILE *fp;char c,str[256];int i=0,no=0,line=0;if((fp=fopen(“text.txt”,_________________))==NULL){ printf(“can’t open this file.n”);

exit(0);} printf(“please input a string.n”);while((c=getchar())!=EOF){

if(c>=’a’ && c

fputc(_________________,fp);} fclose(fp);if((fp=fopen(“text.txt”,”r”))==NULL){ printf(“can’t open this file.n”);

exit(0);} while(!eof(fp)){

c=__________________;

no++;

if(_________________)line++;} printf(“line=%d character_no=%dn”,line,no);fclose(fp);}

(3)下列程序的功能为:从字符指针数组读出字符串,建立和输出二进制文件file10_6.dat。补充完善程序,以实现其功能。程序以文件名sy10_6.c保存。#include #include #include void main(){ FILE *fp6;int i=0;char str[][20]={“visual C++”, “visual Basic”, “visual java”, “visual foxpro”};char s[20];if((fp6=fopen(“e:file10_6.dat”,_________________))==NULL){ printf(“%s不能打开n”,”e:file10_6.dat”);

exit(1);} while(i

fwrite(_______________,_______________,1,fp6);

i++;} fclose(fp6);if((fp6=fopen(“e:file10_6.dat”,_________________))==NULL){ printf(“%s不能打开n”,”e:file10_6.dat”);

exit(1);} fread((______________,______________,1,fp6);while(!feof(fp6)){

printf(“%sn”,s);

fread((_______________,_____________,1,fp6);} fclose(fp6);} 3.编程题

(1)设文件number.dat中放了一组整数,编程计算并输出文件中正整数之和、负整数之和。程序以文件名sy10_7.c保存。

(2)根据提示从键盘输入一个已存在的文本文件的完整文件名,再输入另一个已存在的文本文件的完整文件名,然后将源文本文件的内容追加到目的文本文件的原内容之后,并在程序运行过程中显示源文件和目的文件中的文件内容,以此来验证程序执行结果。程序以文件名sy10_8.c保存。

(3)有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。程序以文件名sy10_9.c保存。

《C语言实验十.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言实验十
点击下载文档
相关专题 c语言实验十 语言 c语言实验十 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文