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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C语言机试(操作题)模拟试卷 673及答案与解析 一、程序填空题 1 函数 fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数 isleap用来判别某一年是否为闰年。 例如,若输入: 2008 5 1,则程序输出: 2008年 5月 1日是该年的第 122天。 请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h int isleap(int year) int leap; leap=(year 4=0&year 100 !=0|

2、year 400=0); return_1_; int fun(int year, int month, int day) int table13=0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; int days=0, i; for(i=1; i month; i+) days=days+tablei; *found* days=days+_2_; if(isleap(year)&month 2) *found* days=days+_3_; return days; main() int year, month, day, days; p

3、rintf(“请输入年、月、日: “); scanf(“ d d d“, &year, &month, &day); days=fun(year, month, day); printf(“ d年 d月 d日是该年的第 d天 n“, year, month, day, days); 二 、程序修改题 2 下列给定程序中,函数 fun的功能是:计算函数 F(x, y, z)=(x+y) (x-y)+(z+y) (z-y)的值。其中 x和 y的值不相等, z和 y的值不相等。 例如,当 x的值为 9, y的值为 11, Z的值为 15时,函数值为 -3 50。 请改正程序中的错误,使它能得出正确的

4、结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h #include math h #include stdlib h *found* #define FU(m, n)(m n) float fun(float a, float b, float c) float value; value=FU(a+b, a-b)+FU(c+b, c-b); *found* Return(Value); main() float x, y, z, sum; printf(“Input x y z: “); scanf(“ f f f“, &x, &y, &z)

5、; printf(“x= f, y= f, z= f n“, x, y, z); if(x=y|y=z) printf(“Data error! n“); exit(0); sum=fun(x, y, z); printf(“The result is: 5 2f n“, sum); 三、程序设计题 3 编写函数 void fun(char*tt, int pp),统计在 tt所指的字符串中 a到 z26个小写字母各自出现的次数,并依次放在 pp所指的数组中。 例如,当输入字符串 “abcdefgabcdeab“后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0

6、 0 0 0 0 0 0 0 0 0 0 0 0 注意:请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include stdio h #include string h void fun(char*tt, int p) main() char aa1000; int bb26, k; void NONO(); printf(“ nPlease enter a char string: “); scanf(“ s“, aa); fun(aa, bb); for(k=0; k 26; k+) printf(“ d“, bbk); p

7、rintf(“ n“); NONO(); void NONO() *本函数用于打开文件,输入测试数据, 调用 fun函数,输出数据,关闭文件。 * char aa1000; int bb26, k, i; FILE*rf, *wf; rf=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); for(i=0; i 10; i+) fscanf(rf, “ s“, aa); fun(aa, bb); for(k=0; k 26; k+) fprintf(wf, “ d“, bbk); fprintf(wf, “ n“); felose(rf); fclo

8、se(wf); 国家二级 C语言机试(操作题)模拟试卷 673答案与解析 一、程序填空题 1 【正确答案】 (1)leap (2)day (3)1 【试题解析】 本题考查:对循环结构的理解和掌握。 填空 1: leap isleap()函数判断是否是闰年,由于初始化 2月为 28天,但是闰年是29,所以闰年要多 加 1天, isleap()应该返回 0或者 1, leap的表达式为逻辑运算,得到的结果刚好是 0或 1。 填空 2: day前面累加了平年月份的天数,还需要加上日的天数。 填空 3:如果是闰年并且累加月份大于 2月,需要多加 1天。 二、程序修改题 2 【正确答案】 (1)#def

9、ine FU(m, n)(m) (n) (2)return(value); 【试题解析】 本题考查: C语言宏定义;函数返回值。 本题考查 C语言的宏定义,其格式为: #de6ne标识符字符串,中间要用空格分开。在该题中,标识符为 Fu(m, n), 字符串为 (m n),由题干信息可知, m、 n均为表达式,且先进行表达式运算,再进行除法运算,因此此处应为 (m) (n)。 三、程序设计题 3 【正确答案】 void fun(char*tt, int pp) int i: for(i=0; i 26; i+) ppi=0; *初始化 pp数组各元素为 0* for(; *tt!= 0; tt+) if(*tt =a&*tt =z) pp*tt-a+; 【试题解析】 本题考查: for循环语句,注意循环变量取值范围以及 循环体语句作用;数组元素初始化和赋值操作; if语句条件表达式,需注意条件表达式的逻辑运算;字符串结束标识 0。 要求统计在 tt所指字符串中 a z共 26个小写母各自出现的次数,并依次放在 pp所指数组中。首先使用 for循环语句初始化 pp数组中分别用来统计 26个字母的个数,再使用循环判断语句对 tt所指字符串中的字符进行逐一比较操作,同时存入相对应的 pp数组中。

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