欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:498197       资源大小:31.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、国家二级 C语言机试(操作题)模拟试卷 266及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:计算 X所指数组中 N个数的平均值 (规定所有数均为正数 ),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。 例如,有 10个正数: 46、 30、 32、 40、 6、 17、 45、 15、 48、 26,平均值为30 500000。 主函数中输出 m=30。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。不 得增行或删行,也不得更改程序的结构 ! 试题程序: 1

    2、 #include Stdlib h 2 #include Stdio h 3 #define N 10 4 double fun(double X, double*av) 5 int i, j; double d, S ; 6 s=0; 7 for(i=0, i N, i+)s=s+xi; 8 *found* 9 【 1】 =S N; 10 d=32767; 11 for(i=0; i N; i+) 12 if(xi *av *av xi =d) 13 *found* 14 d=*av xi; 15 j=【 2】 ; 16 17 *found* 18 return【 3】 ; 19 20 m

    3、ain() 21 int i; double xN, av, m; 22 for(i=0; i N; i+) 23 xi=rand() 50; 24 printf(“ 4 0 f“, xi); 25 printf(“ n“); 26 m=fun(x, &av); 27 printf(“ nThe average is: f n”, av); 28 printf(“m= 5 1 f“, m); 29 printf(“ n“); 30 二、程序修改题 2 下列给定程序中函数 fun的功能是:用递归算法计算斐波拉契数列中第 n项的值。从第 1项起,斐波拉契数列为: 1, 1, 2, 3, 5, 8,

    4、 13, 21。 例如,若给 n输入 7,则该项的斐波拉契数值为 13。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stctio h long fun(int g) *found* switch(g); case 0: return 0; *found* case 1; case 2: return 1; return(fun(g 1)+fun(g 2); void main() long fib; int n; printf(“Input n: “); scanf(“ d“, n); pri

    5、ntf(“n= d n“, n); fib=fun(n); printf(“fib= d n n“, fib); 三、程序设计题 3 请编写函数 fun,该函数的功能是:统计各年龄段的人数。 N个年龄通过调用随机函数获得,并放入主函数的 age数组中。要求函数把 0 9岁年龄段的人数放在d0中,把 10 19岁年龄段的人数放在 d1中,把 20 29岁年龄段的人数放在d2中,依此类推,把 100岁 (含 100岁 )以上年龄的人数都放在 d10中。结果在主函数中输出。 注意:部分源程序在文件 PROG1 C中。 请勿改动 mmn函数和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的

    6、若干语句。 试题程序: #include stdio h #define N 50 #define M 11 void fun(int*a, int; *b) double rnd() static t=29, c=217, m=1024, r=0; r=(r*t+c) m; return(doubZe)r m); void main() FILE*wf; int ageN, i, dM; int bN=32, 45, 15, 12, 86, 49, 97, 3, 44, 52, 17, 95, 63; for(i=0; i N; i+) agei=(int)(115*rnd(); *产生一个

    7、随机的年龄数组 * printf(“The original data: n“); for(i=0; i N; i+) printf(i+1) 10=0?“ 4d n“: “ 4d“, agei); *每行输出 10个数 * printf(“ n n“); fun(age, d); for(i=0; i 10; i+) printf(“ 4d- 4d: 4d n“, i*10, i*10+9, di); printf(“Over 100: 4d n“, d10); * wf=fopen(“out dat“, “w“); fun(b, d); for(i=0; i 10; i+) fprintf

    8、(wf, “ 4d- 4d: 4d n“, i*10, i*10+9, di); fprintf(wf, “over 100: 4d“, d10); fcloSe(wf); * 国家二级 C语言机试(操作题)模拟试卷 266答案与解析 一、程序填空题 1 【正确答案】 (1)*av (2)i (3)xj 【试题解析】 填空 1:从原程序中可以看出 *av代表的是平均值,而 s N表示的就是平均值,因此本空应该填 *aV。 填空 2: if语句来判断找最接近平均值的数,因而此空应该填 i。 填空 3:题目要求将小于平均值且最接近平均值的数作为函数返回,而 j表达的是最接近平均值的数在数组中的下标

    9、,因而本空应该填写 xj。 二、程序修改题 2 【正确答案】 (1)去掉分号 (2)case 1: case 2: retum 1; 【试题解析】 本题考查: switch语句。其一般形式如下: switch(表达式 ) case常量表达式 1:语句 l; case常量表达式 2:语句 2; case常量表达式 n:语句 n; default:语句 n+1; 其中 switch(表达式 )后不应该带有 “; ”,同时 case语句常量后应该是 “: ”。 C语言中, switch语句之后不能有分号,并且 case语句常量后应用的是冒号。 三、程序设计题 3 【正确答案】 Void fun(in

    10、t*a, int*b) int i, j; for(j=0; j M; j+) bj=0; *数组 b初始化为 0* for(i=0; i N; i+) if(ai =100) b10+; *如果年龄大于等于 100, b10自增 1* else bai 10+; *如果年龄小于 100,则将其分别统计到 bai 10中 * 【试题解析】 本题是一个分段函数的问题,用两个循环来完成。第 1个循环的作用是使 b中的所有元素值都为 0。这个循环不能省略,因为若未对 b中的元素赋初值,则它们的值是不可预测的。第 2个循环的作用是分别统计 a中各年龄段的人数。当 ai100时,按题意要将其统计到 b10中。 else的作用是如果年龄小于100,则将其分别统计到 bai 10中。由运算优先级可知先进行 ai 10的运算,所得结果作为 b的下标。若 ai为 0 9时, ai 10的值为 0,且 0 9岁的人数正好要存入 b0中。若 ai为 10 19时, ai 10的值为 1,且 10 19岁的人数正好要存入 b1中,依此类推。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开