1、国家二级 C+机试(操作题)模拟试卷 154及答案与解析 一、基本操作题 1 给定程序中,函数 fun的功能是:计算下式前 11项的和,并作为函数值返回。例如,当形参 n的值为 10时,函数返回一 0 204491。 请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。 注意:源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #includedouble fun(int n) int i, k; double s, t; s=0;*found* k=【 1】; for(i=1; i0): “); scanf(“ d“, &n); ) printf (“
2、nThe result is: f n“, fun(n); 二、简单应用题 2 已知一个数列从 0项开始的前 3项: 0、 0、 1,以后的各项都是其相邻的前 3项之和。下列给定的程序中,函数 fun的功能是:计算并输出该数列前 n项的平方根之和 sum。 n的值通过形参传入。 例如,当 n=10时,程序的输出结果应为 23 197745。 请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件NODll C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include #include #include *found* fun(
3、int n) double sum, s0, s1, s2, s; int k; sum=1 0; if(n #include #define M 3 #define N 20 void fun(char aMN, char * b) void main() char WMN=“AAAA“, “BBBBBBB“, “CC“; char a100=“#“); int i j printf(“The string: n“); for(i=0; iM; i+) puts(wi); printf(“ n“); fun(w, a); printf(“The A string: n“); printf(“
4、 s“, a); printf(“ n n“); 国家二级 C+机试(操作题)模拟试卷 154答案与解析 一、基本操作题 1 【正确答案】 (1)1 (2)2*i (3)(一 1) 【试题解析】 填空 1:由 fun函数整体结构可以看出 k的作用是赋值,并累加各项前边的正负号,由于第一项是正的,因此赋给 k的值为 1。 填空 2:此空下一行的表达式 k*(2*i 1)*(2*i+1) (t*t)累加的通项, k为正负号,由题目中的公式可知 t=2*i。 填空 3:由于通项前边的正负号每次都要发生变化,因此 k=k*(一 1)。 二、简单应用题 2 【正确答案】 (1)double fun(in
5、t n) (2)return sum; 【试题解析】 (1)根据函数的返回值可知函数 fun应定义为 double类型。 (2)语法错误,缺分号。 三、综合应用题 3 【正确答案】 void fun(char aMN, char*b) int i, j, k=0; for(i=0; iM; i+) *将字符串数组中 的 M个字符串,按顺序存入一个新的字符串 * for(j=0; aij!= 0; j+) bk+=aij; bk= 0; *在字符串最后加上字符串结束标记符 * 【试题解析】 本题考查:字符串连接操作。本程序中第 1个 for循环的作用是对二维数组行的控制,第 2个循环的作用是从同一行中取出字符并存放到一维数组 b中,语句是 bk+=aij;。