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

    【计算机类职业资格】二级C语言机试-151及答案解析.doc

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

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

    【计算机类职业资格】二级C语言机试-151及答案解析.doc

    1、二级 C 语言机试-151 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是把数组 aa 中的偶数元素按原来的先后顺序放在原数组后面。例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。试题程序:#define N 10void fun (int aa )int i, j=0,k=

    2、0;int bb N;for (i=0;iN; i+)if ( 【1】 )bb k+ =aa i;elseaa j + =aa i;for(i=0; 【2】 ;i+,j+)aaj =bb i;main ( )int i;int aaN=33, 67,42,58,25, 76, 85, 16,41,56;clrscr ();printf(“/n* original list */n“);for (i=0;iN; i+)printf (“%4d“, aa i );fun (aa);printf(“/n* new list */n “);for (i=0; iN; i+)printf (“%4d“,

    3、 aa i );(分数:30.00)填空项 1:_二、改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:将字符串 p 中所有字符复制到字符串 b 中,要求每复制 3 个字符之后插入一个空格。例如,在调用 fun()函数之前给字符串 a 输入 ABCDEFGHIJK,调用函数之后,字符串 b 中的内容则为 ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序: #include stdio. hvoid fun (char *p, char *b)int i, k=

    4、0;while (*p)/*found*/i=l;/*found*/while (i3| *P)bk=*p;k+; p+; i+;if (*p)/*found*/bk= ;bk= /0;main ( )char a80,b80;printf (“Enter a string: “); gets (a);printf (“The original string: “);puts (a);fun (a,b);printf(“/nThe string after insertspace: “); puts(b); printf(“/n/n “);(分数:30.00)填空项 1:_三、编程题(总题数:

    5、1,分数:40.00)3.请编写函数 fun(),该函数的功能是:将 M 行 N 列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参 n 所指的存储单元中。例如,若二维数组中的数据为:33 33 33 3344 44 44 4455 55 55 55 则一维数组中的内容应该是 33 33 33 33 44 44 44 AA, 55 55 55 55 注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序: #include stdio. hvoid fun (int (*s)10,

    6、int *b, int *n,int mm, int nn)main ( )int w10 10=33,33,33,33,44,44,44,44,55,55,55,55, i, j;int a100=0,n=0 ;printf (“The matrix: /n“ );for (i=0; i3; i+)for (j+0; j4; j+)printf (“%3d“,wi j );printf (“/n“);fun (w,a, printf (“The A array: In“);for(i=0; in; i+)printf (“%3d“, a i );printf (“/n/n“);(分数:40.

    7、00)_二级 C 语言机试-151 答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是把数组 aa 中的偶数元素按原来的先后顺序放在原数组后面。例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。试题程序:#define N 10void fun (int aa )int i, j=0

    8、,k=0;int bb N;for (i=0;iN; i+)if ( 【1】 )bb k+ =aa i;elseaa j + =aa i;for(i=0; 【2】 ;i+,j+)aaj =bb i;main ( )int i;int aaN=33, 67,42,58,25, 76, 85, 16,41,56;clrscr ();printf(“/n* original list */n“);for (i=0;iN; i+)printf (“%4d“, aa i );fun (aa);printf(“/n* new list */n “);for (i=0; iN; i+)printf (“%4

    9、d“, aa i );(分数:30.00)填空项 1:_ (正确答案:1aai2=0 (2)ik)解析:解析 填空 1:如果一个数对 2 求余,结果为 0;则这个数为偶数,就把这个数先暂时存在数组bb 中。否则这个数为奇数,就存在数组 aa 中。填空 2:最后,将数组 bb 中的偶数都拷贝到数组 aa 中奇数的后面。变量 k 记录了原数组 aa 中偶数的个数,所以 for 循环的条件是 ik。二、改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:将字符串 p 中所有字符复制到字符串 b 中,要求每复制 3 个字符之后插入一个空格。例如,在调用 fun()函数之

    10、前给字符串 a 输入 ABCDEFGHIJK,调用函数之后,字符串 b 中的内容则为 ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序: #include stdio. hvoid fun (char *p, char *b)int i, k=0;while (*p)/*found*/i=l;/*found*/while (i3| *P)bk=*p;k+; p+; i+;if (*p)/*found*/bk= ;bk= /0;main ( )char a80,b80;printf (“Ente

    11、r a string: “); gets (a);printf (“The original string: “);puts (a);fun (a,b);printf(“/nThe string after insertspace: “); puts(b); printf(“/n/n “);(分数:30.00)填空项 1:_ (正确答案:错误:i=1; 正确:i=0;(2)错误:while(i3|*p) 正确:while(i3int a100=0,n=0 ;printf (“The matrix: /n“ );for (i=0; i3; i+)for (j+0; j4; j+)printf (

    12、“%3d“,wi j );printf (“/n“);fun (w,a, printf (“The A array: In“);for(i=0; in; i+)printf (“%3d“, a i );printf (“/n/n“);(分数:40.00)_正确答案:(void fun (int (*s)10, int *b, int *n, int mm, int nn) int i, j, k=0;for (i=0; i mm; i + ) / *将二维数组 s 中的数据按行的顺序依次放到一维数组 b 中* /for (j=0; jnn; j+) bk+=s i j; /*通过指针返回元素个数*/*n=k)解析:解析 我们可以用两个循环来处理问题,由于是按行的顺序取出,所以第 1 个循环用于控制行下标,第 2 个循环用于控制列下标;若改成按列的顺序取出,则循环应改成:for(i=0;inn;i+) for(j=0;imm;j+)bk+=sji;要注意 sji的下标,不能用 sij。若按行取出则列标变化最快,若按列取出则行标变化最快。再根据循环嵌套时,越在内层的循环,其循环变量变化就越快。上题程序中只有当 j 从头到尾变化完时,i 才变化一次(即加 1);由于二数组的第 1 个下标为行下标,第 2 个下标为列下标,所以第 1 个程序列变化最快、第 2 个程序行变化最快。


    注意事项

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




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

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

    收起
    展开