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

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

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

2、_3_=1e一 6); return f; main()double x, y; x=2 5; y=fun(x); printf(“ nThe result is: n“); printf(“x=一 12 6f y=一 12 6f n“, x, y); 二、程序修改 题 2 给定程序 MODIl C中函数 fun的功能是:计算正整数 nUN的各位上的数字之积。 例如,若输入: 252,则输出应该是: 20。若输入: 202,则输出应该是: 0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #inClude long fun

3、(long num) *found* long k; do k*=num 1 0; *found* num =10; while(num); return(k); main() long n ; printf(“ nPlease enter a number: “); scanf(“ ld“, n); printf(“ n id n“, fun(n); 三、程序设计题 3 荫数 fun的功能是:将 s所指字符串中除了下标为偶数、同时 ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一 个新串放在 t所指的数组中。 例如,若 s所指字符串中的内容为: “ABCDEFGl2345

4、6“,其中字符 A的 ASCII码值为奇数,因此应当删除;其中字符 B的 ASCII码值为偶数,仇在数组中的下标为奇数,因此也应当删除:而字符 2的 ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后 t所指的数组中的内容应是:“246“。 注意:部分源程序存在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的化括号中填入你编写的若干语句。 #include #include void fun(char *s, char t) main() char s100, t100; void NONO(); printf(“ n

5、Please enter string S: “); s canf(“ s“, s); fun(s, t); printf(“ nThe result is: s n“, t); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * char s100, t100 ; FILE *rf, *wf ; int i; rf=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); for(i=0; i10; i+) fscanf(rf, “ s“, s); fun(s, t); fprintf(wf, “

6、s n“, t); fclose(rf); fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 194答案与解析 一、程序填空题 1 【正确答案】 (1)x (2)n (3)fabs(t) 【试题解析】 第一空: “f=1 0+x: ”f的初始化为级数的前两项之和, do while循环从第三项 x2 2开始计算,第一空处是给 t赋初值, t表示级数项, “n+;t*=(一 1 0)*x _2_; ”即第一次进入 do循环之后 n的值为 2,故 t的初值应该为 x,第一空处应为 “x”。 第二空:由审题分析可知,后一项乘以 (一 1)*x除以n,故第二空处应为 “n”。 第三空:循

7、环的终止条件是 (xn n!)的绝对值小于 le-6,即只要 (x0 n!)大于等于 le-6, do循环就执行,故第三处应为 “fabs(t)”, fabs函数的功能是求绝对值。 二、程序修改题 2 【正确答案】 (1)long k=1; (2)num =10; 【试题解析】 (1)第一个错误标识下的 k是函数的返回值,子函数 fun中在执行“k*=hum 10; ”之前,只进行了定义,却没有赋初值,编译时会警告变量在使用之前没有初始化 k。 k代表了各个位上的数字之积,其初值应为 1。因此,第 一个标识下的 “long k; ”改为 “long k=1; ”。 (2)第二个标识下的符号 “

8、 ”是非法字符,根据题意,这里应该是进行除法运算,所以 “num =10; ”应该改为 “num =10; ”。 三、程序设计题 3 【正确答案】 int i, j=0; for(i=0; istrlen(s); i+=2) if(si 2=0)tj+=si; tj= 0; 【试题解析】 (1)判断一个字符串中的某一字符下标 i是否为偶数,可用 “i2=0”来判断;也可以从 下标 0开始,每次增 2。判断字符中的 ASCII码值是否为偶数,则可用 “si 2=0”来判定。 (2)对串 s中下标为偶数的字符进行考查,满足 ASCII码值是偶数条件的字符就顺序放在新串 s中,甭则就不存放。 (3)所有字符处理完后,记得在新串 s的末尾加上结束符 “ 0”。

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

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

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