第八章 文件(二)-【单招零距离】计算机专业综合(卷下)

2025-04-23
| 2份
| 9页
| 82人阅读
| 0人下载
江苏华阅万卷教育科技有限公司
进店逛逛

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-单元卷
知识点 文件
使用场景 中职复习
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 925 KB
发布时间 2025-04-23
更新时间 2025-04-23
作者 江苏华阅万卷教育科技有限公司
品牌系列 -
审核时间 2025-04-23
下载链接 https://m.zxxk.com/soft/51747942.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

第八章文件(二) 第八章文件(二) 一、理论测试题(每小题12分,其中输出格式占2分,共60分) 1.下面的程序执行后,输出内容是? #include "stdio.h" int main()( FILE fpl; int i; char chl3]0807="I "),"love "),{"Beijing. ")) char ch203]080]={"Beijing "),{"welcome "),"you! ")); fpl=fopen("c:\\test1.txt","w"); for(i=0:i3:i++) fputs(chli],fpl); for(i=0:i<3:i++) fputs(ch2[i],fp1); fputs("Hey!",fpl); fclose(fpl): 2.下列程序执行后,exam.dat中的内容是? #include <stdlib.h int main() FILE米fpw: inta[10],i=0: for(i=0:i10:i++) a[i]=10+i: if((fpw=fopen("d:\\exam.dat","wb"))==NULL) printf("cannot open the file"); exit(0); fwrite(a,sizeof(int),10,fpw); fclose(fpw): ·53· 单招零距离·计算机专业综合测试卷·下册 } 3.二进制文件exam.dat有10个数据,内容是:23342145568932239061,以下程序的 运行结果是? #include <stdio.h #include <stdlib.h> #define N5 int main() { FILE fp: int a[N],i,j,t,n=N; if((fp=fopen("d:\\exam.dat","rb"))==NULL) printf("cannot open the file"); exit(0); fread(a,sizeof(int),n,fp); fclose(fp); for(i=1;i<=n-1:i++) { for(j=0:j<=n-1-i:j++) if(a[j]<a+1]) t=a[i];aCj]=aCj+1];a[j+1]=t; } printf("排序之后的数据为: "); for(i=0;i<n;i++) printf("%4d",a[i门): } 4.aa.txt中的内容为:aa,bb.txt中的内容为:bb,则文件执行后,aa.txt中的内容为什么? #include<stdio.h int main() FILE fpr,fpw; ·54· 第八章文件(二) char ch; fpr=fopen("d:\aa.txt","r"); fpw=fopen("d:\\bb.txt","a+"); ch=fgetc(fpr); while(ch!=EOF) fputc(ch,fpw); ch=fgetc(fpr); } fclose(fpr): fpr=fopen("d:\\aa.txt","a"); rewind(fpw); ch=fgetc(fpw); while(ch!=EOF) (fputc(ch,fpr); ch=fgete(fpw); } fclose(fpr); fclose(fpw); 5.某二进制文件D盘根目录下exam.dat有10个整型数据,要求读出其中第偶数个数据 放入数组中输出,且求出它们的最大值和最小值的最大公约数。请完成程序。 #include <stdio.h #include <stdlib.h int gys(int x,int y); int main() { FILE fp: int a[5],p=0.i,max,min; fp=①: for(i=1;i<=5:i++) {fseek(② ): fread(&a[p],sizeof(int),1,fp): p十十; } ·55· 单招零距离·计算机专业综合测试卷·下册 fclose(fp); puts("读出的第奇数个数据有: "): for(i=0:i<5:i++) printf("%d\t",ai]): printf(" "); min= ③ for(i=1;i<5;i++) if(a[i]>max)max=a[i门; if(a[i]<min)min=a[i]; printf("max=%d,min=%d,gys=%d",max,min,gys(max,min)); int gys(int x,int y) { int r; r=x%y; while(r!=O) { x=y; y=r; r=x%y; return ④; } 二、技能测试题(第1题20分,第2、3题各30分,共80分) 1.程序填空题:有10个两位正整数,用插入法升序排序后把数据用逗号间隔写入到D盘 test目录下文本文件exam.txt中,请完成程序。 #include <stdio.h #define N 10 int main() { inta[N]-{12,23,54,76,32,78,26,53,90,92},i,j,x; FILE ff; ·56· 第八章文件(二) printf("原来的数据为: "): for(i=0:i<N;i++) { printf("%4d",ai): } printf(" "): i=1: while(i<=N-1) /关头关关关关共兴兴关关关关米兴¥米SPACE米关*关米¥*米共兴米¥米米*兴/ for((1) j>=0&&.x<a[j门j--) aj+1]=a[j]; aj+1]=x: i++; } printf("排序之后的数据为:n"): for(i=0;i<10;i++) printf("%4d",ai): printf(" "): ff=fopen("d:\test\\exam.txt","w"); for(i=0:i<10:i++) /¥关关米¥¥兴兴并米关0¥关关并*SPACE*共米米米并*关关米兴米关关¥¥ fprintf((2)); fclose(ff): 2.程序改错题:d盘根目录abcl.txt中有字符:agahdadhshsdgsdfb,下列程序执行后其中 内容变为: agahdadhshsdgsdfb 文件中删除相同的字符后是:aghdsfb 程序中有三处错误,请改正。 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "ctype.h" ·57· 单招零距离·计算机专业综合测试卷·下册 #define N 200 void del_same(char st]) char ch[N]; int i.j,k; for(i=0,k=0;st[i];i++) 人 /并米¥关并英米并***关00并FOUND弟*0关关米米黄并0关0关养¥并并 for(j=0;j<=k:j++) if(st[i]==chj]) break: if(j==k) ch[k++]=st[i]; ch[k]=0; strepy(st,ch); void file read(char st],char fn]) (char str[N],ch: int i; FILE fpr: if((fpr=fopen(fn,"r"))==NULL) (printf("open %os error",fn); exit(0); } fgets(fpr,N,st); fclose(fpr): void file_write(char st[],char fn]) FILE fpw: /*米米米米米**兴米米米*关兴FOUND*关兴米米*米*兴兴兴关米米**米/ if((fpw=fopen(fn,"w"))==NULL) (printf("open %s error",fn); ·58· 第八章文件(二) exit(0); fputs(" 文件中删除相同的字符后是:",fpw): fputs(st,fpw); fclose(fpw); int main() (char strN],ch,filename[20]={"d:\\abel.txt"); file read(str,filename); del_same(str); file write(str,filename); printf("文件中删除相同的字符后是:%s",str): } 3.程序编程题:小玲的老公是一个程序员,今年寒假小玲在外省抗疫值班,晚上接到老公 孙强电话询问银行卡的密码,井玲说电脑D盘根目录中有一个文本文件bb.txt中有三行八进 制字符,让他用C语言编程转换成十进制字符(转换后不超过两位)后就知道密码的后六位数 了。其中每行如转换成的十进制数是两位数则就是这两个数,如转换后的十进制数是一位数, 则在前加一个字符0,一行要保证有两个十进制字符,这样三行就有六个数字字符,这六个数 字字符就是密码的后六位。只有孙强求出银行卡的后六位后发送给小玲,小玲才会告知其银 行卡的密码前缀。如你是孙强,请你完成下列程序。 如文件中内容为: 117 心 14 则程序输出为: 117 5 14 密码后六位是:790512 函数void octal_decimal(char st[3][N],char result[])完成把st中的三行八进制字符转 换成十进制字符按规则放人result字符数组中。 函数void file_r(char str[3][N],char filename[])完成从D盘根目录中bb.txt中读取三 行字符放入str中。 #include "stdlib.h ·59· 单招零距离·计算机专业综合测试卷·下册 include "string.h" include "ctype.h" #define N 20 void octal_decimal(char st[3][N],char result) {米米**米*米米米米米米*Pr0grm米米*米米米为米米0米0米米/ /米关米0****00米0关0Ed0米米****米兴米¥*0*/ void file_r(char str[3][N],char filename[]) {/米米兴¥0¥¥米米米¥*米米Pr0grm米米*米****米米米米米*/ /*关关米关关*关兴关英弟关兴Ed关关米弟并并¥米米¥关关关*/ int main() (char str[3]N],ch,filename[20]=("d:\\bb.txt"),result[N]; file r(str,filename); octal_decimal(str,result); printf(" 密码后六位是:%s",result): } ·60· 3.程序设计题:  intnum[26]={0};  inti,maxi;  i=0;  while(st[i])   {num[tolower(st[i])-'a']++;   i++;   }  maxi=0;  for(i=0;i<26;i++) if(num[i]>num[maxi])maxi=i;  returnmaxi+'a';      charstr[N],ch;  inti;  FILE ∗fpr;  if((fpr=fopen("d:\\abc1.txt","r"))= = NULL)    {printf("openabc1.txterror");    exit(0);    }  ch=fgetc(fpr);  while(ch! =EOF)    {str[i++]=ch;    ch=fgetc(fpr);    }  str[i]=0;  fclose(fpr); 第八章 文件二 一、理论测试题  1.IloveBeijing. Beijingwelcomeyou! Hey!  2.10111213141516171819  3.排序之后的数据为:5645342321  4.aabbaa  5.①fopen("d:\\exam.dat","rb") ②fp,sizeof(int),1 ③max=a[0] ④y 二、技能测试题  1.(1)j=i-1,x=a[i] (2)ff,"%d,",a[i]  2.(1)for(j=0;j<k;j++) (2)fgets(st,N,fpr) (3)if((fpw=fopen(fn,"a"))==NULL)  3.inti,j,n,num; n=0; for(i=0;i<3;i++)  {num=0;  for(j=0;st[i][j]! =' '&&st[i][j]! =0;j ++)    num=num∗8+st[i][j]-'0';  if(num>=10)   {   result[n++]=num/10+'0';   result[n++]=num%10+'0';   }  else   {result[n++]='0';   result[n++]=num+'0';   }  }  result[n]=0;      inti;  FILE ∗fpr;  if((fpr=fopen(filename,"r"))==NULL)   {printf("open%serror",filename);    exit(0);    }  for(i=0;i<3;i++)    {fgets(str[i],N,fpr);    printf("%s",str[i]);    }  fclose(fpr); 􀅰6􀅰 单招零距离􀅰计算机专业综合测试卷􀅰下册

资源预览图

第八章 文件(二)-【单招零距离】计算机专业综合(卷下)
1
第八章 文件(二)-【单招零距离】计算机专业综合(卷下)
2
第八章 文件(二)-【单招零距离】计算机专业综合(卷下)
3
第八章 文件(二)-【单招零距离】计算机专业综合(卷下)
4
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。