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

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

资源信息

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

内容正文:

第八章文件(一) 第八章文件(一) 一、理论测试题(每小题12分,其中输出格式占2分,共60分) 1.下面的程序执行后,输出内容是? #include <stdio.h int main() FILE fpw; int i,a,b; fpw=fopen("D:\\data.txt","w++"); for(i=9;i>=0;i--) fprintf(fpw,"%d",i); if(i%2==0)fprintf(fpw," "); rewind(fpw); fscanf(fpw,"%d%d",&a,&b); printf("%d %d ",a,b); fclose(fpw); } 2.有以下程序运行后的输出结果是?(d:test.txt原本无内容) #include "stdio.h" void WriteStr(char fn[],char str[]) FILE fp; fp=fopen(fn,"a"); fputs(str,fp); fclose(fp); } int main() char str1[20]; FILE fpl; WriteStr("d:\\test.txt","I"); WriteStr("d:\\test.txt","love"); WriteStr("d:\\test.txt","CHINA!"); fpl=fopen("d:\\test.txt","r"); ·45· 单招零距离·计算机专业综合测试卷·下册 fgets(str1,20,fpl); printf("%s",str1); fclose(fpl); } 3.以下程序是将D盘根目录下一个名为file1.txt的文本文件中字母大写的内容拷贝到 一个名为file2.txt的新文本文件中,请填空。 #include <stdio.h int main() FILE fpwl,fpw2; int ch; fpwl=fopent("d:\\filel.txt",①); fpw2=fopen(② ch=getc(fpwl); while(c!=EOF) {if(ch>=A'&&.ch<=Z') fputc(③ ); ch=④ } fclose(fpw1); fclose(fpw2); 4.以下程序的执行结果是?(d:\exam3.txt原本无内容) #include <stdio.h int main() FILE fpw,fpr; char str1[80],str2[80]; int i; fpw=fopen("d:\\exam3.txt","a"); for(i=0;i<26;i++) str1[i]=65+i; for(i=0;i<26;i++) fputc(strli],fpw); ·46· 第八章文件(一) fclose(fpw); fpr=fopen("d:\\exam3.txt","r"); i=0; while(!feof(fpr)) { str2[i++]=fgetc(fpr)+32; } str2[i]=\0'; str2L6]=0; printf("%s",str2); fclose(fpr); } 5.下面程序的功能是从C盘根目录下test1.txt中读出内容进行处理,把处理结果写进 C盘根目录下test2.txt文件中,请完成程序。 Testl.txt中内容为: 1011 1111 1001 1010 1100 Test2.txt中内容为: B F 9 A C #include <stdio.h> #include <string.h> int main() FILE fpl,fp2; char a[80]; int i,s=0,k; fpl=fopen("c:\\testl.txt","r"); ·47· 单招零距离·计算机专业综合测试卷·下册 fp2=fopen("①); for(k=1;k<=5;k++) (fscanf(fpl,"%s",②); i=0:s=0: while(a[i) {s=s*2+a[i门一0'; ③ } if(s<10) fprintf(fp2,"%cn",s十0); else ④ } fclose(fpl); fclose(fp2); } 二、技能测试题(第1题20分,第2、3题各30分,共80分) 1.程序填空题:下列程序实现从D盘根目录ilel.txt中读入的一个十六进制字符串整数 转换为一个十进制整数。例如,将字符串”A0A1"转换为41121再添加写入原文件中。请将 程序中未完成的部分补充完整,使程序运行正确。 #include <stdio.h #include <stdlib.h int htod(char st[」]) { int i,num =0; for(i =0;st[i];++i) { if(st[i]>=A'&&.st[i]<='F) num 16 num st[i]A'+10; else if(st[i]>='0&.&.st[i]<='9) /米米米装米米*米第*米米米米米米PACE***兴米兴米关关米米关米米米 num= (1); } return num; ·48· 第八章文件(一) int main() { FILE fl; char s[9]; /并并关¥关¥关并米¥并并关关米米SPACE米米并并关米弟0¥关米米兴0米/ if((f1=fopen((2)))==NULL) (printf("open filel.txt error"); exit(O); fscanf(f1,"%s",s); printf("这个数的l0进制是:%u ",htod(s)); fprintf(f1,"这个数的10进制是:%u小n",htod(s); fclose(fl); return 0; 2.程序改错题:D盘目录下文件test1.txt中有一个字符串,要求判断其是否是回文,把判 断结果写入相同目录下test2.txt中,找出下列程序中的错误加以改正。#include<stdio.h> #include <stdlib.h #include "string.h" define N 30 int test_st(char st[]) (int i,j; j=0; while(st[j]) j++; j-一; i=0; while(i<j) (if(st[i]!=st[j]) (return 0; } i++; j--; ·49· 单招零距离·计算机专业综合测试卷·下册 } return 1; int main() (char str[N]; /*米并兴兴¥¥关*并并关米并兴FOUND关关0并**兴兴并关米关关米米兴0/ FILE fp1,fp2; int k; if((fpl=fopen("d:\\testl.txt","w")==NULL)) (printf("open testl.txt error"); exit(0); } if((fp2=fopen("d:\\test2.txt","w"))==NULL) (printf("open test2.txt error"); exit(0); } fgets(str,10,fpl); /*关兴兴米米米举**米米米米米F○UND米米米米***兴米米米米****0/ if(!test_st(str)) (fputs("the word:"fp2); fputs(str,fp2); fputs("is回文",fp2); } else (fputs("the word:"fp2); fputs(str,fp2); fputs("isn't'回文",fp2); } fclose(fpl); fclose(fp2); } 3.程序设计题:D盘根目录下有一个文件abcl.txt,其中有多个大小写混合的字母,请读 出后求出最多次数的那个字母。大小写看成是同一个字母。如'B’和b’是同一个字母,如果 ·50· 第八章文件(一) b出现次数最多,则输出文件中最多的字符是:b。请完成程序。 函数void file_read(char st[])完成从abcl.txt读入字母到st[]中; 函数char count char(char st[])求出st[]中出现次数最的那个字母。 #include "stdio.h" include "stdlib.h" #include "string.h" #include "ctype.h" define N 200 char count_char(char st[]) { /**米米***米米米Pr0gram米米米米米******米* /*米兴¥关米关米米米*米关¥End*¥关米¥米关弟关**关¥米/ } void file_read(char st[]) { /¥*米米米***米*米*米米Pr0grm*兴米米米*****米米** /**米关关关米*关关***米Ed***米关*关*兴兴兴兴关米/ int main() ·51· 单招零距离·计算机专业综合测试卷·下册 (char str[N],ch; file_read(str); ch=count_char(str); printf("文件中最多的字符是:%c",ch); } ·52·m=m/10; } if(q∗q==n)b[num++]=sum; } else  i++; } returnnum; } 第七章 函 数(B) 一、理论测试题  1.(1)符号 (2)调用 (3)实际 (4)print(s)  2.i=2 j=2 i=2 j=0 1  3  5  7  9  3.k=25,k=49,k=60  4.1 6 120 s=135  5.(1)rq[2]>md[rq[1]-1] (2)b[k--]=x%2+'0' (3)strcpy(b,"error") (4)split(a[i],b[i]) 二、技能考试题  1.(1)l<=h或x==a[m] (2)sizeof(a)/sizeof(int) (3)a[i]>a[j] (4)p=search(a,n,x)  2.(1)len=strlen(s); (2)c[k]=t%2+48;或c[k]=t%2+'0'; (3)if(flag)或if(flag==1)或if(flag! =0)或if (t>1)或if(t>=2)  3.intGenStr(chars[],inta[]) { inti,x,y,t,max,jz,p; for(i=0;i<strlen(s)-1;i++) { y=x=s[i]+s[i+1]; max=-1; while(x) { if(x%10>max) max=x%10; x/=10; } jz=max+1;p=1;t=0; while(y) { t=t+y%10∗p; y=y/10; p=p∗jz; } a[i]=t; } returni; } intishz(intm,intn) { intt; while(t=m%n) { m=n;n=t; } returnn==1; } intCalculate(inta[],intn,intb[][2]) { inti,j,k=0; for(i=0;i<n-1;i++)   for(j=i+1;j<n;j++) if(ishz(a[i],a[j])) { b[k][0]=a[i]; b[k][1]=a[j]; k++; }   returnk; } 第八章 文件一 一、理论测试题  1.98 76  2.IloveCHINA  3.(1)r (2)"d:\\file2.txt","w" (3)ch,fpw2 (4)fgetc(fpw1)  4.abcdef  5.(1)c:\\test2.txt","w" (2)a (3)i++ (4)fprintf(fp2,"%c ",s+'A'-10) 二、技能测试题  1.(1)16∗num+st[i]-'0' (2)"d:\\file1.txt","a+"  2.(1)FILE ∗fp1,∗fp2; (2)if((fp1=fopen("d:\\test1.txt","r"))== NULL) (3)if(test_st(str)) 􀅰5􀅰 总复习方案􀅰参考答案  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
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。