【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷10及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷10及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷10及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 10及答案解析(总分:54.00,做题时间:90 分钟)一、选择题(总题数:27,分数:54.00)1.有以下程序 #includestdioh main() int a=10,20,30,40),*p=a,i; for(i=0;i=3;i+)ai=*p;p+; pfintf(“dn“,a2);程序运行后的输出结果是(分数:2.00)A.20B.30C.10D.402.若有以下程序 main()int i,j=0; char a=“How are you!“; for(i=0;ai;i+) if(ai!=)aj+=ai; aj=0; printf(“
2、sn“,a);则程序的输出结果是(分数:2.00)A.HowareyouB.Hay!C.Howareyou!D.How are you!3.若有以下程序 #includestdioh main()int i,j=0; char a=“How are you!“,b10; for(i=0;ai;i+) if(ai=)bj+=ai+1; bj=0; printf(“sn“,b);则程序的输出结果是(分数:2.00)A.HowareyouB.Hay!C.Howareyou!D.ay4.若有以下程序#include char*a=“you“,b=“welcome#you#to#China!“; mai
3、n()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(“sn“,p);则程序的输出结果是(分数:2.00)A.#you#to#China!B.me#you#to#China!C.#China!D.#to#China!5.以下能正确定义二维数组是(分数:2.00)A.int a3;B.int a3=2*3;C.int a3=;D.int a23=1),2),3,4);6.若有以下说明和语句 int c45,(*p)5;
4、p=c;能够正确引用 c数组元素的是(分数:2.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2)7.若有定义语句:int k23,*pk3;,则以下语句中正确的是(分数:2.00)A.pk=k;B.pk0=k12;C.pk=k0;D.pk1=k;8.若有定义语句:int a36;,按在内存中的存放顺序,a 数组的第 10个元素是(分数:2.00)A.a04B.a13C.a03D.a149.若有定义语句:int a23,*p3;,则以下语句中正确的是(分数:2.00)A.p=a;B.p0=a;C.p0=a12;D.p1=a;10.若有定义:int a23;,以下选项中对 a
5、数组元素正确引用的是(分数:2.00)A.a2!1B.a23C.a03D.a12!111.以下数组定义中错误的是(分数: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;12.有以下程序 #includestdioh #define N 4 void fun(int aN,int b) int i; for(i=0;iN;i+)bi=aiiaiN1i; void main() int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i;
6、 fun(x,y); for(i=0;iN;i+)printf(“d,“,yi);printf(“n“):程序运行后的输出结果是(分数:2.00)A.12,3,0,0,B.3,1,1,3,C.0,1,2,3,D.3,3,3,3,13.有以下程序 #include main()int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i=i;j+) t+=bibji/; printf(“dn“,t);程序运行后的输出结果是(分数:2.00)A.3B.1C.9D.414.以下定义数组的语句中错误的是(分数:2.00)A.int num3=1,2,3,4,5,6;B.in
7、t 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);15.有下列程序: main() int x32=0,i; for(i=0;i3;i+)scanf(“d“,xi); printf(“3d3d3dn“,x00,x01,x10);若运行时输入:2 4 6CR,则输出结果为(分数:2.00)A.2 0 0B.2 4 0C.2 0 4D.2 4 616.有以下程序 #includestdioh int fun(int(*s)4,int n,int k) int m,i; m=s0k;for(i=1;in;i+)if(
8、sikm)m=sik; return m; main() int a44=1,2,3,4),11,12,13,14,21,22,23,24,31,32,33,34; printf(“dn“,fun(a,4,0);程序的运行结果是(分数:2.00)A.31B.34C.4D.3217.有下列程序: 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;i4;i+) for(j=0;j3;j+) for(k=j+1;k4;k+) if(ajiaki)t=aji;aji=aki;aki=t;*按列排序* for(i=0;i4;
9、i+)printf(“d,“,aii); 程序运行后的输出结果是(分数:2.00)A.8,7,3,1,B.1,6,5,7,C.4,7,5,2,D.1,6,2,1,18.有下列程序: main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+) printf(“d“,t2ii);程序执行后的输出结果是(分数:2.00)A.7 5 3B.3 6 9C.7 5 1D.3 5 719.有下列程序: main() int a44=1,4,3,2,8,6,5,7),3,7,2,5,4,8,6,1,i,k,t; for(i=0;i3;i+) for(k=i+1;k4;k
10、+)if(aiiakk)t=aii;aii=akk;akk=t; for(i=0;i4;i+)printf(“d,“,a0i); 程序运行后的输出结果是(分数:2.00)A.6,2,1,1,B.,1,1,2,6,C.2,3,4,6,D.6,4,3,2,20.若有定义: int w35;则以下不能正确表示该数组元素的表达式是(分数:2.00)A.*(*w+3)B.*(*(w+1)C.*(w+1)4D.*(w00+1)21.以下错误的定义语句是(分数:2.00)A.int x43=1,2,3,1,2,3,1,2,3,1,2,3;B.int x3=0),1,1,2,3;C.int x3=1,2,3,
11、4;D.int x4=1,2,3,1,2,3),1,2,3,1,2,3;22.以下叙述中正确的是(分数:2.00)A.语句 int a43=1,2,4,5;是错误的初始化形式B.语句 int a3=1,2,4,5;是错误的初始化形式C.在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵D.语句 int a43=1,2,4,5;是错误的初始化形式23.设有定义: int x23;则以下关于二维数组 x的叙述错误的是(分数:2.00)A.数组 x可以看作是由 x0和 x1两个元素组成的一维数组B.可以用 x0=0;的形式为数组所有元素赋初值 0C.元素 x0可看作是由 3个整型元素组成的一维
12、数组D.x0和 x1是数组名,分别代表一个地址常量24.有以下程序 #includestdioh #define N 3 void fun(int aN,int b) main() int i,j; int xNN=1,2,3,4,5,6,7,8,9),yN,i; for(i=0;iN;i+) fun(x,y); bi=ai0; for(i=0;iN;i+)printf(“d,“,yi); for(j=1,jN;j+) printf(“n“);if(biaij) bi=aij; (分数:2.00)A.1,3,5,B.2,4,8,C.3,5,7D.3,6,9,25.以下语句中存在语法错误的是(分
13、数:2.00)A.char ss20=“right?“;B.char*ss6;ss1=“right?“;C.char*ss=“right?“;D.char ss620;ss1=“right?“;26.下面是有关 C语言字符数组的描述,其中错误的是(分数:2.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串27.以下选项中有语法错误的是(分数:2.00)A.char str310;str1=“guest“;B.char str10=“guest“;C.char*str3;str1=“guest“
14、;D.char*str=“guest“;国家二级 C语言机试(函数和数组)模拟试卷 10答案解析(总分:54.00,做题时间:90 分钟)一、选择题(总题数:27,分数:54.00)1.有以下程序 #includestdioh main() int a=10,20,30,40),*p=a,i; for(i=0;i=3;i+)ai=*p;p+; pfintf(“dn“,a2);程序运行后的输出结果是(分数:2.00)A.20B.30 C.10D.40解析:解析:因为指针变量 p的初始值指向数组 a,所以执行 for循环语句后,数组 a中的元素的值不变。2.若有以下程序 main()int i,j
15、=0; char a=“How are you!“; for(i=0;ai;i+) if(ai!=)aj+=ai; aj=0; printf(“sn“,a);则程序的输出结果是(分数:2.00)A.HowareyouB.Hay!C.Howareyou! D.How are you!解析:解析:主函数中利用 for循环访问字符串的每一个字符,判断当前字符是否为空格,如果是空格则删除。因此删除字符串”How are you!”中空格以后,字符串为 How are you!。3.若有以下程序 #includestdioh main()int i,j=0; char a=“How are you!“,
16、b10; for(i=0;ai;i+) if(ai=)bj+=ai+1; bj=0; printf(“sn“,b);则程序的输出结果是(分数:2.00)A.HowareyouB.Hay!C.Howareyou!D.ay 解析:解析:主函数中利用 for循环访问字符串 a的每一个字符,判断当前字符是否为空格,如果是空格则保存该空格后面的一个字符存放到字符数组 b中。在字符串“How are you!“中,第一个空格后面字符为a,第二个空格后面字符为v。4.若有以下程序#include char*a=“you“,b=“welcome#you#to#China!“; main()int i,j=0;
17、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(“sn“,p);则程序的输出结果是(分数:2.00)A.#you#to#China!B.me#you#to#China!C.#China!D.#to#China! 解析:解析:程序中循环部分的主要功能是,在字符串 b中寻找是否含有子串 a,如果含有则退出,字符指针 p指向该匹配子串后面的位置,利用 printf函数输出则从该位置开始一直输出到字符串 b的结尾。5.以下能正确定义二维数组是(分
18、数:2.00)A.int a3;B.int a3=2*3; C.int a3=;D.int a23=1),2),3,4);解析:解析:C 语言中定义二维数组,必须指定二维数组每一维的大小。选项 A)没有指定数组 a行的大小,错误;选项 B),虽然没有指定行大小,但是可以通过大括号里面的元素个数计算出行的大小为 1,因此是正确的;选项 C)同样没有指定行的大小,也不能通过元素个数计算行的个数,错误;选项 D)定义的是二行三列数组,但是后面数据是三行,超出范围,所以错。6.若有以下说明和语句 int c45,(*p)5; p=c;能够正确引用 c数组元素的是(分数:2.00)A.p+1B.*(p+
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 数组 模拟 试卷 10 答案 解析 DOC
