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

    [计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷12及答案与解析.doc

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

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

    [计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷12及答案与解析.doc

    1、国家二级 C语言(函数和数组)机试模拟试卷 12及答案与解析 一、选择题 1 有以下程序 #include void main() int a=2, 3, 5, 4, i; for(i=0; i void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0), i; for(i=0; ibj: bi main() int s12=1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3 1, c5=0), i; for(i=0 ; i void fun(int*a,

    2、int n) *fun函数 的功能是将 a所指数组元素从大到小排序 * int t, i, j ; for(i=0; i main() int c6=10, 20, 30, 40, 50, 60), *p, *s; p=c; s=&c5; printf(“ d n“, s p); 程序运行后的输出结果是 ( A) 50 ( B) 6 ( C) 5 ( D) 60 10 以下叙述中正确的是 ( A)一条语句只能定义一个数组 ( B)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 ( C)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 ( D)在引用数组元素时,

    3、下标表达式可以使用浮点数 11 以下叙述中正确的是 ( A)语句 int a=0;是不合法的,遗漏了数组的大小 ( B)语句 chara2=“A“, “B“;是合法的,定义了一个包 含两个字符的数组 ( C)语句 int a8=0;是合法的 ( D)语句 chara3; a=“AB“;是合法的,因为数组有三个字符空间的容量,可以保存两个字符 12 如果定义 float a10, x;则以下叙述中正确的是 ( A)表达式 a+l是非法的 ( B)语句 a=&x;是非法的 ( C)三个表达式 a1、 *(a+1)、 *&a1表示的意思完全不同 ( D)表达式 *&a1是非法的,应该写成 *(&(a

    4、1) 13 有以下程序 #include main() int a=10, 20, 30, 40), *p=a, i; for(i=0; i main() int i, j=0; char a=“How are you!“, b10; for(i=0; ai; i+) if(ai=)bj+=ai+1; bj= 0; printf(“ s n“, b); 则程序的输出结果是 ( A) Howareyou ( B) Hay! ( C) Howareyou! ( D) ay 16 若有以下程序 #include char*a=“you“, b=“welcome#you# to=#China!”; m

    5、ain()int i, j=0; char *p; for(i=0 ; bi!= 0; i+) if(*a=bi) p=&bi; for(j=0; aj!= 0; j+) if(aj!=*p)break; p+; if(aj= 0)break; printf(“ s n“, p); ) 则程序的输出结果是 ( A) #you#to#China! ( B) mewou#to#China! ( C) #China! ( D) #to#China! 17 以下数组定义中错误的是 ( A) int x3=0; ( B) int x23=1, 2, 3, 4, 5, 6; ( C) int x3=1,

    6、2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 18 有以下程序 #include #de fine N 4 void fun(int aN, int b() int i; for(i=0; i,则输出结果为 ( A) 2 0 0 ( B) 2 4 0 ( C) 2 0 4 ( D) 2 4 6 22 有以下程序 #include int fun(int(*s)4, int n, int k) int m, i; m=s0k; for(i=1; im) m=sik; return m; main() int a44=1, 2, 3, 4), 11,

    7、12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34; printf(“ d n“, fun(a, 4, 0); 程序的运行结果是 ( A) 31 ( B) 34 ( C) 4 ( D) 32 23 有下列程序: main() int a44=1, 4, 3, 2), 8, 6, 5, 7), 3, 7, 2, 5, 4, 8, 6, 1), i, j, k, t; for(i=0; iaki)t=aji; aji=aki; aki=t; *按列排序 * for(i=0; i时,数组元素 x00=2、 x10=4、x20=6,因此,输出数组元素 x00=2、 x

    8、01=0、 x10=4的值 204。 【知识模块】 函数和数组 22 【正确答案】 A 【试题解析】 函数 fun(int(*s)4, int n, int k)的功能是返回二维数组第 k列的最大元素。在主函数中由于二维数组 a44已经初始化,所以 fun(a, 4, 0)的值是二维数组 a第 1列中的最大元素 3 1。 【知识模块】 函数和数组 23 【正确答案】 B 【试题解析】 最外层的 for语句的自变量 i是列下标,而内部的两个 for语句的自变量 i和 k是行下标。所以由程序段可知,这是利用三重循环对二维数组 a44的元素按列从小到大进行排序,所以最后排完序的结果为 a44=1,

    9、4, 2, 1,3, 6, 3, 2, 4, 7, 5, 5, 8, 8, 6, 7,最后一个 for语句的功能是输出数组 a44主对角线上的元素,因而输出为 1, 6, 5, 7。 【知识模块】 函数和数组 24 【正确答案】 D 【试题解析】 由于在程序中定义了二维数组 t3=9, 8, 7, 6, 5, 4, 3, 2,1;由二二维数组的存储方式按行存储,即初 始化完第一行的所有列再初始化下一行的元素。可知这是一个 3行 3列的二维数组,第一行的元素为 9, 8, 7,第二行的元素为 6, 5, 4,第三行的元素为 3, 2, 1。然后用 for循环输出t20、 t11、 t02,它们的

    10、值分别为 3、 5、 7。 【知识模块】 函数和数组 25 【正确答案】 D 【试题解析】 利用二重 for循环对二维数组 a44的丰对角线上的元素 1, 6,2, 1实现按列从大到小排序,所以数组 a44的值变为 6, 4, 3, 2, , 8,2, 5, 7, 3, 7, 1, 5, 4, 8, 6, 1,最后输出数组 a44第一行上的元素,所以输出结果为 6, 4, 3, 2。 【知识模块】 函数和数组 26 【正确答案】 C 【试题解析】 在 C语言中,二维数组的名字表示的是二维数组的地址,对于二维数组 int w3f5,可以认为 w为一个一维数组,含有 3个元素,而每个元素为一个含有 5个元素的一维数组。而 (w+1)为一个含有两个元素的一维数组,首先和(w+1)4结合非法, 4超出了二维数组的边界,取值也就是非法的了。 【知识模块】 函数和数 组 27 【正确答案】 D 【试题解析】 一维数组定义和初始化是允许省略行下标,不允许省略列下标。 【知识模块】 函数和数组 28 【正确答案】 C 【试题解析】 在理解:维数组的时候,可以把一个二维数组看成是一个一维数组,每个数组元素又是包含有若干个元素的一维数组,也就是具有行列的结构,二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。 【知识模块】 函数和数组


    注意事项

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




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

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

    收起
    展开