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

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

1、国家二级 C语言机试(操作题)模拟试卷 17及答案与解析 一、程序填空题 1 函数 fun的功能是:计算 直到若 x=2 5,函数值为: 1 917915。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl C中。 不得增行或删行,也不得更改程序的结构 !#include#includedouble 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; /*fou

2、nd*/ while( _3_ =le一 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 给定程序 MODll C中函数 fun的功能是:判断 ch中的字符是否与 str所指串中的某个字符相同;若相同,什么也不做,若不同,则将:其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #include #in

3、clude /*found*/ void fun(char str, char ch) while(*str *str!=ch)str+; /*found*/ if(*str=ch) str 0=ch; /*found*/ str1=0; main() char s81, c; printf(“ nPlease enter a string: n”); get: s(S); printf(“ n Please enter the character to search : ”); c=getchar(); fun(s, c); printf(“ nThe result is s n”, s);

4、 三、程序设计题 3 学生的记录由学号和成绩组成, N名学生的数据已在主函数中放入结构体数组 S中,请编写函数 fun,它的功能是:按分数的高低排列学生的记录,高分在前。 注意:部分源程序在文件 PROGl C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #defihe N 16 typedef struct char num10; int s; STREC; void fun(STREC a) main() STREC sN=“GA005”, 85), “GA003”, 76, “GA002”, 69), “GA

5、004”, 85), “GA001”, 91, “GA007”, 72, “GA008”, 64, “GA006”, 87, “GA015”, 85, “GA013”, 91, “GA012”, 64, “GA014”, 91, “GA011”, 66, “GA017”, 64, “GA018”, 64, “GA016”, 72; int i; FILE*out; fun(s); printf(“The data after sorted: n”); for(i=0; iN; i+) if(i) 4=0)printf(“ n”); printf(“ s 4 d ”, si num, si s)

6、; printf(“ n”); out=fopen(“out dat”, “w”); for(i=0; iN; i+) if(i) 4=0&i)fprintf(out, “ n”); fprintf(out, “ 4d”, Si s); fprintf(out, “ n”); fclose(out); 国家二级 C语言机试(操作题)模拟试卷 17答案与解析 一、程序填空题 1 【正确答案】 (1)x (2)n (3)fabs(t) 【试题解析】 函数 fun的功能是计算级数和。 第一空: “f=1 0+x; ”f的初始化为级数的前两项之和, do while循环从第三项 x2 2开始计算,第一

7、空处是给 t赋初值, t表示级数项, “n+; t*=(一 1 0)*x _2_; ”即第一次进入 do循环之后 n的值为 2,故 t的初值应该为 x,第一空处应为 “x”。 第二空:由审题分析可知,后一项乘以 (一 1)*x除以 n,故第二空处应为 “n”。 第三空:循环的终止条件是 (xn n!)的绝对值小于 le-6,即只要 (xn n!)大 于等于 1e一 6, do循环就执行,故第三处应为 “fabs(t)”, fabs函数的功能是求绝对值。 二、程序修改题 2 【正确答案】 (1)void fun(char *str, char ch) (2)if(*str !=ch) (3)st

8、r1= 0; 【试题解析】 函数功能首先是查找子串再判断。 (1)第一个标识下, “void fun(char str,char ch)”根据主函数中的 fun函数的调用“fun(s, c)”,知道 s为数组名,所以传的应该是数组地址,所以 应改为 “void fun(char *str, char ch)”。 (2)while循环中对 ch与 str进行匹配检查,第二个标识下,是当不同时执行连接操作,那么判断 *str与 ch是否不同的表达式应该是 “if(*str!=ch)”。 (3)第三个标识下,连接后的新串要添加结尾符,所以正确的表达是将“str1=0; ”改为 “str1= 0; ”。 三、程序设计题 3 【正确答案】 STREC tmp; int i, j; for(i=0; iN; i+) for(j=i+1; jN; j+) if(ai saj s) tmp=ai; ai=aj; aj=tmp; 【试题解析】 (1)在 fun函数中,通过循环对成绩记录进行排序。 (2)首次查找到最大的记录,第二次循环查找第二大的记录,依次实现对成绩记录的排序。

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

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

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