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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷420及答案解析.doc

1、国家二级 C语言机试(操作题)模拟试卷 420及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是: 找出 NxN矩阵中每列元素中的最大值,并按顺序依次存放于形参 b所指的一维数组中。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdioh #define N 4 void fun (int (*a) N, int *b) int i,j; for(i=0;i N;i+)

2、/*found*/ bi= 【1】 ; for(j=1;j N;j+) /*found*/ if (bi 【2】 aji) bi=aji; main() int xNN=12,5,8,7, 6,1,9,3),1,2,3,4),2,8,4,3, yN,i; printf (“/nThe matrix :/n“) ; for(i=O;i N;i+) for(j=0;j N;j+) printf (f 4d“,xi jl) ; printf (“/n“) ; /*found*/ fun ( 【3】 ); printf (“/nThe result is:“) ; for(i=0;i N;i+) pr

3、intf (“3d“,yi) ; printf (“/n“) ; (分数:2.00)_二、程序修改题(总题数:1,分数:2.00)2.下列给定程序中,函数 fun的功能 是:将主函数中两个变量的值进行交换。例如,若变量 a中的值为8,b 中的值为 3,则程序运行后,a 中的值为 3,b 中的值为 8。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1C 中,不要改动 maln函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include stdioh /*found*/void fun (int x,int y) int t;/*found*/t=x;x

4、=y;y=t;void main () int a,b; a =8; b =3;fun(&a,&b); printf (“ d d/n “, a,b) ; (分数:2.00)_三、程序设计题(总题数:1,分数:2.00)3.编写函数 int fun( int lim,int aa MAX),其功能是求出小于或等于 lim的所有素数并放在 aa数组中,并返回所求出的素数的个数。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序:#include conioh #include stdio h #

5、include stdlib h #define MAX 100int fun (int lim, int aaMAX)void main () FILE *wf; int limit,i, sum; int aaMAX ; system (“CLS“) ; printf “输入_个整数: “ ) : scanf ( “ d“ , &limit) ; sum = fun (limit,aa) ; for (i =0;i sum;i+) if (1 10 =0&i!=0)/ *每行输出 10个数 * / printf (“/n “) ; printf (“ 5d “,aai ) : /*foun

6、d*/ wf = fopen (“outdat“, “w“) ; sum = fun (15, aa) ; for (i =0;i sum;i +) if (1 10 =0&11=0)/*每行输出 10 个数* / fprintf (wf, “/n“) ; fprintf (wf, “5d “,aai ) ; fclose (wf) ;/*found*/(分数:2.00)_国家二级 C语言机试(操作题)模拟试卷 420答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是: 找出 NxN矩阵中每列元素中的最大值,并按顺序

7、依次存放于形参 b所指的一维数组中。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdioh #define N 4 void fun (int (*a) N, int *b) int i,j; for(i=0;i N;i+) /*found*/ bi= 【1】 ; for(j=1;j N;j+) /*found*/ if (bi 【2】 aji) bi=aji; main() int xNN=12,5,8,7, 6,1,9,3),1,2,3,4),

8、2,8,4,3, yN,i; printf (“/nThe matrix :/n“) ; for(i=O;i N;i+) for(j=0;j N;j+) printf (f 4d“,xi jl) ; printf (“/n“) ; /*found*/ fun ( 【3】 ); printf (“/nThe result is:“) ; for(i=0;i N;i+) printf (“3d“,yi) ; printf (“/n“) ; (分数:2.00)_正确答案:(正确答案:(1)a0i (2) (3)x,y)解析:解析:填空 1:数组 b用于存放每列元素中的最大值,首先将第 i列的第一个数

9、赋给 bi,然后用bi与其他数进行比较,因此此空应填 a0i。 填空 2:if 条件表达式表示当 bi小于 aji时,就把 aji的值赋给 bi,因此此空应该填 。 填空 3:fun 函数的调用,通过 fun(int(*a)N,int*b)可知,此空应该填 x,y。二、程序修改题(总题数:1,分数:2.00)2.下列给定程序中,函数 fun的功能 是:将主函数中两个变量的值进行交换。例如,若变量 a中的值为8,b 中的值为 3,则程序运行后,a 中的值为 3,b 中的值为 8。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1C 中,不要改动 maln函数,不得增

10、行或删行,也不得更改程序的结构! 试题程序:#include stdioh /*found*/void fun (int x,int y) int t;/*found*/t=x;x=y;y=t;void main () int a,b; a =8; b =3;fun(&a,&b); printf (“ d d/n “, a,b) ; (分数:2.00)_正确答案:(正确答案:(1) void fun(int*xint*y) (2)t=*x; *x=*y; *y =t;)解析:解析:(1)本题考查指针变量作函数参数。一般变量作参数时,不能改变实参的值,采用指针变量作为参数则能够改变实参的值。主函

11、数中 fun函数的调用方式表明 fun函数的参数应当为指针类型。 (2)此处是一个变量交换操作错误,可知 x、y 是指针类型,变量类型不同,因而 x、y 不能与 t进行值的交换。三、程序设计题(总题数:1,分数:2.00)3.编写函数 int fun( int lim,int aa MAX),其功能是求出小于或等于 lim的所有素数并放在 aa数组中,并返回所求出的素数的个数。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序:#include conioh #include stdio h

12、#include stdlib h #define MAX 100int fun (int lim, int aaMAX)void main () FILE *wf; int limit,i, sum; int aaMAX ; system (“CLS“) ; printf “输入_个整数: “ ) : scanf ( “ d“ , &limit) ; sum = fun (limit,aa) ; for (i =0;i sum;i+) if (1 10 =0&i!=0)/ *每行输出 10个数 * / printf (“/n “) ; printf (“ 5d “,aai ) : /*fou

13、nd*/ wf = fopen (“outdat“, “w“) ; sum = fun (15, aa) ; for (i =0;i sum;i +) if (1 10 =0&11=0)/*每行输出 10 个数* / fprintf (wf, “/n“) ; fprintf (wf, “5d “,aai ) ; fclose (wf) ;/*found*/(分数:2.00)_正确答案:(正确答案:int fun (int lim, int aa MAX) int i,j,k =0; for(i=2;i =1im;i+)/*求出小于或等于 lim的全部素数*/ for(j=2; j i; j+) if (ij =0) break; if(j =i) aak+=i;/*将求出的素数放入数组 aa中*/ return k;/*返回所求出的素数的个数*/ )解析:解析:本程序如果一个数是合数,那么它的最小质因数肯定小于等于他的平方根。使用 for循环语句查找小于 lim的所有数,使用内嵌的循环判断语句判断该数是否为素数。在做这道题时,需要重点掌握素数的判定方法: for(j =2;j sqrt(i);j+) if(ij=0) break;

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