1、国家二级 C+机试(操作题)模拟试卷 194及答案与解析 一、基本操作题 1 下列给定程序中,函数 fun的功能是:将自然数 1一 10及其平方根写到名为myfile3 txt的文本文件中,然后再顺序读出显示在屏幕上。 请在程序中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include int fun(char*fname) FILE*fp; int i, n; float x; if(fp=fopen(fname, “w“) =NULLl return 0; for(i=1
2、; i #include #include #define N 20 int fun(float*s, int n, float*aver) float: ave, t=0 0; int count=0, k, i; for(k=0; k #include #include void fun(int x, 2nt pp, int*n) void main() FILE*wf; int x, aa1000, n, i; system(“CLS“); printf(“ nPlease enter an integer number: n“); scanf(“ d“, &x); fun(x, aa,
3、 &n); for(i=0; in; i+) printf(“ d“, aai); printf(“ n“); *found* wf=fopen(“out dat“, “w“); fun(30, aa, &n); for(i=0; in; i+) fprintf(wf, “ d“, aai); fclose(wf); *found* 国家二级 C+机试(操作题)模拟试卷 194答案与解析 一、基本操作题 1 【正确答案】 (1)fp (2)fclose(fp) (3)fname 【试题解析】 填空 1: fprinff函数的形式是: fprintf(文件指针,格式字符串,输出表列 );,所以填
4、入文件指针 fp。 填空 2:文件一旦使用完毕,应使用关闭函数 fclose将文件关闭,以避免发生文件数据丢失等错误。 填空 3: fopen函数用来打开一个文件,其一般形式为:文 件指针名 =fopen(文件名,使用文件方式 );因此应填入文件名 fname。 二、简单应用题 2 【正确答案】 (1)t+=sk; (2)*aver=ave; 【试题解析】 根据题目要求,可利用循环语句累计 n个学生的总分,求得平均成绩后,再利用循环语句和条件选择语句进行后面的操作。若小于平均值,则将该值存放于 aver存储单元中。 t=sk是循环叠加错误, *aver=&ave为语法指向的错误。 三、综合应用
5、题 3 【正确答案】 void fun(int x, int pp, int*n) int i, j=0; for(i=1; i=x; i=i+2) *i的初始值为 0,步长为 2,确保 i为奇数 * if(x i=0) *将能整除 x的数存入数组 pp中 * PPj+=i; *n=j; *传回满足条件的数的个数 * 【试题解析】 本题考查:偶数的判定方法;整除的实现。 本题题干信息是:能整除 x且不是偶数的所有整数。循环语句中变量 i从 1开始且每次增 2,所以 i始终是奇数。 整除的方法,已经讲过多次,这里就不再赘述了。对于本题目要求 的不是偶数的判定方法,即该数对 2求余不为 0。除本题描述的方法外,还可以通过 for循环语句直接把偶数筛出去,确保参与操作的数均为奇数。