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

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

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

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

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

    1、国家二级 C语言机试(操作题)模拟试卷 365及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:有 NN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。 例如,若 N=3,有下列矩阵: 1 2 3 计算结果为 7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #in

    2、clude stdio h 2 #define N 4 3 void fun(int(*t)N) 4 int j, rN; 5 for(j=0; j N; j+)rj=t0j; 6 for(j=0; j N; j+) 7 *found* 8 t0N-j-1=tj_1_; 9 for(j=0; j N; j+) 10 tj0=tN-1j; 11 *found* 12 for(j=N-1; j =0; _2_) 13 tN-1N-1-j=tjN-1; 14 for(j=N-1; j =0; j-) 15 *found* 16 tjN-1=r_3_; 17 18 main() 19 int tN=2

    3、1, 12, 13, 24, 25, 16, 47, 38, 29, 11, 32, 54, 42, 21,33, 10, i, j; 20 printf( nThe original array: n); 21 for(2=0; i N; i+) 22 for(j=0; j N; j+)printf( 2d”, tij); 23 printf( n); 24 25 fun(t); 26 printf( nThe result is: n); 27 for(i=0;i N; i+) 28 for(j=0; j N; j+)printf( 2d, tij); 29 printf( n); 30

    4、31 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:求出 s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串:若未找到,则函数值为 NULL。 例如,当字符串中的内容为 abcdabfabcdx“, t中的内容为 “ab”时,输出结果应是“abcdx”。 当字符串中的内容为 “abcdabfabcdx”, t中的内容为 “abd”时,则程序输出未找到信息 “notbe found!”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include

    5、stdio h 2 #include string h 3 char *fun(char*s, char*t) 4 5 char *p, *r, *a; 6 *found* 7 a=Null; 8 while(*s) 9 p=s; r=t; 10 while(*r) 11 *found* 12 if(r=p) 13 r+; p+; ) 14 else break; 15 if(*r= 0)a=s; 16 s+; 17 18 return a; 19 20 main() 21 22 char s100, t100, *p; 23 printf( nPlease enter string s: )

    6、; scanf( s, s); 24 printf( nPlease enter substringt: ); scanf( s, t); 25 p=fun(s, t); 26 if (p)printf( nThe result is: sin, p); 27 else printf( nNot found! n); 28 三、程序设计题 3 请编写函数 fun,函数的功能是:将 M行 N列的二维数组中的数据,按列的顺序依次放到一维数组中。 例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 44 55 33 44

    7、 55 33 44 55 33 44 55。 注意:部分源程序在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 void fun(int s10, int b, int*n, int mm, int nn) 3 4 5 main() 6 int w1010=33, 33, 33, 33, 44, 44, 44, 44, 55, 55, 55, 55,i, j; 7 int a100=(0), n=0; void NONO(); 8 printf(The matrix: n);

    8、9 for(i=0; i 3; i+) 10 for(j=0; j 4; j+) printf( 3d, wij); 11 printf( n); 12 fun(w, a, n, 3, 4); 13 printf(The A array: n); 14 for(i=0; i n; i+) printf( 3d, ai); printf( n n); 15 NONO(); 16 void NONO() 17 *请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 * 18 FILE *rf, *wf; int i, j, k; 19 int w1010, a100, n=0

    9、, mm, nn; 20 rf=fopen(in dat, r); 21 wf=fopen(out dat, w); 22 for(k=0; k 5; k+) 23 fscanf(rf, d d, j nn ; j+) fscanf(rf, d, wij); 26 fun(w, a, n, mm, nn); 27 for(i=0; i n; i+) fprintf(wf, 3d, ai); fprintf(wf, n); 28 29 fclose(rf); fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 365答案与解析 一、程序填空题 1 【正确答案】 (1)0 (2)j-

    10、(3)j 【试题解析】 第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是 “tj0”,第一行元素是 “t0N-j-1”,故第一空处应为 “0”。 第二空:第四个循环是最后一列成为最后一行,即将最后一列移动到最后一行, “for(j=N-1; j =0; _2_)”循环变量 i从 N-1开始,到 0结束,共循环 N次,故 j每次减 1,第三空处是 “i-”。 第三空:最后一个循环将临时数组中的元素成为最后 1列,即 “t=iN-1=rj”,故第三空处应为 “j”。 二、程序修改题 2 【正确答案】 (1)a=NULL; (2)if(*r=*p) 【试题解

    11、析】 函数功能是求得字符串中某子串最后一次出现的地址。 (1)第一个标识下面:语句 “a=Null; ”中的 Null未定义。 NULL代表空值,但程序中写成了Null。所以,改成 “a=NULL; ”。 (2)程序的主体是二重循环,其中外循环使指针 s逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针 p与 r所指字符串是否匹配。因为这里 p、 r是指针,如果使用判断表达式 “if(r=p)”,那么比较的是地址,而题目要求比较它们所指的字符。所以,改为: “if(*r=*p)”。 三、程序设计题 3 【正确答案】 1 int i, j; 2 for(j=0 ; j nn; j+) 3 for(i=0; i mm; i+) 4 b*n=*(*(s+i)+j); 5 *n=*n+1; 【试题解析】 (1)利用两重循环,依次取矩阵中的元素。 (2)其中注意指针数组与数组指针的区别,其中数组指针 s,它指向包含 4个元素的一维数组。其数据元素的表 示方式为: “*(*c(s+i)+j)”。


    注意事项

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




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

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

    收起
    展开