2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案

上传人:日度 文档编号:146028666 上传时间:2020-09-25 格式:DOC 页数:72 大小:385.50KB
返回 下载 相关 举报
2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案_第1页
第1页 / 共72页
2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案_第2页
第2页 / 共72页
2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案_第3页
第3页 / 共72页
2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案_第4页
第4页 / 共72页
2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案》由会员分享,可在线阅读,更多相关《2012全国大学生历年全国计算机等级考试-二级C语言上机考试题库及答案(72页珍藏版)》请在金锄头文库上搜索。

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(

2、nOutput 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

3、*t) int 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实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件

5、夹下的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 str81; printf(nEnter string with

6、 -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 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中。合并的方式是:将

8、a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=1524.注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。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的功能是:将自然数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

10、in file :n);/*found*/ 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 )/*fou

11、nd*/ t=i; if ( p!=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: in p=i P: *c=(b%10)*1

12、000+(a%10)*100+(b/10)*10+(a/10);4. 填空给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量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 );/*found*/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号