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

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

1、国家二级 C语言机试(操作题)模拟试卷 655及答案与解析 一、程序填空题 1 使用 VC+2010打开考生文件夹下 blank1中的解决方案。此解决方案的项目中包含一个源程序文件 blank1 c。在此程序中,函数 fun的功能是:将形参指针所指结构体数组中的三个元素按 num成员进行升序排列。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h typedef struct int num; char name10; PERSON; *found* voi

2、d fun(PERSON【 1】 *found* 【 2】 temp; if(std0 bum sid1 num) temp=std0; std0=std1; std1=temp; ) if(std0 num std2 num) temp=std0; stdr0=sid2; std2=temp; if(std1 num std2 num) temp=std1; std1=std2; std2=temp; main() PERSON std=5, “Zhanghu“, 2, “WangLi“, 6, “LiniVlin“; int i; *found* fun【 3】 ; printf(“The

3、 result is“: ); for(i=0; i 3; i+) printf(“ d, s“, stdi num, stdi name); 二、程序修改题 2 使用 VC+2010打开考生文件夹下 modi1中的解决方案。此解决方案的项目中包含一个源程序文件 modi1 C。此程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里 “单词 “是指由空格隔开的字符串 )。例如,若输入 “I am a student to take the examination“,则应输出 “I Am A Student To Take The Examination

4、“。 请改正程序中的错误 ,使程序能得出正确的结果。 注意:部分源程序在文件 MODll C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include string h #include conio h #include ctype h #include stdio h #include string h *found* void upfst(char p) int k=0; for(; *p; p+) if(k) if(*p= ) k=0; else if(*p!= ) k=1; *p=toupper(*p); vo

5、id main() char chrstr81; system(“CLS“); printf(“ nPlease enter an English text line: “); gets(chrstr); printf(“ nBoforechanging: n s“, chrstr); upfst(chrstr); printf(“ nAfterchanging: n s n“, chrstr); 三、程序设计题 3 使用 VC+2010打开考生文件夹下 prog1中的解决方案。此解决方案的项目中包含一个源程序文件 prog1 c。在此程序中,某学生的记录由学号、 8门课程成绩和平均分组成,学

6、号和 8门课程的成绩已在主函数中给出,请编写函数 fun,其功能是:求出该学生的平均分,并放人记录的 ave成员中。 例如,学生的成绩是: 85 5, 76, 69 5, 85, 91, 72, 64 5, 87 5,则他的平均分应为 78 875。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun部位中填入你编写的若干语句。 试题程序: #include stdio h #defiFie N8 typedef struct char num10; double sN; double ave; STREC; void fun(STREC*a) voi

7、d main() STREC s=“GA005“, 85 5, 76, 69 5, 85, 91, 72, 64 5, 87 5; int i; fun(&s); printf(“The s rs student data: n“, s num); for(i=0; i N; i+) printf(“ 4 if n“, s si); printf(“ nave= 7 3f n“, s ave); 国家二级 C语言机试(操作题)模拟试卷 655答案与解析 一、程序填空题 1 【正确答案】 (1)std (2)PERSON (3)std 【试题解析】 填空 1:定义形参变量引用数组 std,此时形

8、参可以定义为指针变量,也可以定义为数组。由下文可 知,程序是通过数组下标对数组元素进行操作的,因此形参应使用数组形式,而非指针形式。 填空 2:程序使用变量 temp交换结构体数组元素的值,因而 temp应定义为PERSON型。 填空 3:程序通过函数 fun对数组 std进行操作,因此函数的实参应为 std。 二、程序修改题 2 【正确答案】 void upfst(char*p) 【试题解析】 主函数中 fun函数的调用方式说明函数 fun的参数应为指针类型。 三、程序设计题 3 【正确答案】 void fun(STREC*a) int i; a- ave=0 0; for(i=0; i N; i+) a- ave=a- ave+a- si; *求各门课程成绩的总和 * a- ave=a- ave N; *求平均分 * 【试题解析】 本题考查自定义形参的相关知识点,程序流程为:在 fun函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参 STREC*a,此时,引用成员的方式可以使用指向运算符,即 a- ave和 a-si,也可用 (*a) ave和 (*a) si。

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

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

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