历年全国计算机等级考试_二级C语言上机考试题库及答案.doc
《历年全国计算机等级考试_二级C语言上机考试题库及答案.doc》由会员分享,可在线阅读,更多相关《历年全国计算机等级考试_二级C语言上机考试题库及答案.doc(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、- -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(nOut
2、put data to file !n); for(i=0; iN; i+)/*found*/ fwrite(&stdi, sizeof(STYPE), 1, _3_); fclose(fp); return (1);修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。例如:当s中的字符串为:“ABCDE时, 那么他中的字符串应为:“ABCDEEDCBA。请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的构造!void fun (char *s, char *t) i
3、nt i, sl; sl = strlen(s);/*found*/ for( i=0; i=s1; i +) ti = si; for (i=0; isl; i+)tsl+i = ssl-i-1;/*found*/ tsl = 0;程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=4152.注意:局部源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何容,仅在
4、函数fun的花括号中填入你编写的假设干语句。答案: B: STYPE FILE fp M: for(i = 0 ; i sl ; i+) t2*sl = 0;P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2. 填空给定程序的功能是:从键盘输入假设干行文本每行不超过80个字符,写到文件myfile4.txt中,用-1作为字符串输入完毕的标记。然后将文件的容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.
5、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 str81; printf(nEnter string with -1 to end
6、 :n); gets(str); while(strcmp(str,-1)!=0) /*found*/ fputs(_2_,fw); fputs(n,fw); gets(str); void ReadText(FILE *fr) char str81; 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中的奇数位上的数,依次
7、构成一个新数放在t中,高位仍放在高位,低位仍放在低位。例如:当s中的数为:7654321时,t中的数为:7531请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的构造!#include /*found*/void fun (long s, long t) long sl=10; *t = s % 10; while ( s 0) s = s/100; *t = s%10 * sl + *t;/*found*/sl = sl*100; 程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依
8、次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=1524.注意:局部源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何容,仅在函数fun的花括号中填入你编写的假设干语句。2、B:*fw str str M:long *tsl = sl*10;P:*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3. 填空给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕
9、上。请在程序的下划线处填入正确的容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的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 %fn,i,sqrt(double)i); printf(nSucceed!!n);/*found*/ _2_; printf(nThe data in file :n);/*fo
10、und*/ if(fp=fopen(_3_,r)=NULL) return 0; fscanf(fp,%d%f,&n,&x); while(!feof(fp) printf(%d %fn,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; jn-1 ; j+ ) p = j;/*found*/ for ( i=j+1; iai )/*found*/ t=i; if ( p
11、!=j ) t = aj; aj = ap; ap = t; 程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=2514注意:局部源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何容,仅在函数fun的花括号中填入你编写的假设干语句。3、B: fp fclose(fp) fname M:i 0) d = s%10;/*found*/ if (d%2=0) *t=
12、d* sl+ *t; sl *= 10; /*found*/ s = 10; 程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=5142注意:局部源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何容,仅在函数fun的花括号中填入你编写的假设干语句。4、B:“r fs ft M:(d%2=0) s /= 10;P:*c=(a%10)*1000+(b/10)*10
13、0+(a/10)*10+(b%10);5. 填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。typedef struct list int data; struct list *next; SLIST;void fun( SLIST *h, int x) SLIST *p, *q, *s; s=(SLIST *)malloc(sizeof(SLIST);/*found*/ s-data=_1_; q=h; p=h-next; while(p!=NULL
14、 & xp-data) /*found*/ q=_2_; p=p-next; s-next=p;/*found*/ q-next=_3_;修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。例如,假设输入:252,那么输入应该是:20.假设输入:202,那么输出应该是:0.long fun (long num)/*found*/ long k; do k*=num%10 ;/*found*/ num=10 ; while(num) ; return (k) ;请编写一个函数fun,它的功能是:它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:假设有
15、5门课程的成绩是:90.5,72,80,61.5,55 那么函数的值为:71.805、B: x p s M:long k=1;num/=10 ;P:int i; float ave=0.0; for(i=0; inext; s=p; while(t-next != NULL) s=t;/*found*/ t=t-_1_; /*found*/ printf( %d ,_2_); s-next=NULL;/*found*/ free(_3_);修改给定程序MODI1.C中函数fun的功能是:将字符串中的字符按逆序输出,单补改变字符串中的容。例如,假设字符串味abcd,那么应输出:dcba/*fou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 全国 计算机等级考试 二级 语言 上机 考试 题库 答案
限制150内