【计算机类职业资格】二级C语言-28及答案解析.doc
《【计算机类职业资格】二级C语言-28及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-28及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-28 及答案解析(总分:75.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.冒泡排序在最坏的情况下的比较次数是 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n/2(分数:2.00)A.B.C.D.2.以下叙述中错误的是_。 A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中 D.C 语言源程序经编译后生成后缀为.obj 的目标程
2、序(分数:2.00)A.B.C.D.3.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是_。 A. 顺序性内聚 B. 过程性内聚 C. 逻辑性内聚 D. 功能性内聚(分数:2.00)A.B.C.D.4.以下合法的 C 语言赋值语句是( )。 A. a=b=58 B. k=int(a-b): C. a=58,b=20 D. +i;(分数:1.00)A.B.C.D.5.设有定义:char s81;int i=0;以下不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是_。 A.scanf(“%s“,s); B.while(si+=getch
3、ar()!=/n);si=/0; C.gets(s); D.doscanf(“%c“,si);while(si+!=/n);si=/0;(分数:2.00)A.B.C.D.6.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B.C.D.7.有以下程序:main()char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*p+);程序运行后的输出结果是 _。 A.15 B.16 C.12 D.59 (分数:1.00)A.B.C.D.8.有以下程序main() char*s=“BBC“,“CNN“,“NDS“,*p;p=s1;prin
4、tf(“%c,%s/n“,*(p+1),p);执行后输出结果是_。 A. C,BBC B. N,BBC C. C,CNN D. N,CNN(分数:1.00)A.B.C.D.9.以下程序的输出结果是( )。#include stdio.h#includestring.hmam() char b18=“abcdefg“,b28,*pb=b1+3;while(-pb=b1) strcpy(b2,pB) ;printf(“%d/n“,strlen(b2); A. 8 B. 3 C. 1 D. 7(分数:2.00)A.B.C.D.10.下面程序段中的循环体的执行次数是( )。for(i=4;i0;i-)
5、for(j=1;j=4;j+)sum=sum+j; A. 4 B. 0 C. 12 D. 16(分数:1.00)A.B.C.D.11.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 A. p=1; B. *q=2; C. q=p; D. *p=5;(分数:1.00)A.B.C.D.12.以下程序运行后的输出结果是#include stdio.hvoid fun(int a, int n) int i,t;for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t;mainU /U int k10=1,2,3,4,5,6,7,8,9,10,i;fun(k,
6、5);for(i=2;i8;i+) printf(“%d“,k);printf(“/n“); A. 345678 B. 876543 C. 1098765 D. 321678(分数:2.00)A.B.C.D.13.下列不属于软件工程的 3 个要素的是U /U。 A. 32 具 B. 过程 C. 方法 D. 环境(分数:2.00)A.B.C.D.14.以下正确的数组定义语句是_。 A. int y14=1,2,3,4,5; B. float x2=1,2),3; C. long s23=1,1,2,1,2,3; D. double t3=0;(分数:1.00)A.B.C.D.15.在设计程序时,
7、应采纳的原则之一是_。 A. 程序结构应有助于读者理解 B. 不限制 goto 语句的使用 C. 减少或取消注解行 D. 程序越短越好(分数:1.00)A.B.C.D.16.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。 A. k+ B. k+=1 C. +k D. k+1(分数:2.00)A.B.C.D.17.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是 A. c=(c-A)%26+a B. c=c+32 C. c=c-A+a D. a=(A+c)%26
8、-a(分数:1.00)A.B.C.D.18.以下不合法的字符常量是( )。 A. /018 B. /“ C. / D. /xcc(分数:1.00)A.B.C.D.19.有以下程序#includestring.hmain() char p=a,b,c,q10=a,b,c;printf(“%d%d/n“,strlen(p),strlen(q);以下叙述中正确的是 A. 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 B. 由于 p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长度为 3 C. 由于 q 数组中没有字符串结束符,长度不能确定,但 p 数
9、组中字符串长度为 3 D. 由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定(分数:2.00)A.B.C.D.20.数字字符0的 ASCII 值为 48, 若有以下程序:#include stdio.hmain( )char a=1,b =2;printf( “% c,“,b + + );printf(“ % d /n“ ,b - a);程序运行后的输出结果是U /U。 A. 3,2 B. 50,2 C. 2,2 D. 2,50(分数:1.00)A.B.C.D.21.有以下程序:#includestdiohunion pw int i;char ch2;a;main() a.ch0
10、=13;a.ch1=0;printf(“%d/n“,ai);程序的输出结果是U /U。 A. 13 B. 14 C. 208 D. 209(分数:1.00)A.B.C.D.22.若有下列语句:char a=“xyz“;char b=x,y,z;则下列叙述正确的是_。 A. 数组 a 和数组 b 不等价 B. 数组 a 和数组 b 的长度相同 C. 数组 a 占用空间大小等于数组 b 占用空间大小 D. 数组 a 占用空间大小大于数组 b 占用空间大小(分数:1.00)A.B.C.D.23.下列数组定义中错误的是U /U。 A. int x3=0; B. int x23=1,2,3,4,5,6;
11、 C. int x3=1,2,3,4,5,6; D. int x23=1,2,3,4,5,6;(分数:2.00)A.B.C.D.24.数据库系统的核心是_。 A. 数据模型 B. 数据库管理系统 C. 数据库 D. 数据库管理员(分数:2.00)A.B.C.D.25.已知 p 为指针变量,a 为数组名,i 为整型变量,下列语句中,不正确的是_。 A. p= B. p=a; C. p= D. p=10;(分数:1.00)A.B.C.D.26.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下。main()int n,k;float score;s
12、um,ave;sum=0.0;for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“, sum+=score;ave=sum/4.0;printf(NO%d: %f/n“,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A. sum=0.0; B. sum+=score; C. ave=sun/4.0; D. printf(“NO%d:%f/n“,n,ave);(分数:1.00)A.B.C.D.27.fgetc 函数的作用是从指定文件读入一个个字符,该文件的打开方式必须是_。 A. 只读 B. 追加 C.
13、 读或读写 D. 以上均正确(分数:2.00)A.B.C.D.28.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。 A. 自顶向下 B. 由外向内 C. 由内向外 D. 自底向上(分数:2.00)A.B.C.D.29.下面程序段的运行结果是( )。char a=“abcdefgh“;char *p=a;p+=3;printf(“%d/n“,strlen(strcpy(p,“ABCD“); A. 8 B. 12 C. 4 D. 7(分数:1.00)A.B.C.D.30.当说明一个结构体变量时系统分配给它的内存是U /U。 A. 各成员所需要内存量的总和 B. 结构中第一个成员所需的内
14、存量 C. 成员中占内存最大者所需的容量 D. 结构中最后一个成员所需要的内存量(分数:1.00)A.B.C.D.31.有以下程序(说明:字母 A 的 ASCII 码值是 65):#includestdio.hvoid fun(char*s) while(*s) if(*s%2)printf(“%c“,*s);s+;main() char a()=“BYTE“;fun(a);printf(“/n“);程序运行后的输出结果是_。 A.BT B.YE C.YT D.BY(分数:1.00)A.B.C.D.32.有以下程序#includemain() int i,j;for(i=3;i=1;i-)fo
15、r(j=1;j=2;j+) printf(“%d “,i+j);printf(“/n“);程序运行的结果是_。 A. 2 3 4 3 4 5 B. 4 3 2 5 4 3 C. 2 3 3 4 4 5 D. 4 5 3 4 2 3(分数:1.00)A.B.C.D.33.以下程序的输出结果是U /U。 int x;int*y;*p; int dt4=1,2,3,4; struct st aa4=2, struct node *next;) *NODE;NODE p;以下叙述中正确的是_。 A. P 是指向 struct node 结构变量的指针的指针 B. NODE p;语句出错 C. P 是指
16、向 struct node 结构变量的指针 D. P 是 struct node 结构变量(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:24.50)36.下面程序的功能是:计算 110 之间的奇数之和与偶数之和,请填空。 #includestdio.h main() int a,b,c,i; ac0; for(i0;i10;i+2) a+=i; U U /U /U; c+=b; printf(“偶数之和=%d/n“,a); printf(“奇数之和=%d/n“,c-11);(分数:1.00)填空项 1:_37.以下程序运行后的输出结果是_。 main() int a4
17、4=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0, while(i+4) if(i=2 | i=4) continue ; J=0; do(s+=aij; j+; )while (j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_38.若想通过以下输入语句使 a 中存放字符串 1234,b 中存放字符 5,则输入数据的形式应该是U U/U/U。 char a10,b;scanf(“a%s b%c“,a,str=“I love China!“; printf(“%s“,str); (分数:2.00)填
18、空项 1:_42.下列程序的运行结果是U U /U /U。 main() union EXAMPLE struct int x;int y;in; int a; int b; e: e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d,%d/n“,e.in.x,e.in.y); (分数:1.00)填空项 1:_43.数据流图的类型有 1 和事务型。(分数:1.50)填空项 1:_44.测试的目的是暴露错误,评价程序的可靠性;而 1 的目的是发现错误的位置并改正错误。(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是U U
19、/U /U。 #include stdio.h main() int p=30; printf(“%d/n“,(p/30 ? p/10:p%3); (分数:2.00)填空项 1:_46.下面程序是把从终端读入的 20 个字符作为字符串放在字符数组中,然后利用指针变量输出上述字符串,请填空。 #includestdio.h main() int i;char s21,*p; for(i=0;i20;i+) si=getchar(); si=U U /U /U; p=U U /U /U; while(*p) putchar(U U /U /U); (分数:2.00)填空项 1:_47.以下程序运行
20、后的输出结果是U U /U /U。 fun(int a) int b=0;static int c=3; b+;c+; return(a+b+c) ; main() int i,a=5; for(i=0;i3;i+)printf(“%d%d“,i,fun(a) ); prind(“/n“); (分数:1.00)填空项 1:_48.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作。(分数:2.00)填空项 1:_49.以下程序通过函数指针 p 调用函数 fun,请在填空栏内写出定义变量 p 的语句。 void fun(int x,int * y) main() in
21、t a10,b20; U U /U /U; *定义变量 p* p=fun;p( (分数:1.00)填空项 1:_50.以下程序的输出结果是U U /U /U。 #include stdio.h main() int i; for(i-a; if; i+,i+) printf(“%c“,i-a+A); printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言-28 答案解析(总分:75.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.冒泡排序在最坏的情况下的比较次数是 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 28 答案 解析 DOC
