[计算机类试卷]国家二级C语言机试(操作题)模拟试卷708及答案与解析.doc

上传人:jobexamine331 文档编号:498688 上传时间:2018-11-29 格式:DOC 页数:4 大小:40.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷708及答案与解析.doc_第1页
第1页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷708及答案与解析.doc_第2页
第2页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷708及答案与解析.doc_第3页
第3页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷708及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 708及答案与解析 一、程序填空题 1 函数 fun的功能是:计算直到 ,若x=2 5,函数值为: 1 917915。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1 C中。 不得增行或删行,也不得更改程序的结构 !1 #include stdio h 2 #include math h 3 double fun(double x)4 double f, t; int n; 5 f=1 0+x; 6 *found* 7 t=_1_; 8 n=1; 9 do10 n+; 11 *foun

2、d* 12 t *=(-1 0)*x _2_; 13 f+=t;14 15 *found* 16 while(_3_ =1e-6); 17 return f; 18 19 main()20 double x, y; 21 x=2 5; 22 y=fun(X); 23 printf( nThe resuit is:n); 24 printf(“x= -12 6f y= -12 6f n, x, y); 25 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:求整数 x的 y次方的低 3位值。例如,整数 5的 6次方为 15625,此值的低 3位值为 625。 请改正函数 fun

3、中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 long fun(int x, int y, long *p) 3 int i; 4 long t=l; 5 *found* 6 for(i=l; i y; i+) 7 t=t *x; 8 *p=t; 9 *found* 10 t=t 1000; 11 return t; 12 13 main() 14 long t, r; int x, y; 15 printf( nlnput x and y: ); scanf( 1d 1d, &x,

4、y); 16 t=fun(x, y, r); 17 printf( n nx= d, y= d, r= 1d, last= 1d n n, x, y, r, t); 18 三、程序设计题 3 请编写函数 fun,其功能是:计算并输出当 x 0 97时下列多项式的值,直到Sn-Sn-1 0 000001为止。 例如,在主函数中从键盘给 x输入 0 21后,输出为: s=1 100000。 注意:部分源程序在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中 填入你编写的若干语句。 1 #include stdio h 2 #includemath

5、 h 3 double fun(double x)4 5 6 NONO()7 *请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 * 8 FILE *rf, *wf; int i;double s, x; 9 rf=fopen(in dat, r); 10 wf=fopen(out dat, w); 11 for(i=0; i 10; i+) 12 fscanf(rf, 1f, &x); 13 s=fun(x); 14 fprintf(wf, 1f n, s); 15 16 fclose(rf); fclose(wf); 17 18 main()19 double x

6、, s; 20 printf(Input x: ); scanf( 1f, &x); 21 s=fun(x); 22 printf(s= f n, s); 23 NONO(); 国家二级 C语言机试(操作题)模拟试卷 708答案与解析 一、程序填空题 1 【正确答案】 (1)x (2)n (3)fabs(t) 【试题解析】 函数 fun的功能是计 算级数和。 第一空: “f=1 0+x; ”f的初始化为级数的前两项之和, do while循环从第三项 x2 2开始计算,第一空处是给 t赋初值, t表示级数项, “n+; t*=(-1 0)*x _2_; ”即第一次进入 do循环之后 n的值为

7、2,故 t的初值应该为 x,第一空处应为 “x”。 第二空:由审题分析可知,后一项乘 (-1)*x除以 n,故第二空处应为 “n”。 第三空:循环的终止条件是 (xn n!)的绝对值小于 1e-6,即只要 (xn n!)大于等于 1e-6, do循环就执行,故第三处应为“fabs(t)”, labs函数 的功能是求绝对值。 二、程序修改题 2 【正确答案】 (1)for(i=1; i =y; i+) (2)t=t 1000; 【试题解析】 函数的功能是求整数 x的 Y次方的低 3位值。 (1)第一个标识下的“for(i=l; i y; i+)”说明进行了 y-1次方,而不是 y次方,所以将 “

8、for(i=1; iy; i+)”改为 “for(i=1; i =y; i+)”。 (2)题目中要求截取前面求得结果的低三位,因此,第二个标识下 “t=t 1000; ”应该改为 “t=t 1000; ”。 三、程序设计题 3 【正 确答案】 1 int n=1; *循环计数 * 2 double sn=1; *累计数 * 3 double xn=l, xn1=0; *x的 n值,以及 x的 n-1值; * 4 while(fabs(xn-xn1) =0 000001) *绝对值是否满足条件 * 5 6 xn=xn*x*(0 5-n+1) n; *表达式分解以后 xn=(xn-1)*x*(0 5-n+1) n* 7 n+=1; 8 sn+=xn; *sn累加上 xn* 9 return (sn); 【试题解析】 (1)根据题干中给出的数列,推出每一项分子是在前一项分子的基础上乘以 (0 5-n+1)*x,分母则为阶乘,也就是在前一项分母的基础上乘以 n。 (2)在循环中求得每一项,然后对其进行累加求和。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1