历年全国计算机等级考试二级C语言上机考试题库及答案.docx
- 文档编号:860898
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:93
- 大小:172.43KB
历年全国计算机等级考试二级C语言上机考试题库及答案.docx
《历年全国计算机等级考试二级C语言上机考试题库及答案.docx》由会员分享,可在线阅读,更多相关《历年全国计算机等级考试二级C语言上机考试题库及答案.docx(93页珍藏版)》请在冰豆网上搜索。
历年全国计算机等级考试二级C语言上机考试题库及答案
1.填空
给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
voidcheck();
/**********found**********/
intfun(___1___*std)
{
/**********found**********/
___2___*fp;inti;
if((fp=fopen("myfile5.dat","wb"))==NULL)
return(0);
printf("\nOutputdatatofile!
\n");
for(i=0;i /**********found**********/ fwrite(&std[i],sizeof(STYPE),1,___3___); fclose(fp); return (1); } 修改 给定程序MODI1.C中函数fun的功能是: 先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。 例如: 当s中的字符串为: “ABCDE”时, 则他中的字符串应为: “ABCDEEDCBA”。 请改正程序中的错误,使他能得出正确的结果。 注意: 不要改动main函数,不能增行或删行,也不得更改程序的结构! voidfun(char*s,char*t) {inti,sl; sl=strlen(s); /************found************/ for(i=0;i<=s1;i++) t[i]=s[i]; for(i=0;i t[sl+i]=s[sl-i-1]; /************found************/ t[sl]='\0'; } 程序 函数fun的功能是: 将两个两位数的正整数a,b合并成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如: a=45,b=12时,调用该函数后,c=4152. 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 答案: B: STYPEFILEfp M: for(i=0;i P: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 2.填空 给定程序的功能是: 从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。 然后将文件的内容读出显示在屏幕上。 文件的读写分别有自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意: 源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! main() {FILE*fp; if((fp=fopen("myfile4.txt","w"))==NULL) {printf("openfail! ! \n");exit(0);} WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt","r"))==NULL) {printf("openfail! ! \n");exit(0);} ReadText(fp); fclose(fp); } /**********found**********/ voidWriteText(FILE___1___) {charstr[81]; printf("\nEnterstringwith-1toend: \n"); gets(str); while(strcmp(str,"-1")! =0){ /**********found**********/ fputs(___2___,fw);fputs("\n",fw); gets(str); } } voidReadText(FILE*fr) {charstr[81]; printf("\nReadfileandoutputtoscreen: \n"); fgets(str,81,fr); while(! feof(fr)){ /**********found**********/ printf("%s",___3___); fgets(str,81,fr); } } 修改 给定程序MODI1.c中函数fun的功能是: 从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。 例如: 当s中的数为: 7654321时,t中的数为: 7531 请改正程序中的错误,使他能得出正确的结果。 注意: 不要改动main函数,不能增行或删行,也不得更改程序的结构! #include /************found************/ voidfun(longs,longt) {longsl=10; *t=s%10; while(s>0) {s=s/100; *t=s%10*sl+*t; /************found************/ sl=sl*100; } } 程序 函数fun的功能是: 将两个两位数的正整数a,b合并成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如: a=45,b=12时,调用该函数后,c=1524. 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 2、B: *fwstrstr M: long*tsl=sl*10; P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10); 3.填空 给定程序中,函数fun的功能是: 将自然数1~10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意: 源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! intfun(char*fname) {FILE*fp;inti,n;floatx; if((fp=fopen(fname,"w"))==NULL)return0; for(i=1;i<=10;i++) /**********found**********/ fprintf(___1___,"%d%f\n",i,sqrt((double)i)); printf("\nSucceed! ! \n"); /**********found**********/ ___2___; printf("\nThedatainfile: \n"); /**********found**********/ if((fp=fopen(___3___,"r"))==NULL) return0; fscanf(fp,"%d%f",&n,&x); while(! feof(fp)) {printf("%d%f\n",n,x);fscanf(fp,"%d%f",&n,&x);} fclose(fp); return1; } 修改 给定程序MODI1.c中fun函数的功能是: 将n个无序整数从小到大排序。 fun(intn,int*a) {inti,j,p,t; for(j=0;j {p=j; /************found************/ for(i=j+1;i if(a[p]>a[i]) /************found************/ t=i; if(p! =j) {t=a[j];a[j]=a[p];a[p]=t;} } } 程序 函数fun的功能是: 将两个两位数的正整数a,b合并成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如: a=45,b=12时,调用该函数后,c=2514 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 3、B: fpfclose(fp)fname M: i P: *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 4.填空 给定程序的功能是: 调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。 主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中 intfun(char*source,char*target) {FILE*fs,*ft;charch; /**********found**********/ if((fs=fopen(source,___1___))==NULL) return0; if((ft=fopen(target,"w"))==NULL) return0; printf("\nThedatainfile: \n"); ch=fgetc(fs); /**********found**********/ while(! feof(___2___)) {putchar(ch); /**********found**********/ fputc(ch,___3___); ch=fgetc(fs); } fclose(fs);fclose(ft); printf("\n\n"); return1; } 修改 给定程序MODI1.C中函数fun的功能是: 将长整形数中每一位上为偶数的数依次取出,构成一个新数放在t中。 高位仍在高位,低位仍在低位。 例如: 当s中的数为: 87653142时,t中的数为: 8642 voidfun(longs,long*t) {intd; longsl=1; *t=0; while(s>0) {d=s%10; /************foun
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 全国 计算机等级考试 二级 语言 上机 考试 题库 答案