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

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

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

2、构! 1 #include stdio h 2 #include string h 3 struct student 4 long sno; 5 char name10; 6 float score3; 7 ; 8 void fun(struct student *b) 9 10 *found* 11 b_1_=10004; 12 *found* 13 strcpy(b_2_, LiJie); 14 15 main() 16 struct student t=10002, ZhangQi, 93, 85, 87; 17 int i; 18 printf( n nThe original dat

3、a: n); 19 printf( nNo: 1d Name: s nScores: , t sno, t name); 20 for(i=0; i 3; i+)printf( 6 2f, t scorei); 21 printf( n); 22 *found* 23 fun(_3_); 24 printf( nThe data after modified: n); 25 printf( nNo: 1d Name: s nScores: , t sno, t name); 26 for(i=0; i 3; i+)printf( 6 2f, t scorei); 27 printf( n);

4、28 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:应用递归算法求形参 a的平方根。求平方根的迭代公式如下: 例如, a为 2时,平方根值为: 1 414214。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 1 #include stdio h 2 #include math h 3 *found* 4 double fun(double a, dounle x0) 5 double x1, y; 6 x1=(x0+a x0) 2 0; 7 *found* 8 if(fabs(x1-x0) 0 00001

5、) 9 y=fun(a, x1); 10 else y=xl; 11 return y; 12 13 main() 14 double x; 15 printf(Enter x: ); scanf( 1f, x); 16 printf(The square root of 1f is 1f n, x, fun(x, 1 0); 17 三、程序设计题 3 学生的记录由学号和成绩组成, N名学生的数据已在主函数中放入结构体数组 s中,请编写函数 fun,它的功能是:把高于等于平均分的学生数据放在 b所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数值返回。 注意:部分源程序在文

6、件 PROG1 C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填 入你编写的若干语句。 1 #include stdio h 2 #define N 12 3 typedef struct 4 char num10; 5 double s; 6 STREC; 7 double fun(STREC *a, STREC *b, int *n) 8 9 10 main() 11 STREC sN=GA05”, 85, GA03”, 76, GA02, 69, GA04,85, GA01, 91, GA07, 72, GA08, 64, (GA06, 87, G

7、A09,60, GA11, 79, GAl2, 73, GAl0, 90; 12 STREC hN, t; FILE *out; 13 int i, j, n; double ave; 14 ave=fun(s, h, n); 15 printf(The d student data which is higher than 7 3f: n, n, ave); 16 for(i=0; i n; i+) 17 printf( s 4 1f n, hi num, hi s); 18 printf( n); 19 out=fopen(out dat, w); 20 fprintf(out, d n

8、7 3f n, n, ave); 21 for(i=0; i n-1; i+) 22 for(j=i+1; j n; j+) 23 if(hi s hj s)t=hi; hi=hj; hj=t; 24 for(i=0; i n; i+) 25 fprintf(out, 4 1f n, hi s); 26 fclose(out); 国家二级 C语言机试(操作题)模拟试卷 709答案与解析 一、程序填空题 1 【正确答案】 (1)- sno (2)- name (3) t 【试题解析】 函数 fun的功能是对形参 b所指结构体变量中的数据进行修改。 第一空: “b_1_=10004; ”等号右边是

9、整型值,故这里是修改结构体成员 sno的值, b是结构体指针,访问结构体数据成员时使用 “- ”运算符,因此,第一空为 “b- sno”。 第二空: “strcpy(b_2_, LiJie); ”, strcpy是字符串拷贝函数,因此,这里是修改结构体的 name成员值,故第二空处为 “b- name“。 第三空: fun函数的定义形式是: void fun(structstudent *b),可知 fun的参数是指针,因此,主函数内调用 fun函数时传入的参数是结构体 t的地址,故第三空处为 “ i N;i+-b)if(ai s t)b(*n)+=ai; 7 return t; 【试题解析】 该程序功能是把高于或等于平均分的学生数据放在 b所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数返回值返回。解题过程首先求得平均分,然后将所有成绩与平均分进行比较,如果大于或等于平均分,存入指定数组。

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

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

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