【计算机类职业资格】二级C语言笔试-440及答案解析.doc
《【计算机类职业资格】二级C语言笔试-440及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-440及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-440 及答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.算法的时间复杂度是指( )。 A) 算法的长度 t B) 执行算法所需要的时间 C) 算法中的指令条数 D) 算法执行过程中所需要的基本运算次数(分数:2.00)A.B.C.D.2.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( )。 A) 逻辑设计 B) 需求分析 C) 详细设计 D) 物理设计(分数:2.00)A.B.C.D.3.下列二叉树描述中,正确的是( )。 A) 任何一棵二叉树必须有一个度为 2 的结点 B) 二叉树的度可以小于 2
2、 C) 非空二叉树有 0 个或 1 个根结点 D) 至少有 2 个根结点(分数:2.00)A.B.C.D.4.已经定义 ch 为字符型变量,以下赋值语句中错误的是 _。A) ch=/; B) ch=62+3; C) ch=NULL; D) ch=/xaa;(分数:2.00)A.B.C.D.5.在下列几种排序方法中,要求内存量最大的是_。A) 插入排序 B) 选择排序 C) 快速排序 D) 归并排序(分数:2.00)A.B.C.D.6.下面描述中,不属于软件危机表现的是( )。 A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高(分数:2.00)A.B.
3、C.D.算法的有穷性是指( )。A算法程序的运行时间是有限的 B算法程序所处理的数据量是有限的C算法程序的长度是有限的 D算法只能被有限的用户使用(分数:2.00)A.B.C.D.A.B.C.D.7.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.8.为了使模块尽可能独立,要求( )。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且
4、各模块间的耦合程度要尽量强(分数:1.00)A.B.C.D.9.在深度为 7 的满二叉树中,叶子结点的个数为( )。A) 32 B) 31 C) 64 D) 63(分数:1.00)A.B.C.D.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。A模块间的关系B系统结构部件转换成软件的过程描述C软件层次结构D软件开发过程(分数:3.00)A.B.C.D.A.B.C.D.10.在数据管理技术发展的三个阶段中,数据共享最好的是_。A) 人工管理阶段 B) 文件系统阶段C) 数据库系统阶段 D) 三个阶段相同(分数:2.00)A.B.C.D.11.在数据库设计中,将 E-R
5、图转换成关系数据模型的过程属于( )。A) 需求分析阶段 B) 逻辑设计阶段 C) 概念设计阶段 D) 物理设计阶段(分数:1.00)A.B.C.D.可在 C 程序中用做用户标识符的一组标识符是( )。Aand_2007BDatey-m-dCHiDr.TomDcaseBigl(分数:2.00)A.B.C.D.A.B.C.D.12.设有定义下列:int a=1,b=2,c=3,d=4,m=2,n=2;则表达式(m=ab)scanf(“%d“,if(x+2)printf(“%d“,x);else printf(“%d/n“,x-);A) 4 和 2 B) 4 和 1 C) 4 和 0 D) 3 和
6、 1(分数:1.00)A.B.C.D.18.设有定义:int n=0,*p=if(-a)b+;else if(a=0) b+=2;else b+=3;printf(“%d/n“,b);程序运行后的输出结果是( )。A)0 B)1 C)2 D)3(分数:2.00)A.B.C.D.20.以下程序运行后的输出结果是#includestdio.hmain()char s=“012xy“; int i, n=0;for(i=0; si!=0; i+)if(si=a printf(“%d/n“, n);A) 0 B) 2 C) 3 D) 5(分数:1.00)A.B.C.D.21.若变量已正确定义,下列正确
7、的程序段是( )。A) while(ch=getchar()=/N)putchar(ch);B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getchar()!=/N)putchar(ch);D) while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.有以下程序#includestdio.hmain()int a=1,2,3,4),y,*p=.a3;-p;y=*p;printf(“y=%d/n“,y);程序的运行结果是( )。Ay=0 By=1 Cy=2 Dy=3(分数:3.00)A.B.C.D
8、.A.B.C.D.22.有以下程序:#includestdio.hmain()char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c“,int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2) s=pij-0;printf(“%d“,s);A) 6357 B) 6135 C) 1357 D) 691357(分数:1.00)A.B.C.D.29.有以下程序#include stdio.hmain()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;
9、i+) csi+;for(i=1;i5;i+) printf(“%d“,ci);printf(“/n“);程序的运行结果是A) 1 2 3 4 B) 2 3 4 4 C) 4 3 3 2 D) 1 1 2 3(分数:2.00)A.B.C.D.30.有以下程序#includestring.hmain()char p=a,b,c,q10=a,b,c;printf(“%d%d/n“,strlen(p),strlen(q);以下叙述中正确的是A) 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3B) 由于 p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长
10、度为 3C) 由于 q 数组中没有字符串结束符,长度不能确定,但 p 数组中字符串长度为 3D) 由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定(分数:2.00)A.B.C.D.31.阅读下列程序,当运行函数时,输入 asd af aa z67,则输出为#include stdio.h#include ctype.h#include string.hint fun(char*str)int i,j=0;for(i=0;stri!=/0;i+)if(stri!=)strj+=stri;strj=/0;main()char str81;int n;printf(“Input a st
11、ring:“);gets(str);puts(str);fun(str);printf(“%s/n“,str);A) asdafaaz67 B) asdafaa267 C) asd D) z67(分数:2.00)A.B.C.D.32.有以下程序#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;main()int k10=1,2,3,4,5,6,7,8,9,10,i;fun(k,5);for(i=2;i8;i+) printf(“%d“,ki);printf(“/n“);
12、程序的运行结果是_。A) 345678 B) 876543 C) 1098765 D) 321678(分数:2.00)A.B.C.D.33.以下程序的运行结果是#define MAX(A,B) (A)(B)?(A):(B)#define PRINT(Y) printf(:Y=%d/t“,Y)main()int a=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);A) Y=3 B) 存在语法错误 C) Y=7 D) Y=0(分数:2.00)A.B.C.D.34.以下程序的输出是struet stint x;int *y; *p;int dt4=10,20,30,4
13、0;struct st aa4=50, printf(“%d/n“,+(p-x);A) 10 B) 11 C) 51 D) 60(分数:2.00)A.B.C.D.函数 ftell(fp)的作用是( )。A得到 fp 所指向文件的当前读写位置 B初始化流式文件的位置指针C移动流式文件的位置指针 D以上答案均正确(分数:2.00)A.B.C.D.A.B.C.D.二、填空题(总题数:15,分数:32.50)35.一棵二叉树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后序遍历结果为_。(分数:2.00)填空项 1:_36.耦合和内聚是评价模块独立性的两个主要标准,其中U /U反映了
14、模块内各成分之间的联系。(分数:2.00)填空项 1:_37.数据库保护分为:安全性控制、 1、并发性控制和数据的恢复。(分数:2.00)填空项 1:_38.在 E-R 图中,矩形表示 1。(分数:2.00)填空项 1:_39.以下程序的运行结果是 【9】 。#include stdiohmain() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+; break;case 1: b+; break;case 2:a+; b+;break;case 3:a+;b+;printf(“a=%d,b=%d/n“,a,b);(分数:2.00)
15、填空项 1:_40.有以下函数void prt(char ch, int n)int i;for(i=1; i=n; i+)printf(i%6!=0? “%c“: “%c/n“, ch);执行调用语句 prt(*, 24) ;后,函数共输出了_行*号。(分数:2.00)填空项 1:_41.以下程序的输出结果是_。#includestdio.hmain()int i;for(i=a;if;i+,i+)printf(“%c“,i-a+A);printf(“/n“);(分数:2.50)填空项 1:_42.已有定义:double*P;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度
16、型的动态存储单元 1。(分数:2.00)填空项 1:_43.以下程序中,for 循环体执行的次数是U /U。# define N 2# define M N+1# define K M+1*M/2main()int i;for(i=1; iK; i+).(分数:2.00)填空项 1:_44.函数 void fun(float *sn,int n)的功能是:根据以下公式计算 s,计算结果通过形参指针 sn 传回;n 通过形参传入,n 的值大于或等于 0。请填空。*void fun(float *sn,int n)float s=0.0,w,f=-1.0;int i;for(i=0;i=n;i+)
17、f=U /U * f;w=f/(2*i+1);s+=w;U /U=s;(分数:2.00)填空项 1:_45.下面程序的功能是建立一个有 3 个节点的单循环链表,如下图所示,然后求各个节点数值域 data 中数据的和,请填空。(分数:2.00)填空项 1:_46.下列程序的功能是将字符串 s 中所有的字符 C 删除。请填空。#includestdio.hmain()char s80;int i,j;gets(s);for(i=j=0;si!=“/0“;i+)if(i!=C)_;sj=/0;puts(s);(分数:4.00)填空项 1:_47.下列程序的运行结果是_。#includestdio.h
18、func(a,b) static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=5,m=3,p;p=fune(k,m);printf(“%d“,p);p=func(k,m);printf(“%d/n“,p);(分数:1.50)填空项 1:_48.以下程序运行后的输出结果是U /U。#include stdio, hmain ( )char a = “Language“, b : “Programe“;char * pl, * p2; int k;p1=a;p2=b;for(k=0;k=7;k+)if( * (p1 +k) = * (p2+k)
19、 printf(“% c“, * (pi +k);(分数:2.00)填空项 1:_49.函数 main()的功能是在带头结点的单链表中查找数据域中值最小的结点。请填空。#includestdio.hstruct nodeint data;struct node*next:;int min(struct node*first)/*指针 first 为链表头指针*/strct node *p;int m;p=first-next;m=p-data;p=p-next;for(; p!=NULL;p=)if(p-datadatam)m=p-data;return m;(分数:2.50)填空项 1:_二
20、级 C 语言笔试-440 答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.算法的时间复杂度是指( )。 A) 算法的长度 t B) 执行算法所需要的时间 C) 算法中的指令条数 D) 算法执行过程中所需要的基本运算次数(分数:2.00)A.B.C.D. 解析:解析 算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。2.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( )。 A) 逻辑设计 B) 需求分析 C) 详细设计 D) 物理设计(分数:2.00)A.B. C
21、.D.解析:解析 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。3.下列二叉树描述中,正确的是( )。 A) 任何一棵二叉树必须有一个度为 2 的结点 B) 二叉树的度可以小于 2 C) 非空二叉树有 0 个或 1 个根结点 D) 至少有 2 个根结点(分数:2.00)A.B. C.D.解析:解析 二叉树是由 n0 个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空集合,根可以有空的左子树或空的右子树。二叉树不是树的特殊情况,它们是两个概念。 二叉树具有
22、如下两个特点: 非空二叉树只有一个根结点。 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。4.已经定义 ch 为字符型变量,以下赋值语句中错误的是 _。A) ch=/; B) ch=62+3; C) ch=NULL; D) ch=/xaa;(分数:2.00)A. B.C.D.解析:解析 对字符变量赋值时,即可以赋一字符常量,也可以赋 0255 的整数,该整数表示字符常量的 ASCII 值。本题中选项 B 是将 65 赋值给 ch,表示字符 A;选项 C 中 NULL 是 C 语言中的符号常量,其值为 0;选项 D 是将一个转义字符赋值给 ch,该字符的 ASCII 值为 aa,其
23、中 aa 是十六进制;选项 A 错误。5.在下列几种排序方法中,要求内存量最大的是_。A) 插入排序 B) 选择排序 C) 快速排序 D) 归并排序(分数:2.00)A.B.C.D. 解析:评析 快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中部分记录的关键字均比另部分记录的关键字小,再分别对这两分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 440 答案 解析 DOC
