【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷15及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷15及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷15及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 15及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.有下列程序: #includestdioh *fun 函数的功能是将 a所指数组元素从大到小排序* void fun(int*a,int n) main() int t,i,j; int c10=1,2,3,4,5,6,7,8,9,0),i; for(i=0;in-1j+) fun(c+4,6); for(j=i+1 jnj+) for(i=0;i10;i+)printf(“d,“,ci); if(aiaj)t=ai;ai=aj;aj=t;prin
2、tf(“n“); 程序的运行结果是(分数:2.00)A.1,2,3,4,9,8,7,6,5,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,5,6,7,8,9,0,2.有以下程序 #include main() int c6=10,20,30,40,50,60,*p,*s; p=c: s=&c5; printf(“dn“,s-p); 程序运行后的输出结果是(分数:2.00)A.50B.6C.5D.603.以下叙述中正确的是(分数:2.00)A.一条语句只能定义一个数组B.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式C
3、.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元D.在引用数组元素时,下标表达式可以使用浮点数4.以下叙述中正确的是(分数:2.00)A.语句 int a=0;是不合法的,遗漏了数组的大小B.语句 char a2=“A“,“B“;是合法的,定义了一个包含两个字符的数组C.语句 int a8=0;是合法的D.语句 char a3;a=“AB“:是合法的,因为数组有三个字符空间的容量,可以保存两个字符5.如果定义 float a10,x;则以下叙述中正确的是(分数:2.00)A.表达式 a+1是非法的B.语句 a=&x:是非法的C.三个表达式 a1、*(a+1)、*&a1表
4、示的意思完全不同D.表达式*a1是非法的,应该写成*(a1)6.有以下程序 #include main() int a=10,20,30,40),*p=a,i; for(i=0;i2!116.以下数组定义中错误的是(分数:2.00)A.int x3=0;B.int x23=1,2,3,4,5,6;C.int x3=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;17.有以下程序 #include #define N 4 void fun(int aN,int b) int i; for(i=0;iA.一 12,一 3,0,0,B.一 3,一 1,1,3,C.0,1,2,3,
5、D.一 3,一 3,一 3,一 3,18.有以下程序 #include main()int b33=0,1,2,0,1,2,0,1,2,i,j,t=l; for(i=0;i2!1 解析:解析:本题考查数组的使用,C 语言中数组的下标从 0开始。本题中 a是一个二维数组,两个下标的范围分别是 01和 02。选项 A中第一个下标越界,超出了范围;选项 B中第一个和第二个下标都超出了范围;选项 C中第二个下标超出范围;选项 D中,12 的值为 0,!1 的值为 0,因此选项 D实际是访问 a00。16.以下数组定义中错误的是(分数:2.00)A.int x3=0;B.int x23=1,2,3,4,
6、5,6; C.int x3=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;解析:解析:二维数组的初始化有以下几种形式:分行进行初始化;不分行的初始化;部分数组元素初始化;省略第一维的定义,不省略第二维的定义。在选项 B中赋值号左边定义了一个 3行 2列的二维数组,而右边用 2行 3列的数字进行赋初值。所以出现了边界的越界溢出而出错。17.有以下程序 #include #define N 4 void fun(int aN,int b) int i; for(i=0;iA.一 12,一 3,0,0,B.一 3,一 1,1,3, C.0,1,2,3,D.一 3,一 3,一 3
7、,一 3,解析:解析:fun 函数的功能是求出二维数组 a中第 i行第 i个元素与第 N-1-i元素的差,赋给 bi。在主函数中,把实参二维数组 x和一维数组 y传递给形参 a和 b,最后输出一维数组 y中元素的值。18.有以下程序 #include main()int b33=0,1,2,0,1,2,0,1,2,i,j,t=l; for(i=0;i=ij+) t+-bibii/; printf(“dn“,t); 程序运行后的输出结果是(分数:2.00)A.3B.1C.9D.4 解析:解析:这道题主要考查的是二维数组的有关知识。在两层 for循环语句中,每次执行变量 t的累加时,二维数组元素
8、b的第二下标的值与第一下标相同的值,所以程序执行的过程为 t=1+b11+b22=1+1+2=4。19.以下定义数组的语句中错误的是(分数:2.00)A.int num3=1,2),3,4,5,6;B.int num=1,2,3,4,5,6;C.int num4=1,2,3,4,5,6;D.int num24=1,2,3,4,5,6; 解析:解析:在选项 D的数组定义中,赋值号左边定义了一个 2行 4列的二维数组,而在右边定义了一个3行 2列的二维数组。20.有下列程序: main() int x32=0),i; for(i=0;i,则输出结果为(分数:2.00)A.2 0 0B.2 4 0C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 数组 模拟 试卷 15 答案 解析 DOC
