【计算机类职业资格】二级C语言笔试-417及答案解析.doc
《【计算机类职业资格】二级C语言笔试-417及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-417及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-417 及答案解析(总分:102.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.栈和队列的共同特点是A) 都是先进先出 B) 都是先进后出C) 只允许在端点处插入和删除元素 D) 没有共同点(分数:2.00)A.B.C.D.2.对于长度为 n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。A) 冒泡排序为 n/2 B) 冒泡排序为 nC) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:2.00)A.B.C.D.3.下列叙述中正确的是_。(A) 程序设计就是编制程序(B) 程序的测试必须由程序员自己去完成(C) 程序
2、经调试改错后还应进行再测试(D) 程序经调试改错后不必进行再测试(分数:2.00)A.B.C.D.4.下列对于软件测试的描述中正确的是_。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能地多发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:2.00)A.B.C.D.5.在设计程序时,应采纳的原则之一是( )。A) 不限制 goto语句的使用 B) 减少或取消注解行C) 程序越短越好 D) 程序结构应有助于读者理解(分数:1.00)A.B.C.D.6.某系统总体结构图如下图所示:(分数:2.00)A.B.C.D.7.数据流
3、程图(DFD 图)是A) 软件概要设计的工具 B) 软件详细设计的工具C) 结构化方法的需求分析工具 D) 面向对象方法的需求分析工具(分数:2.00)A.B.C.D.8.下列选项中不属于软件生命周期开发阶段任务的是_。A) 软件测试 B) 概要设计 C) 软件维护 D) 详细设计(分数:2.00)A.B.C.D.9.在软件开发过程中,软件结构设计是描述 _。A) 数据存储结构 B) 软件体系结构 C) 软件结构测试 D) 软件控制过程(分数:2.00)A.B.C.D.10.下列叙述中,不属于软件需求规格说明书的作用的是( )。 A) 便于用户,开发人员进行理解和交流 B) 反映出用户问题的结
4、构,可以作为软件开发工作的基础和依据 C) 作为确认测试和验收的依据 D) 便于开发人员进行需求分析(分数:2.00)A.B.C.D.11.下列叙述中,正确的是A) 用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B) 用 E-R图只能表示实体集之间一对一的联系C) 用 E-R图只能表示实体集之间一对多的联系D) 用 E-R图表示的概念数据模型只能转换为关系数据模型(分数:2.00)A.B.C.D.12.以下关于函数的叙述中正确的是_。A) 每个函数都可以被其他函数调用(包括 main函数)B) 每个函数都可以被单独编译C) 每个函数都可以单独运行D) 在一个函数内部可以定
5、义另一个函数(分数:2.00)A.B.C.D.13.以下选项中可作为 C语言合法常量的是_。A) -80. B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A.B.C.D.14.以下关于简单程序设计的步骤和顺序的说法中正确的是 A) 确定算法后,整理并写出文档,最后进行编码和上机测试 B) 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档 C) 先编码和上机测试,在编码过程中确定算法和数据结构,最后整理文档 D) 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(分数:1.00)A.B.C.D.15.有以下程序int add(int a,
6、int b)return(a+b);main()int k,(*f)(),a=5,b=10;f=add;则以下函数调用语句错误的是A) k=(*f)(a,b); B) k=add(a,b);C) k=*f(a,b); D) k=f(a,b);(分数:1.00)A.B.C.D.16.假定 w、x、y、m 均为 int型变量,则执行下列的语句后,m 的值是( )。w=6,x=4,y=3;m=(wx)?W:X;m=(my)?m:y;A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.17.设有以下语句,其中不是对 a数组元素的正确引用的是:_(其中 0i0) inta10=O,1
7、2,3,4,5,6,7,8,9,*p=a;A) ap-a B) *( B) char s5=A,B,C,D,E;C) char *s=“ABCDE“; D) char *s; scanf(“%s“,*s);(分数:1.00)A.B.C.D.19.有以下程序#includestdio.hmain()int x=8;for(;x0;X-)if(x%3)printf(“%d,“,x-);continue;printf(“%d,“,-x);程序的运行结果是( )。A7,4,2 B8,7,5,2 C9,7,6,4 D8,5,4,2(分数:1.00)A.B.C.D.20.设有程序段:int k=12;wh
8、ile(k=1) k=k-1;则下列描述中正确的是( )。A) while循环执行 10次 B) 循环是无限循环C) 循环体语句一次也不执行 D) 循环体语句执行一次(分数:2.00)A.B.C.D.21.下列程序的输出结果是( )。#includestdio.hint fun(int x)int a;if(x=0x=1)return 3;elsea=x-fun(x-2);return a;void main()printf(“%d“,fun(7);A) 2 B) 8 C) 9 D) 5(分数:2.00)A.B.C.D.22.字符串“%/“ABCDEF/“/“的长度是( )。A) 11 B)
9、10 C) 5 D) 3(分数:2.00)A.B.C.D.23.若各选项中所用变量已正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是_。A) main()x=fun(2,10);float fun(int a,int b)B) float fun(int a,int b)main()x=fun(i,j);C) float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D) main()float fun(int i,int j);x=fun(i,j);float fun(int a,int b)(分
10、数:2.00)A.B.C.D.24.下列程序的输出结果是( )。 #includestdio.h void main() int a=0,b=1,c=2; if(+a0|+b0) +C; printf(“%d,%d,%d“,a,b,c); A) 0,1,2 B) 1,2,3 C) 1,1,3 D) 1,2,2(分数:2.00)A.B.C.D.25.判断 char型变量 c1是否为小写字母的正确表达式为( )。A) ac1Z B) (c1A) c1z)C) (ac1(“z“c1) D) (c1a) B) char,c20“goodmoming“;C) charca,b,c,d; D) charc
11、“goodmoming“;(分数:2.00)A.B.C.D.29.下列程序的输出结果是( )。void f(int *x, int *y)int t;t=*x,*x=*y;*y=t;main( )int a8= 1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=while(pq)f(p,q); p+; q-;for (i=0;i8;i+) printf(“%d,“,ai);A) 8,2,3,4,5,6,7,1 B) 5,6,7,8,1,2,3,4C) 1,2,3,4,5,6,7,8 D) 8,7,6,5,4,3,2,1(分数:2.00)A.B.C.D.30.有如下程序段:int *p
12、,a=10,b=1;p= a= *p+b;执行该程序段后,a 的值为( )。A) 12 B) 11 C) 10 D) 编译出错(分数:1.00)A.B.C.D.31.下列二维数组初始化语句中,不正确的是( )。A) int b2=1,2,3,4,5,6,7; B) int b35=0,0,0;C) int b4=1,2,3,4,5,6; D) int b32=(1,2),(3,4) ,(5,6);(分数:2.00)A.B.C.D.32.设有定义:int n1=0,n2,*p=,下列赋值语句中与 n2=n1;语句等价的是 ( )。A) *p=*q; B) p=q; C) *p= while(pi
13、) if(pi=“ i+;main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“, s1); A) ab cd EFG! B) Ab Cd EFg! C) aB cD EFG! D) ab cd EFg!(分数:2.00)A.B.C.D.34.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填 _。struct linkchar data;_;node;(分数:2.00)A.B.C.D.35.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p
14、=a;for(p=a;pa+8;p+=2) putchar(*p);A) language B) lnug C) 有语法错误 D) lang(分数:1.00)A.B.C.D.36.有以下程序#includestdio.hmain()struct nodeint n;struct node *next; *p;struct node x3=2,x+1,4,x+2,6,NULL;p=x;printf(“%d,“,p-n);printf(“%d/n“,p-next-n);程序运行后的输出结果是( )。A)2,3 B)2,4 C)3,4 D)4,6(分数:2.00)A.B.C.D.37.变量 a中的数
15、据用二进制进表示的形式是 01011101,变量 b中的数据用二进制表示的形式是 11110000,若要求将 a的高 4位取反,低 4位不变,所要执行的运算是( )。A) a*b B) ab C) aif(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()int i,aa5=1,2,3,4,5;f(aa,0,4);for(i=0;i5;i+) printf(“%d,“,aai);printf(“/n“);执行后的输出结果是U /U。(分数:2.00)填空项 1:_43.在关系数据库中把数据表示成二维表,每一个二维表称为U /U。(分数:2.00)填空项 1:_44.实
16、体完整性约束要求关系数据库中元组的 1 属性值不能为空。(分数:2.00)填空项 1:_45.下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_46.下列程序的循环次数是_。x=2;dox=x*x;while(!x);(分数:2.00)填空项 1:_47.下列循环的循环次数是_。int k=2;while(k=0)printf“%d“,k);k-;printf(“/n“);(分数:1.50)填空项 1:_48.以下程序的功能是:求出数组 x中各相邻两个元
17、素的和,依次存放到 a数组中,然后输出,请填空。main1int x10,a9,i;for (i=0;i10;i+)scanf(“%d“,xi);for(i=1;i10;i+)ai-1=xi+ 2;for(i=0;i9;i+)printf(“%d“,ai);printf(“/n“);(分数:2.00)填空项 1:_49.下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#includestdio.h#includectype.hmain()char c;int a,s=0;while(_)if(isdigit(c)a= c-0;s+=a;printf(“s=%d“
18、,s);(分数:2.00)填空项 1:_50.以下程序的输出结果是_。 #includestdio.h void swap(int*a,int*b) int*t; t=a;a=b;b=c;main() int i=3,j=5,*p=if(x=0x=1) return(1) ;p=x*func(x-1) ;return(p);main()printf(“%d/n“,func(4) );(分数:2.00)填空项 1:_53.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值,请填空void fun(int,int,int(*)4,int *);main()int a34=12
19、,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(“%4d“,bi);printf(“/n“);void fun(int m,int n,int ar4,int *bar)int i,j,x;for(i=0;iM;i+)x=ari0;for(j=0;jN;j+)NBSP;IF(X_=x;(分数:2.00)填空项 1:_54.现有两个 C程序文件 T18.c和 myfun.c同在 TC系统目录(文件夹)下,其中 T18.c文件如下:#includestdio.h#include“myfun.c“maim(
20、)fun();printf(“/n“);myfun.c文件如下:void fun()char s80,c;int n=0;while(c=getchar()!=/n)sn+=c;n-;while(n=0)printf(“%c“,sn-);当编译连接通过后,运行程序 T18时,输入 Thank!,则输出结果是_。(分数:2.00)填空项 1:_55.若有以下程序:main()char a;a=H-A+0;printf(“%c/n“,a);执行后的输出结果是U /U。(分数:2.00)填空项 1:_二级 C语言笔试-417 答案解析(总分:102.50,做题时间:90 分钟)一、选择题(总题数:4
21、0,分数:71.00)1.栈和队列的共同特点是A) 都是先进先出 B) 都是先进后出C) 只允许在端点处插入和删除元素 D) 没有共同点(分数:2.00)A.B.C. D.解析:命题目的 考查栈和队列概念的掌握。解题要点 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。考点链接 评价模块独立性的主要标准,以及对它们的定义和分类。2.对于长度为 n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是
22、_。A) 冒泡排序为 n/2 B) 冒泡排序为 nC) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:2.00)A.B.C.D. 解析:解析 存最坏情况下,快速排序退化为冒泡排序,冒泡排序法的基本过程参见本题的理论链接。冒泡排序的每个元素都要与它前面的元素相比较,因此比较次数为(n-1)+(n-2)+1=n(n-1)/2。3.下列叙述中正确的是_。(A) 程序设计就是编制程序(B) 程序的测试必须由程序员自己去完成(C) 程序经调试改错后还应进行再测试(D) 程序经调试改错后不必进行再测试(分数:2.00)A.B.C. D.解析:4.下列对于软件测试的描述中正确的是_。A) 软件测
23、试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能地多发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:2.00)A.B.C. D.解析:解析 软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。5.在设计程序时,应采纳的原则之一是( )。A) 不限制 goto语句的使用 B) 减少或取消注解行C) 程序越短越好 D) 程序结构应有助于读者理解(分数:1.00)A.B.C.D. 解析:解析 滥用 goto语句将破坏程序结构,可读性差,因此 A) 不对;注解行有利于对程序的理解,不应减少或取消,B) 不对;程序的长短要
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 417 答案 解析 DOC
