1、全国计算机二级 C语言上机试题 22+2015年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun的功能是:将自然数 110 以及它们的平方根写到名为 myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include int fun(char *fname ) FILE *fp; int i,n; float x; if(fp=fopen(fname,
2、 “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“, while(!feof(fp) printf(“%d %f/n“,n,x); fscanf(fp,“%d%f“, fclose(fp); ret
3、urn 1; main() char fname=“myfile3.txt“; fun(fname); (分数:10.00)_2.给定程序 MODI1.C中 fun函数的功能是:将 n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构! 给定源程序:(分数:10.00)_3.函数 fun的功能是: 将两个两位数的正整数 a、b 合并形成一个整数放在 c中。合并的方式是: 将 a数的十位和个位数依次放在 c数的个位和百位上, b 数的十位和个位数依次放在 c数的十位和千位上。 例如, 当 a=45, b=12时,
4、 调用该函数后, c=2514。 注意: 部分源程序存在文件 PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数 main和其它函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 给定源程序: #include void fun(int a, int b, long *c) main() int a,b; long c; printf(“Input a, b:“); scanf(“%d,%d“, fun(a, b, printf(“The result is: %ld/n“, c); NONO(); (分数:10.00)_全国计算机二级 C语言上机试题 22
5、+2015年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun的功能是:将自然数 110 以及它们的平方根写到名为 myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include int fun(char *fname ) FILE *fp; int i,n; float x; if(fp=fopen(fname, “w“)=NULL) return
6、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“, while(!feof(fp) printf(“%d %f/n“,n,x); fscanf(fp,“%d%f“, fclose(fp); return 1; main() char
7、fname=“myfile3.txt“; fun(fname); (分数:10.00)_正确答案:(第一处:int fprintf(FILE *stream, const char *format ,argument, ); 因此本处只能填写文件流的变量 fp。 第二处:由于文件打开写操作,所以必须要关闭,因此,只能填写关闭文件的函数 fclose(fp)。 第三处:由于本题要把刚写入文件中的数据重新显示出来,读方式已经给出,但没有给出文件名,所以本处只能写文件名变量 fname或者直接给出文件名“myfile3.dat“。)解析:2.给定程序 MODI1.C中 fun函数的功能是:将 n个无
8、序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构! 给定源程序:(分数:10.00)_正确答案:(第一处:for 循环的终止值应该或者是=n-1。 第二处:使用临时变量 p来保存最小值位置i,所以应改为:p=i;。)解析:3.函数 fun的功能是: 将两个两位数的正整数 a、b 合并形成一个整数放在 c中。合并的方式是: 将 a数的十位和个位数依次放在 c数的个位和百位上, b 数的十位和个位数依次放在 c数的十位和千位上。 例如, 当 a=45, b=12时, 调用该函数后, c=2514。 注意: 部分源程序存在文件 PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数 main和其它函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 给定源程序: #include void fun(int a, int b, long *c) main() int a,b; long c; printf(“Input a, b:“); scanf(“%d,%d“, fun(a, b, printf(“The result is: %ld/n“, c); NONO(); (分数:10.00)_正确答案:( )解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1