
二级考试上机题库.doc
71页 全国计算机等级考试二级C上机题库1. 填空给定程序的功能是调用fun函数建立班级通讯录通讯录中记录每位学生的编号,姓名和号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i 例如:当s中的字符串为:“ABCDE”时, 则他中的字符串应为:“ABCDEEDCBA”请改正程序中的错误,使他能得出正确的结果注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl; sl = strlen(s);/************found************/ for( i=0; i<=s1; i ++) t[i] = s[i]; for (i=0; i 答案: B: STYPE FILE fp M: for(i = 0 ; i < sl ; i++) t[2*sl] = 0; 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(" open fail!!\n"); exit(0); } WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt","r"))==NULL) { printf(" open fail!!\n"); exit(0); } ReadText(fp); fclose(fp);}/**********found**********/void WriteText(FILE ___1___){ char str[81]; printf("\nEnter string with -1 to end :\n"); gets(str); while(strcmp(str,"-1")!=0) {/**********found**********/ fputs(___2___,fw); fputs("\n",fw); gets(str); }}void ReadText(FILE *fr){ char str[81]; printf("\nRead file and output to screen :\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 2、B: *fw str str M: long *t sl = sl*10; P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3. 填空给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构!int fun(char *fname ){ FILE *fp; int i,n; float x; if((fp=fopen(fname, "w"))==NULL) return 0; for(i=1;i<=10;i++)/**********found**********/ fprintf(___1___,"%d %f\n",i,sqrt((double)i)); printf("\nSucceed!!\n");/**********found**********/ ___2___; printf("\nThe data in file :\n");/**********found**********/ if((fp=fopen(___3___,"r"))==NULL) return 0; fscanf(fp,"%d%f",&n,&x); while(!feof(fp)) { printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); } fclose(fp); return 1;}修改给定程序MODI1.c中fun函数的功能是:将n个无序整数从小到大排序。 fun ( int n, int *a ){ int i, j, p, t; for ( j = 0; j 主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中int fun(char *source, char *target){ FILE *fs,*ft; char ch;/**********found**********/ if((fs=fopen(source, ___1___))==NULL) return 0; if((ft=fopen(target, "w"))==NULL) return 0; printf("\nThe data in file :\n"); ch=fgetc(fs);/**********found**********/ while(!feof(___2___)) { putchar( ch );。
