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

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

1、国家二级 C语言机试(操作题)模拟试卷 134及答案与解析 一、程序填空题 1 程序通过定义学生结构体变量,存储了学生的学号、姓名和 3门课的成绩。函数fun的功能是对形参 b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b所指变量 t中的学号、姓名、和三门课的成绩依次是: 10002、“ZhangQi“、 93、 85、 87,修改后输出 t中的数据应为: 10004、 “LiJie“、 93、 85、87。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程

2、序的结构 ! #include #include struct student long sno; char name10; float score3; ; void fun(struct student: *b) *found* b_1_=10004; *found* strcpy(b_2_, “LiJie”); main() struct student t=10002, “ZhangQi“, 93, 85, 8 7; int i; printf(“ n nThe original data: n“); printf(“ nNo: id Name: s nScores: “, t sno,

3、 t name); for(i=0; i0 00001) y=fun(a, x1); else y=x1; return y; mein() double x; printf(“Enter x: “);scanf(“ 1f“, x); printf(“The square root of ifis 1f n“, x, fun(x, 1 0); 三、程序设计题 3 学生的记录由学号和成绩组成, N名学生的数据已在主函数中放入结构体数组 s中,请编写函数 fun,它的功能是:把高于等于平均分的学生数据放在 b所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数值 返回。 注意:部

4、分源程序在文件 PROG1: C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #define N 12 typedef struct char num10; double s; STREC; double fun(STREC *a, STREC *b, int *n) main() STREC sN=“GA05“, 85, “GA03“, 76, “GA02“, 69, “GA04“, 85, “GA01“, 91, “GA07“, 72, “GA08“, 64, “GA06“, 87, “GA09“, 60, “

5、GA11”, 79), “GAl2“, 73), “GAl0“, 90); STREC hN, t; FILE *out; int i, j, n; double ave; ave=fun(s, h, n); printf(“The d student data which is higher than 7 3f: n“, n, ave); for(i=0; isno (2)-name (3)&t 【试题解析】 函数 fun的功能是对形参 b所指结构体变量中的数据进行修改。 第一空: “b_1_=10004; ”等号右边是整型值,故这里是修改结构体成员 sno的值, b是结构体指针,访 问结构

6、体数据成员时使用 “-”运算符,因此第一空为“b-sno”。 第二空: “strcpy(b_2_, ”LiJie”); ”, strcpy是字符串拷贝函数,因此这里是修改结构体的 name成员值,故第二空处为 “b-name”。 第三空: fun函数的定义形式是: void fun(struct student ),可知 fun的参数是指针,因此主函数内调用 fun函数时传入的参数是结构体 t的地址,故第三空处为“&t”。 二、程序修改题 2 【正确答案】 (1)double fun(double a, double x0) (2)if(fabs(x1-x0)0 00001) 【试题解析】 函

7、数的功能是应用递归算法求某数 a的平方根。 (1)主函数中 “fun(x, 1 0)”, x是 double型变量, 1 0是浮点数,可知 fun有两个 double型参数,而第一标识下 “dounle”不是 C语言关键字,所以应将 “double fun(doublea, dounle x0)”改为 “double fun(double a,double x0)”。 (2)第二个标识下的 if语句是判 断进行递归运算的条件,第二标识下变量 xo没有定义,根据题意,这里是判断 x1和 x0的差值的绝对值是否比 0 00001大,所以第二个标识下 “if(fabs(x1-xo)0 00001)”改为 “if(fabs(x1 x0)0 00001)”。 三、程序设计题 3 【正确答案】 dduble t=0; int i; *n=0; for(i=0; it)b (*n)+=ai; return t; 【试题解析】 该程序功能是把高于或等于平均分的学生数据放在 b所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数返回值返回。解题过程首先求得平均分,然后将所有成绩与平均分进行比较,如果大于或等于平均分,存入指定数组。

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

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

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