【计算机类职业资格】二级C语言真题2017年09月-(2)及答案解析.doc
《【计算机类职业资格】二级C语言真题2017年09月-(2)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言真题2017年09月-(2)及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言真题 2017 年 09 月-(2)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中错误的是_。(分数:1.00)A.向量是线性结构B.非空线性结构中只有一个根节点没有前件C.非空线性结构中只有一个终节点没有后件D.只有一个根节点和一个叶子节点的结构必定是线性结构2.设顺序表的长度为 40,对该表进行冒泡排序。在最坏情况下需要的比较次数为_。(分数:1.00)A.820B.780C.40D.413.设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。则后序序列为_。(分数:1.00)A.DG
2、HEBIJFCAB.JIHGFEDCBAC.GHIJDEFBCAD.ABCDEFGHIJ4.设表的长度为 n。在下列算法中,最坏情况下时间复杂度最高的是_。(分数:1.00)A.堆排序B.希尔排序C.有序链表查找D.循环链表中寻找最大项5.数据流图(DFD)中的有向箭头()表示_。(分数:1.00)A.控制流B.数据流C.输入流D.输出流6.下面不属于结构化程序设计风格的是_。(分数:1.00)A.程序结构良好B.程序的易读性C.不滥用 goto 语句D.程序的执行效率7.软件测试的目的是_。(分数:1.00)A.避免程序中的错误B.修改程序中的错误C.发现程序中的错误D.发现和修改程序中的错
3、误8.能够减少相同数据重复存储的是_。(分数:1.00)A.记录B.字段C.文件D.数据库9.数据库管理系统(DBMS)是_。(分数:1.00)A.系统软件B.硬件系统C.一个完整的数据库应用系统D.既包括硬件也包括软件的系统10.在关系模式 A(S,SN,D)和 B(D,CN,NM)中,关系 A 的主键是 S,关系 B 的主键是 D,则属性 D 在关系A 中称为_。(分数:1.00)A.超键B.主键C.候选键D.外键11.以下叙述正确的是_。(分数:1.00)A.C 程序的执行是从源文件的开头,一行一行向下执行,每行都会被执行到B.对于只包含表达式语句的程序段,执行顺序与书写顺序一致C.C
4、程序的执行一定是从主函数开始,从主函数结束D.每个 C 源文件都应当有一个主函数12.以下选项中不是 C 语言数据类型的是_。(分数:1.00)A.intB.floatC.charD.string13.若有如下定义和语句: double x=1.5; x+; 则以下叙述中正确的是_。(分数:1.00)A.变量 x 经自增 1 运算后的值是 2.5B.x 是实型变量,不可以做自增 1 运算C.变量 x 经自增 1 运算后的值是 1.6D.变量 x 经自增 1 运算后的值是 2.014.若有程序段: int a,b;char d; scanf(“%d%c%d“, 若想把 12 输入给变量 a,字符
5、“k“输入给变量 d,34 输入给变量 b,程序运行时正确的输入是_。(分数:1.00)A.12“k“34B.12 k 34C.12k34D.12“k“3415.以下不能定义为用户标识符的是_。(分数:1.00)A.sizeofB.MainC._D._int16.以下说法正确的是_。(分数:1.00)A.C 语言中的常量是指在程序运行过程中经常被改变数据类型的量B.C 语言中的常量是指在程序运行过程中经常被改变值的量C.C 语言中的常量是指在程序运行过程中经常被用到的变量D.C 语言中的常量是指在程序运行过程中其值不能被改变的量17.有以下程序: #includestdio.h main()
6、int i,x,k=0,m; for(i=0;i5;i+) scanf(“%d“, x/=10; switch(x) case 0:case 1:case 2:k+;m=1; default:k+;m=2; case 3:k+;m=3; case 4:k+;m=4; printf(“%d,%d“,k,m); 程序运行时输入:35 20 52 40 106回车,则输出结果是_。(分数:1.00)A.5,2B.13,4C.15,2D.5,418.有如下程序: #includestdio.h main() int i; for(i=0;i3;i+) putchar(“K“-i); 程序运行后的输出结
7、果是_。(分数:1.00)A.012B.KLMC.LMND.KJI19.对于循环语句:for(i=0;i=10;i+);下面各选项中叙述错误的是_。(分数:1.00)A.省略 i+,可引起无限循环B.省略 i=10,可引起无限循环C.省略 i=0,可引起无限循环D.圆括号()内三个表达式都省略,可引起无限循环20.有以下程序: #includestdio.h main() int i=0,j=0,x=0; while(i2) x+; for(;j=3;j+) if(j%2)continue; x+; x+;i+; printf(“x=%d/n“,x); 程序运行后的输出结果是_。(分数:1.0
8、0)A.x=5B.x=4C.x=6D.x=821.以下叙述中错误的是_。(分数:1.00)A.while 语句的循环体至少会被执行一次B.break 语句只能在循环体内和 switch 语句体内使用C.执行 continue 语句时将跳过本次循环体中余下尚未执行的语句D.在 C 语言中有 3 种可以构成循环结构的循环语句:while、dowhile 和 for22.有下列程序: #includestdio.h main() int a=7,i; for(i=1;i=3;i+) if(a13)break; if(a%2)a+=3;continue; a=a+4; printf(“%d,%d“,i
9、,a); 程序执行后的输出结果是_。(分数:1.00)A.3,18B.3,14C.4,18D.2,1023.有如下程序: #includestdio.h void change(int *array,int len) for(;len=0;len-) arraylen+=2; main() int i,array6=1,2,3; change(array,5); for(i=0;i5;i+) printf(“%d,“,arrayi); 程序运行后的输出结果是_。(分数:1.00)A.1,2,0,0,0,B.3,4,5,6,7,C.2,3,4,5,6,D.3,4,5,2,2,24.有以下程序:
10、#includestdio.h int f1(int a) return a*3; int f2(int *b) return *b*5; main() int x=3,y=5; printf(“%d,%d/n“,f1(x),f2( 程序的运行结果是_。(分数:1.00)A.9,125B.9,25C.3,15D.3,4525.设有定义:int a10,*p=a,k; 以下为数组 a 的 10 个元素依次读入数据的程序段中错误的是_。(分数:1.00)A.for(k=0;k10;k+)scanf(“%d“,p+);B.for(k=0;k10;k+)scanf(“%d“,a+k);C.for(k=
11、0;k10;k+)scanf(“%d“,a+);D.for(;p-a10;p+)scanf(“%d“,p);26.有下列程序: #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() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,10,1); fun(c,5,0); for(i=0;i10;i+) printf(“%d,“,ci); 程序执行后的
12、输出结果是_。(分数:1.00)A.5,4,3,2,1,6,7,8,9,10,B.6,7,8,9,10,5,4,3,2,1,C.6,7,8,9,10,1,2,3,4,5,D.10,9,8,7,6,1,2,3,4,5,27.若函数 fun 定义如下 fun(void) double d; long t=rand(); d=t*0.618; return d; 则函数返回值的类型是_。(分数:1.00)A.voidB.doubleC.intD.long28.运算符内的数据类型只能是_。(分数:1.00)A.int 和 charB.floatC.doubleD.char29.若有定义语句:int x
13、3=1,2,3,4,5,6;,则以下选项中与该语句等价的是_。(分数:1.00)A.int x3=1,2,3,4,5,6;B.int x3=1,2,3,4,5,6;C.int x3=1,2,3,4,5,6;D.int x3=1,2,3,4,5,6;30.有以下程序: #includestdio.h #includestring.h main() char str10=“One“,“Three“,“Five“,*p=str0; printf(“%s,“,p+10); printf(“%d/n“,strlen(p+=10); 执行后的输出结果是_。(分数:1.00)A.Three,4B.出错C.T
14、hree,5D.Five,531.有以下程序: #includestdio.h main() char a510=“China“,“beijing“,“very“,“welcome“,“you“; char *p5;int i; for(i=3;i5;i+) pi=*(a+i); printf(“%s“,pi); printf(“%c“,*pi); 程序执行后的输出结果是_。(分数:1.00)A.wwyyB.ChinaCbeijingbC.veryvwelcomewD.welcomewyouy32.有如下程序: #includestdio.h #includestring.h main() c
15、har a=“THIS/0“,*b=“OK/0/0“; printf(“%d,%d,%d,%d“,strlen(a),sizeof(a),strlen(b),sizeof(b); 程序运行后的输出结果是_。(分数:1.00)A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,433.有以下程序: #includestdio.h main() char ca35=“A“,“BB“,“CCC“; char *pa3=“a“,“bb“,“ccc“; printf(“%d,%d/n“,sizeof(ca0),sizeof(pa0); 程序的运行结果是_。(分数:1.00)A.7,4B
16、.3,5C.5,4D.2,234.有如下程序: #includestdio.h #includestring.h main() char *str=“0/n0123/4“: printf(“%d“,strlen(str); 程序运行后的输出结果是_。(分数:1.00)A.3B.6C.8D.735.有以下程序: #includestdio.h int a5=7,10,3; int n=3; int *p=a; void main() int i; int a2=1,0; for(i=0;ai;i+) printf(“%4d“,ai); for(i=0;ai;i+) int a3=100,200,
17、300; printf(“%4d“,ai); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.1 100B.1 0 100 200 300C.1 100 200 300D.1 100 20036.有以下程序: #includestdio.h void main() char ch7=“43ab21“; int i,s=0; for(i=0;chi=“0“i+=2) s=10*s+chi-“0“; printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.48B.12ba34C.4321D.437.有以下程序: #includestdio.h ma
18、in() int x=3,y=5,z1,z2; z1=xy;z2=x+y; printf(“%d,%d/n“,z1,z2); 程序执行后的输出结果是_。(分数:1.00)A.9,8B.8,8C.35,8D.6,838.有以下程序: #define Out(n)n%2=0“%c“:“%d“ #includestdio.h main() int x; for(x=65;x69;x+) printf(Out(x),x); 程序的运行结果是_。(分数:1.00)A.65867DB.A66C68C.65666768D.ABCD39.有如下程序: #includestdio.h street person
19、 char Name10; int Age; ; main() struct person room4=“Zun“,11,“Liu“,10,“He“,12,“Zhao“,13; printf(“%s:%d“,(room+3)-Name,(room+1)-Age); 程序运行后的输出结果是_。(分数:1.00)A.Liu:10B.Zun:12C.Zhao:10D.He:1140.有如下代码 #includestdio.h struct node char id; struct node *next; a=“A“,b=“B“,c=“C“,*p= main() p-next= p-next= p=p
20、-next; p-next=NULL; p= 若代码经运行后形成下图所示的数据结构: (分数:1.00)A.pt=p-next;p-next=p-next-next;free(pt);B.pt=p-next;p-next=p-next-next-next;free(pt);C.pt=free(pt);D.pt=p-next=p-next-next-next;free(pt);二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:将 S 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s 所指的字符串为“d
21、ef35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h void fun(char *s) int i,j=0,k=0; char t180,t280; for(i=0;si!=“/0“;i+) if(si=“0“ 1; else t1k+=si; t2j=0; t1k=0; for(i=0;ik;i+) 2; for(i=0;i 3;i+) sk+i=t2i; main() char s80=“ba
22、3a54j7sd567sdffs“; pfintf(“/nThe original string is:%s/n“,s); fun(s); pfintf(“/nThe result is:%s/n“,s); (分数:18.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:用冒泡法对 6 个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdlib.h #includestring.h #includeconio.h #
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2017 09 答案 解析 DOC
