ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:31.50KB ,
资源ID:498282      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498282.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(操作题)模拟试卷342及答案与解析.doc)为本站会员(appealoxygen216)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、国家二级 C语言机试(操作题)模拟试卷 342及答案与解析 一、程序填空题 1 函数 fun的功能是:在有 n个元素的结构体数组 std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了 4名学生的数据,则程序运行的结果为: 学号: N1002 学号: N1006 共有 2位学生有不及格科目 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 typedef struct 3

2、char num8; 4 double score2; 5 *found* 6 _(1)_; 7 int fun(STU std, int n) 8 int i, k=0; 9 for(i=0; i n; i+) 10 *found* 11 if( stdi score0 60_(2)_stdi score1 60) 12 k+; printf (学号: s, stdi num); 13 *found* 14 return _(3)_; 15 16 main() 17 STU std4= N1001, 76 5, 82 0, N1002, 53 5, 73 0, N1005,80 5, 66

3、0, N1006, 81 0, 56 0; 18 printf( n共有 d位学生有不及格科目 n, fun(std, 4) ; 19 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:计算 S所指字符串中含有 t所指字符串的数目,并作为函数值返回。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include string h 3 #define N 80 4 int fun(char *s, char *t) 5 int n; 6 char *

4、p, *r; 7 n=0; 8 while(*s) 9 p=s; 10 *found* 11 r=p; 12 while(*r) 13 if(*r=*p) r+; p+; 14 else break; 15 *found* 16 if(*r=0) 17 n+; 18 s+; 19 20 return 0; 21 22 main() 23 char aN, bN; int m; 24 printf( nPlease enter stringa: ); gets(a); 25 printf( nPlease enter substring b: ); gets(b); 26 m=fun(a, b)

5、; 27 printf( nThe result is : m= d n, m); 28 三、程序设计题 3 学生的记录由学号和成绩组成, N名学生的数据已在主函数中放入结构体数组 s中,请编写函数 fun,它的功能是:把分数最低的学生数据放在 b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件 PROG1 C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 #define N 16 3 typedef struct 4 char num10

6、; 5 int s; 6 STREC; 7 int fun(STREC *a, STREC *b) 8 9 10 main() 11 STREC sN=GA05, 85, GA03, 76, GA02, 69, GA04,85, CA01, 91, GA07, 72, (GA08, 64, GA06, 87, CA015,85, CA013, 91, GA012, 64, GA014, 91, GA011, 91,GAO17, 64, GA018, 64, CA016, 72; 12 STREC hN; 13 int i, n; FILE *out; 14 n=fun(s, h); 15 pr

7、intf(The d lowest score: n, n); 16 for(i=0; i n; i+) 17 printf( s 4d n, hi num, hi s); 18 printf( n); 19 out=fopen(out dat, w); 20 fprintf(out, d n, n); 21 for(i=0; i n; i+) 22 fprintf(out, 4d n, hi s); 23 fclose(out); 国家二级 C语言机试(操作题)模拟试卷 342答案与解析 一、程序填空题 1 【正确答案】 (1)STU (2) (3)k 【试题解析】 第一空: “ (1) ;

8、 ”这一空出现在定义结构体时,这里使用了typedef就是很明显地要声明结构体类型,而这里则是要填写结构体类型名。这里就要知道 typedef的作用了, typedef是用来命名已有类型的,相当于给已经知道的类型 (如 int float)一个新的类型名,而这里命名的是一个结构体,这不同于结构体的类型定义,大括号后面填写的不是变量名表列,而是结构体类型名,相当于给一个名称或者一种新的类型。而根据后面程序己给出的部分,我们能清楚的看到定义的结构体类型名是 STU,所以这一空应该填的是 “STU”。 第二空: “if(stdi score0 60_(2)_stdi score1 60); ”这一空

9、出现在 fun函数中的 if条件语句中,根据 if后面的执行语句我们可以看到执行的人数的统计,所以这里应该就是在判断学生学科分 数是否及格的条件语句。对于一开始的结构体定义我们能够发现成员 score是长度为 2的数组,所以每个学生应该是有两门学科的分数需要来判定和统计的,而这两门学科中任意一门分数不够的话都定义为不及格,然后统计进入人数中,这里所填空的两边是两门学科的分数低于 60分,既然前面说了是任意一门低于 60即进入统计,那这里就应该是 “或 ”符号才符合要求,所以这一空应该填 “”。 第三空: “return_(3)_; ”这一空出现在 fun函数中,这里要填写的是 fun函数执行后

10、的返回值。根据题目的要求函数是要查找不及格的科目 的学生,找到学生学号,然后返回学生的人数,这一空前面已经执行了查找,统计人数和学号的输出,所以这里应该返回的就是不及格学生的人数。而根据前面的定义,人数统计的变量名应该是 k,所以这一空应该要填写的是 “k”。 二、程序修改题 2 【正确答案】 (1)r=t; (2)if(*r=0) 【试题解析】 函数的功能是计算字符串中含有某子串的数目。 (1)根据 “while(*r)if(*r=*p)r+; p+; ”可知该循环是比较 r和 p指向的字符串是否相等,本题的要求是计算字符串中含 有某子串的数目, p指向的源字符串s,所以 r应指向的是字符串

11、 t,故第一标识下应改成 “r=t;”。 (2)根据题意第二标识下 “if(*r=0)”应该是判断 r是否指向字符串尾,在 C语言中,等于是用 “=”标识,因此第二标识下应改成 “if(*r=0)”。 三、程序设计题 3 【正确答案】 1 int i, j=0, min=a0 s; 2 for(i=0 ; i N; i+) 3 if(min ai s) 4 j=0; bj+=ai; min=ai s; 5 6 else if(min=ai s) 7 bj+=ai; 8 9 return j; 【试题解析】 (1)要把最低分数的学生数据放在数组中,首先求出最低分数,再使用一个 for循环把所有的成绩进行比较,找出最低的分数来。 (2)找出所有与最低分数相等的学生,并将最低分数的人数累加。

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