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

    【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷8及答案解析.doc

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

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

    【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷8及答案解析.doc

    1、国家二级 C语言机试(函数和数组)模拟试卷 8及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.有以下程序 int f(int x); main()int n=1,m; m=f(f(f(n); printf(“dn“,m); int flint x) return x*2;程序运行后的输出结果是(分数:2.00)A.1B.2C.4D.82.有以下程序 #includestdioh int fun(int x,int y) main() if(x=y)return(x); int a=4,b=5,c=6; else return(x+y)2);

    2、printf(“dn“,fun(2*a,fun(b,c); 程序运行后的输出结果是(分数:2.00)A.3B.6C.8D.123.有以下程序 #includestdioh main() int f(int x,int y) int a=3,b=4,c=5,d; return(y-x)*x); d=f(f(a,b),f(a,c); printf(“dn“,d); 程序运行后的输出结果是(分数:2.00)A.10B.8C.9D.74.有以下程序 #includestdioh double f(double x); main() double ffdouble X) double a=0;int i

    3、; return x*x+1; for(i=0;i30;i+=10)a+=f(double)i); printf(“50fn“,a);程序运行后的输出结果是(分数:2.00)A.401B.500C.503D.14045.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(分数:2.00)A.形参只是形式上的存在,不占用具体存储单元B.函数的形参和实参分别占用不同的存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元6.有以下程序 void fun(int a,int b,int c) a=b;b=c;c=a; main()int a=10,b=

    4、20,c=30; fun(a,b,C); printf(“d,d,dn“,c,b,a);程序运行后的输出结果是(分数:2.00)A.10,20,30B.20,30,10C.30,20,10D.0,0,07.有以下程序 #includestdioh int f(int x); main() int f(int x) int a,b=0; return x*x+1; for(a=0;a3;a+) b=b+f(a);putchar(A+b); (分数:2.00)A.BCDB.BDIC.ABED.BCF8.若有以下程序 void f(int x) main()int Z=123456; if(x=10

    5、) f(z); printf(“d-“,x10);f(x10); else printf(“d“,x);则程序的输出结果是(分数:2.00)A.6-5-4-3-2-1B.6-5-4-3-2-1-C.1-2-3-4-5-6D.1-2-3-4-5-6-9.以下与函数 fseek(fp,OL,SEEK_SET)有相同作用的是(分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)10.以下程序的功能是:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错 main() *Beginning* int r;float s; scanf(“d“,

    6、r); s=*r*r;printf(“s=fn“,s); 出错的原因是(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r不应该定义为整型C.输出语句中格式描述非法D.计算圆面积的赋值语句使用了非法变量11.以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void f(int b,int n,int flag) main() int i,j,t; int a10=5,4,3,2,l,6,7,8,9,10),i; for(i=0;in 一 1;i+) f(程序运行后的输出结果是(分数:2.00)A.8,17B.7,16C.8

    7、,8D.7,17国家二级 C语言机试(函数和数组)模拟试卷 8答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.有以下程序 int f(int x); main()int n=1,m; m=f(f(f(n); printf(“dn“,m); int flint x) return x*2;程序运行后的输出结果是(分数:2.00)A.1B.2C.4D.8 解析:解析:程序考查了函数的调用。对于 m=f(f(f(n);首先“算最内层的函数调用 f(n),执行 t函数,得到返回值 2,然后计算 f(2),得到返回值为 4,最后计算 f(4),得到计算结

    8、果为 8。2.有以下程序 #includestdioh int fun(int x,int y) main() if(x=y)return(x); int a=4,b=5,c=6; else return(x+y)2); printf(“dn“,fun(2*a,fun(b,c); 程序运行后的输出结果是(分数:2.00)A.3B.6 C.8D.12解析:解析:fun(b,c)即 fun(5,6),5!=6,所以返回(5+6)2=5;fun(2*a,5)即 fun(8,5),8!=5,所以返回(8+5)2=6。3.有以下程序 #includestdioh main() int f(int x,i

    9、nt y) int a=3,b=4,c=5,d; return(y-x)*x); d=f(f(a,b),f(a,c); printf(“dn“,d); 程序运行后的输出结果是(分数:2.00)A.10B.8C.9 D.7解析:解析:本题考查函数的嵌套调用。首先计算 f(a,b)与 f(a,c), f(a,b)=(ba)*a=3, f(a,c)=(ca)*a=6, 然后计算 f(3,6)=(63)*3=9。4.有以下程序 #includestdioh double f(double x); main() double ffdouble X) double a=0;int i; return x*

    10、x+1; for(i=0;i30;i+=10)a+=f(double)i); printf(“50fn“,a);程序运行后的输出结果是(分数:2.00)A.401B.500C.503 D.1404解析:解析:由于函数 f的作用是对形参 x求平方再加 1,所以在主函数中,循环第一次执行后变量 a的值等于 1,第二次执行后,变量 a的值等于 102,第 j次执行后,变量 a的值等于 503。5.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(分数:2.00)A.形参只是形式上的存在,不占用具体存储单元B.函数的形参和实参分别占用不同的存储单元 C.同名的实参和形参占同一存储单元

    11、D.函数的实参和其对应的形参共占同一存储单元解析:解析:在 C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值进行运算,最后通过 return语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。6.有以下程序 void fun(int a,int b,int c) a=b;b=c;c=a; main()int a=10,b=20,c=30; fun(a,b,C); printf(“d,d,dn“,c,b,a);程序运行后的输出结果是(分数:2.00)A.

    12、10,20,30B.20,30,10C.30,20,10 D.0,0,0解析:解析:函数 fun中采用了变量作为参数,那么参数传递以后,形参 a,b,c 的变化对于实参a,b,c 是没有影响的,因此主函数中 a,b,c 的值经过 fun调用以后,值没有变化。7.有以下程序 #includestdioh int f(int x); main() int f(int x) int a,b=0; return x*x+1; for(a=0;a3;a+) b=b+f(a);putchar(A+b); (分数:2.00)A.BCDB.BDI C.ABED.BCF解析:解析:在函数 main()中,第一次

    13、执行 for循环时,b 的值等于 1,此时输出字母 B;第二次执行for循环时,b 的值等于 3,此时输出字母 D;第三次执行 for循环时,b 的值等于 8,此时输出字母 I。8.若有以下程序 void f(int x) main()int Z=123456; if(x=10) f(z); printf(“d-“,x10);f(x10); else printf(“d“,x);则程序的输出结果是(分数:2.00)A.6-5-4-3-2-1 B.6-5-4-3-2-1-C.1-2-3-4-5-6D.1-2-3-4-5-6-解析:解析:函数 f的主要功能为逆置输出整数 x的每一位数据,如果 z的

    14、值为 123456,逆置输出的结果为 6-5-4-3-2-1。9.以下与函数 fseek(fp,OL,SEEK_SET)有相同作用的是(分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp) 解析:解析:本题主要考查文件系 IO函数的使用,fseek 函数用于设置文件指针的位置,feof 函数用于判断是否已经到了文件结束,ftell 函数返回文件指针的当前位置,fgetc 从文件读取一个字符,rewind函数将文件指针重新指向文件开始。题目当中 fseek(fp,OL,SEEK_SET)表示把文件指针移动到文件的开始位置 0,和 rewilld

    15、函数功能一致。10.以下程序的功能是:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错 main() *Beginning* int r;float s; scanf(“d“,r); s=*r*r;printf(“s=fn“,s); 出错的原因是(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量 r不应该定义为整型C.输出语句中格式描述非法D.计算圆面积的赋值语句使用了非法变量 解析:解析:本题考查了 C语言的基本输入输出函数。选项 A)错误,代码里面的注释是正确的,“*”和“*”配对;选项 B)错误,r 变量定义为整型是可以的;选项 C)输出语句格式正确;选项 D)正

    16、确,计算 s的时候 s=*r*r 使用了未定义变量北。11.以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void f(int b,int n,int flag) main() int i,j,t; int a10=5,4,3,2,l,6,7,8,9,10),i; for(i=0;in 一 1;i+) f(程序运行后的输出结果是(分数:2.00)A.8,17 B.7,16C.8,8D.7,17解析:解析:本题考查了静态变量以及局部变量的同名问题。主函数中调用 fun函数两次,第一次调用fun(4,1),形参 a和 b接收以后,i 值为 3,m 的值为 8,调用结束返回 8存放到 p中并且输出 p的值为8,除了静态变量 m和 i,变量 a,b 撤销。第二次调用 fun(4,1),接收实参值以后,i 为 3+8+1,而 m为 12+4+1,即输出函数值 17。


    注意事项

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




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

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

    收起
    展开