【计算机类职业资格】二级C语言真题2017年09月-(3)及答案解析.doc
《【计算机类职业资格】二级C语言真题2017年09月-(3)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言真题2017年09月-(3)及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言真题 2017 年 09 月-(3)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设某棵树的度为 3,其中度为 3,1,0 的节点个数分别为 3,4,15。则该树中总节点数为_。(分数:1.00)A.22B.30C.35D.不可能有这样的树2.线性表的长度为 n。在最坏情况下,比较次数为 n-1 的算法是_。(分数:1.00)A.寻找最大项B.同时寻找最大项与最小项C.顺序查找D.有序表的插入3.下列叙述中正确的是_。(分数:1.00)A.循环队列是队列的链式存储结构B.能采用顺序存储的必定是线性结构C.所有的线性结构都可以
2、采用顺序存储结构D.具有两个以上指针的链表必定是非线性结构4.设表的长度为 n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是_。(分数:1.00)A.希尔排序B.有序链表查找C.堆排序D.循环链表中寻找最大项5.下面不属于结构化程序设计原则的是_。(分数:1.00)A.模块化B.自顶向下C.可继承性D.逐步求精6.对软件系统总体结构图,下面描述中错误的是_。(分数:1.00)A.深度等于控制的层数B.扇入是一个模块直接调用的其他模块数C.扇出是一个模块直接调用的其他模块数D.原子模块一定是结构图中位于叶子节点的模块7.软件集成测试不采用_。(分数:1.00)A.一次性组装B.自顶向下
3、增量组装C.自底向上增量组装D.迭代式组装8.将数据库的结构划分成多个层次,是为了提高数据库的物理独立性和_。(分数:1.00)A.规范程度B.操作独立性C.逻辑独立性D.降低数据冗余9.公司的开发人员可以同时参加多个项目的开发,则实体开发人员和实体项目间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多10.定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G)(其属性分别为学号、姓名、课程号、课程名、成绩) 则该关系的主键为_。(分数:1.00)AS#BC#C.S#,C#D.S#,C#,G11.以下叙述中正确的是_。(分数:1.00)A.C 语言源程序即使
4、不编译,也是可以直接运行的B.一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构C.使用 N-S 流程图只能描述简单的算法D.复杂算法是指不能分解成子任务的算法12.下面说法正确的是_。(分数:1.00)A.使用只包含 3 种基本结构的算法可以求解复杂的问题B.C 语言源程序需要把所有过长的函数保存在单独的源文件中才能通过编译C.有一些特殊的程序语法错误,只有在运行时才能被发现D.一些完成简单任务的 C 语言程序,可以不包含 main()函数13.以下选项中,算术表达式的值与其他 3 个不同的是_。(分数:1.00)A.3/5.B.3./5C.3/5D.3.0/5.014.以下
5、完全正确的一组常量是_。(分数:1.00)A.-12U 12.E0B.01a.12e3C.0.3L 1.2e-1D.0x0 123.15.以下字符常量中,输出后仍是原英文字母的是_。(分数:1.00)A.“/s“B.“/t“C.“/n“D.“/r“16.有以下程序: #includestdio.h #includemath.h main() int s;float n,t,pai; t=1,pai=0,n=1.0,s=1; while(fabs(t)1.0e-6) pai+=t; n+=2;s=-s;t=s/n; printf(“total=%f/n“,pai); 程序所计算的是_。(分数:1
6、.00)A.1-1/2! +1/3! -1/5! +1/7! -B.1+1/3+1/5+1/7+1/9-C.1+1/2+1/3+1/4+1/5-D.1-1/3+1/5-1/7+1/9-17.有如下程序: #includestdio.h main() int a=0,b=1; if(a+ else printf(“F“); a=b+; printf(“a=%d,b=%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.Fa=1,b=2B.Fa=1,b=1C.Ta=0,b=2D.Ta=0,b=118.以下各选项中的代码段执行后,变量 y 的值不为 1 的是_。(分数:1.00)A
7、.int x=5,y=0;if(5)y=1;B.int x=5,y=0;if(x)y=1;C.int x=10,y=0;if(x=y)y=1;D.int x=5,y=10;if(x=y)y=1;19.设有定义:int m=1,n=2; 则以下 if 语句中,编译时会产生错误信息的是_。(分数:1.00)A.if(mn)m-else n-;B.if(m=n)m+;n+;C.if(m0 else m+;20.有以下程序: #includestdio.h void main() int i,m=0,n=0,k=0; for(i=9;i=11;i+) switch(i/10) case 0:m+;n+
8、;break; case 10:n+;break; default:k+;n+; printf(“%d%d%d/n“,m,n,k); 程序运行后的输出结果是_。(分数:1.00)A.4 5 1B.3 5 4C.1 5 4D.1 3 221.有下列程序: #includestdio.h main() int a=-1,b=2; for(;a+ ) printf(“%d,%d,“,a,b); printf(“%d,%d“,a,b); 程序执行后的输出结果是_。(分数:1.00)A.0,1,1,0,1,0B.0,1,1,0C.0,1,1,1D.0,1,1,1,1,122.有以下程序: #includ
9、estdio.h #define N 4 int fun(int aN) int i,y=0; for(i=0;iN;i+) y+=a1i+aN-1i; for(i=0;iN-1;i+) aii=aii * aii; return y; main() int y,xNN=11,21,13,4, 15,6,17,8, 9,1,11,12, 3,4,15,6; y=fun(x); printf(“%d,%d,%d“,y,xN-3N-3,xN-3N-2); 程序执行后的输出结果是_。(分数:1.00)A.74,36,17B.74,6,17C.82,36,17D.82,6,1723.以下程序拟调用 g
10、etmax 函数,找出 4 个变量中最大的一个,但程序不完整。具体程序如下: #includestdio.h int getmax(int x,int y) return xy x:y; void main() int a,b,c,d,mx; scanf(“%d%d%d%d“, printf(“max=%d/n“,_); 以下选项若填入下划线处,不能实现上述功能的是_。(分数:1.00)A.getmax(getmax(getmax(a,b),c),d)B.getmax(getmax(a,b),getmax(c,d)C.getmax(a,getmax(b,getmax(c,d)D.mx=(get
11、max(a,b),getmax(c,d)24.以下叙述中错误的是_。(分数:1.00)A.在同一源程序文件中,函数名必须唯一B.凡是带有返回值的库函数,都不能通过加分号而作为独立的语句出现C.不同函数中的形式参数可以同名D.返回基本数据类型的库函数的调用,均可以出现在赋值号右边的表达式中25.关于函数返回值,以下说法错误的是_。(分数:1.00)A.函数返回值可以是整个数组B.函数返回值可以是一个数C.函数返回值可以是一个指针D.函数返回值可以是一个函数的入口地址26.有下列程序: #includestdio.h #define N 4 int fun(int aN) int i,y=0; f
12、or(i=0;iN;i+) y+=a0i+aN-1i; for(i=1;iN-1;i+) y+=ai0+aiN-1; return y; main() int y,xNN=1,2,3,4, 2,1,4,3, 3,4,1,2, 4,3,2,1; y=fun(x); printf(“%d“,y); 程序执行后的输出结果是_。(分数:1.00)A.40B.35C.30D.3227.设有如下程序段: (a)int a2=0; (b)int b=0; (c)char C2=“ABC“; (d)char d=“ABC“; 则以下叙述正确的是_。(分数:1.00)A.只有数组 a、b 的定义是合法的B.数组
13、 a、b、c、d 的定义都是合法的C.只有数组 c、d 的定义是合法的D.只有数组 c 的定义是合法的28.有以下程序: #includestdio.h void swap(int *pa,int *pb) int t; t=*pa;*pa=*pb;*pb=t; void fun(int *ds,int n) int i,midx; midx=0; for(i=1;in;i+) if(dsidsmidx)midx=i; swap(ds,ds+midx); void main() int data=37,31,26,17,61,12,i; for(i=0;i5;i+) fun(data+i,6-
14、i); for(i=0;i6;i+) printf(“%3d“,datai); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.61 37 31 26 17 12B.37 31 26 17 61 12C.17 61 12 37 31 26D.12 17 26 31 37 6129.设有定义:int x23;,则以下选项中不能表示数组元素 x01的是_。(分数:1.00)A.*(*x+1)B.*(*(x+1)C.(*x)1D.*(*z=*z+x; main() double a=2.5,b=9.0,*pa,*pb; pa=pb= fun(b-a,pa,pb); printf
15、(“%f/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.8.000000B.9.000000C.1.500000D.10.50000031.使用数组名作为函数的实参时,传递给形参的是_。(分数:1.00)A.数组第一个元素的值B.数组的首地址C.数组中全部元素的值D.数组元素的个数32.有下列程序: #includestdio.h void fun(int a,int n,int flag) int i=0,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?(aiaj):(aiaj) t=ai;ai=aj;aj=t; main() i
16、nt c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,10,1); fun(c,8,0); for(i=0;i10;i+) printf(“%d,“,ci); 程序执行后的输出结果是_。(分数:1.00)A.8,7,6,5,4,3,2,1,9,10,B.3,4,5,6,7,8,9,10,2,1,C.9,10,1,2,3,4,5,6,7,8,D.10,9,8,7,6,5,4,3,1,2,33.有以下程序: #includestdio.h int a=5; int func(int a) int b=1; static int c=5; a+; b+; +c; return(a
17、*b*c); main() int k,a=4; for(k=0;k3;k+) printf(“%d,“,func(a); 程序执行后的输出结果是_。(分数:1.00)A.72,147,256,B.60,60,60,C.72,98,128,D.60,70,80,34.有以下程序: #includestdio.h main() char b=“abcdefg“,*chp=b; while(*chp) if(ehp-b)%3=0) putchar(*chp); +chp; 程序的运行结果是_。(分数:1.00)A.cfB.defgC.adgD.aceg35.有下列程序: #includestdio
18、.h #includestring.h main() char v410,*p4,*t; int i,j; for(i=0;i4;i+) pi=vi; scanf(“%s“,pi); for(i=0;i3;i+) for(j=i+1;j4;j+) if(strcmp(pi,pj)0) t=pi;pi=pj;pj=t; for(i=0;i4;i+) printf(“%s“,pi); 程序执行时若输入:Welcome you to Beijing回车,则输出结果是_。(分数:1.00)A.Beijing Welcome to youB.Beijing to Welcome youC.Welcome
19、 you to BeijingD.to you Beijing Welcome36.以下涉及字符串数组、字符指针的程序片段,没有编译错误的是_。(分数:1.00)A.char line;line=“=“:B.char *name10,*str;name=“Hello World“;C.char str110,str210=“prog.c“;str1=str2;D.char name10,*str=“Hello World“;37.若要使 int 型变量 a、b、c、d 的值都为 0,以下写法中错误的是_。(分数:1.00)A.auto int a,b,c,d;a=b=c=d=0;B.auto
20、int a=b=c=d=0;C.auto int a=0,b=a,c=b,d=c;D.static int a,b,c,d;38.有如下程序: #includestdio.h main() int a=1,b; b=(a2)%3; printf(“%d,%d“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1,1B.2,0C.1,0D.2,139.有下列程序: #includestdio.h main() int x=3,y=5,z1,z2; z1=yxy:z2=xyx; printf(“%d,%d/n“,z1,z2); 程序执行后的输出结果是_。(分数:1.00)A.7,7B.
21、5,3C.8,8D.3,540.有下列程序: #includestdio.h #includestring.h typedef struct stu char name9; char gender; int score; STU; STU f(STU a) STU c=“Sun“,“f“,90; strcpy(a.name,c.name); a.gender=c.gender; a.score=c.score; return a; main() STU a=“Zhao“,“m“,85,b=“Qian“,“f“,95; b=f(a); printf(“%s,%c,%d,%s,%c,%d“,a.n
22、ame,a.gender,a.score,b.name,b.gender,b.score); 程序执行后的输出结果是_。(分数:1.00)A.Zhao,m,85,Sun,f,90B.Zhao,m,85,Qian,f,95C.Sun,f,90,Sun,f,90D.Sun,f,90,Qian,f,95二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:求 ss 所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n 所指的变量中。ss 所指字符串数组中共有 M 个字符串,且串长小于N。 请在程序的下划线处填入正确的内容,使程序得
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2017 09 答案 解析 DOC
