【计算机类职业资格】二级C语言笔试-460及答案解析.doc
《【计算机类职业资格】二级C语言笔试-460及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-460及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-460 及答案解析(总分:93.50,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.下列叙述中正确的是A) 对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)D) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog 2n)(分数:2.00)A.B.C.D.2.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其
2、后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D.3.软件调试的目的是A) 发现错误 B) 改正错误C) 改善软件的性能 D) 验证软件的正确性(分数:2.00)A.B.C.D.4.下列叙述中正确的是 _。A) 程序设计就是编制程序 B) 程序测试必须由程序员自己去做C) 程序经调试改错后还应进行再测试 D) 程序经调度改错后不必进行再测试(分数:2.00)A.B.C.D.5.下列关于线性链表的描述中正确的是( )。A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一
3、定连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A.B.C.D.6.软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于A) 定义阶段 B) 开发阶段 C) 维护阶段 D) 上述 3 个阶段(分数:2.00)A.B.C.D.7.下列选项中不属于结构化程序设计方法的是_。A) 自顶向下 B) 逐步求精C) 模块化 D) 可复用(分数:2.00)A.B.C.D.8.有以下程序:main()char a,b,c,d;scanf(“%c,%c,%d,%d“,a,printf
4、(“%c,%c,%c,%c/n“,a,b,c,d);若运行时从键盘上输入:6,5,65,66回车,则输出结果是 _。A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,6(分数:2.00)A.B.C.D.9.有三个关系 R,S 和 T 如下:(分数:1.00)A.B.C.D.10.以下叙述中正确的是_。A) 用 C 语言实现的算法必须要有输入和输出操作B) 用 C 语言实现的算法可以没有输出但必须要有输入C) 用 C 语言程序实现的算法可以没有输入但必须要有输出D) 用 C 语言程序实现的算法可以既没有输入也没有输出(分数:1.00)A.B.C.D.11.以
5、下选项中与 if(a=1)a+;else a=b;语句功能不同的语句是( )。 A) switch(a) ease 0:a=b;break; default:a+; B) switch(a=1) case 0:a+: default:a=b; C) switch(a) default:a=b;break; case 1:a+; D) a=(a=1)?(a+):b(分数:1.00)A.B.C.D.12.下列程序的输出结果是( )。main()int a=1,b=2;printf(“%d,%d/n“,-a,+b);A) 1,2 B) 1,3 C) 0,2 D) 0,3(分数:1.00)A.B.C.
6、D.13.请选出可用作 C 语言用户标识符的是( )。A) void,define,WORD B) a3_b3,_123,IFC) FOR,-abc,Case D) 2a,Do,$izeof(分数:1.00)A.B.C.D.14.下列叙述中错误的是_。A) 计算机不能直接执行用 C 语言编写的源程序B) C 程序经 C 编译后,生成后缀为.obj 的文件是一个二进制文件C) 后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件D) 后缀为.obj 和.exe 的二进制文件都可以直接运行(分数:2.00)A.B.C.D.15.若变量已正确定义并赋值,以下符合 C 语言语法
7、的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(分数:1.00)A.B.C.D.16.设有以下语句:int a=1,b=2,c;c=a(b2);执行后,c 的值为( )。A6 B7 C8 D9(分数:1.00)A.B.C.D.17.在 16 位编译系统上,若有定义 int a=10,20,30,*p=if(aB) a=b;c=a;if(c!=A) c=b;printf(“%d,%d,%d/n“,a,b,C) ;其输出结果是( )。A) 程序段有语法错 B) 3,5,3C) 3,5,5 D) 3,5,7(分数:2.00)A.B.C.D.1
8、9.若有定义 float x=1.5;int a=1,b=3,c=2;,则正确的 switch 语句是A) swimh(x)case 1.0:printf(“*/n“);case 2.0:printf(“*/n“);B) switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C) switch(a+b)case 1:pfintf(“*/n“);case 2+1:pfintf(“*/n“);D) switch(a-I-b)case 1:pfintf(“*/n“);case c:printf(“*/n“);(分数:1.00)A.B.C.D.
9、20.有以下程序#include stdio.hmain()int a=1,2,3,4,y,*p=S+=2;printf(“%d/n“,s0);执行后的结果是( )。A) 输出字符 a 的 ASCII 码 B) 输出字符 c 的 ASCII 码C) 输出字符 c D) 程序出错(分数:2.00)A.B.C.D.22.有以下程序 #includestdio.h intfun(int a,int b) if(b=0)return a; else return(fun(-a,-b); main() pdntf(“%d/n“,fun(4,2); 程序的运行结果是( )。 A) 1 B) 2 C) 3
10、D) 4(分数:2.00)A.B.C.D.23.下列字符数组初始化语句中,不正确的是( )。A) charcgoodmorning; B) char,c20“goodmoming“;C) charca,b,c,d; D) charc“goodmoming“;(分数:2.00)A.B.C.D.24.以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includestdio.hmain()int a10=0;while(i10)scan(“%d“_);:A) a+(i+) B) A) * printf(“%c/n“,*(pc+5);程序运行后的输出结果是_。(A) z(B) 0(C) 元素
11、 ch5地址(D) 字符 y 的地址(分数:2.00)A.B.C.D.28.设已执行预编译命令#includestring.h,以下程序段的输出结果是char s=“ an apple“ ;printf(“%d/n“,strlen(s);A) 7 B) 8 C) 9 D) 10(分数:2.00)A.B.C.D.29.以下程序的输出结果是( )。#include stdio.hmain()int n=4;while(n-) printf(“%d “,-n);A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0(分数:1.00)A.B.C.D.30.以下程序的主函数中调用了在其前面定义的
12、 fun 函数#include stdio.hmain()double a15,k;k=fun(a);则以下选项中错误的 fun 函数受部是( )。A)double fun(double a15) B)double fun(double *a)C)double fun(double a) D)double fun(double a)(分数:2.00)A.B.C.D.31.下列的程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。#includestdiohmain()char s1=“chinese“,s2=“japnese“;int i;for(i=
13、0;s1i!=/0 ,则数组 x 在内存中所占字节数是_。A) 3 B) 6 C) 10 D) 20(分数:2.00)A.B.C.D.38.已知一个文件中存放若干工人档案记录,其数据结构如下: struct a char number100; int age; float p6; ; 定义一个数组:struct a number10; 假定文件已正确打开,不能正确地从文件中读入 10 名工人数据到数组 b 中的是( )。 A) fread(b,sizeof(struct a),10,fp);B) for(i=0;i10;i+) fread(bi,sizeof(struct a),1,fp);
14、C) for(i=0;i10;i+)fread(b+i,sizeof(struct a),1,fp);D) for(i=0;i5;i+=2) fread(b+i,sezeof(struct a),2,fp);(分数:2.00)A.B.C.D.39.有以下程序#includemain()FILE *fp; int i, k, n;fp=fopen(“data.dat“, “w+“);for(i=1; i6; i+)fprintf(fp,“%d “,i);if(i%3=0) fprintf(fp,“/n“);rewind(fp);fscanf(fp, “%d%d“, k, n); printf(“
15、%d %d/n“, k, n);fclose(fp);程序运行后的输出结果是_。(A) 0 0(B) 123 45(C) 1 4(D) 1 2(分数:2.00)A.B.C.D.40.下列叙述正确的是( )。AC 语言中的文件是流式文件,因此只能顺序存取数据B打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:29.50)41.数据字典是各类数据描述的集合,它通常
16、包括 5 个部分,即数据项、数据结构、数据流、 1 和处理过程。(分数:2.00)填空项 1:_42.注释说明了程序的功能,它分为U /U注释和功能性注释。(分数:2.00)填空项 1:_43.一棵二叉树第六层(根结点为第一层)的结点数最多为个 1。(分数:2.00)填空项 1:_44.用树型结构表示实体类型及实体间联系的数据模型称为 1。(分数:2.00)填空项 1:_45.若 a=l,b=2,则表达式!(x=a)|y=b)if( c = a) printf( “% d /n“ ,c);else printf( “% d /n“ ,b);(分数:2.00)填空项 1:_48.在 C 语言中,
17、while 和 dowhile 循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_49.写出下列程序的输出结果 _。main()int=0;while(n+=1);printf(“%d,“,n);printf(“%d“,n+);(分数:2.00)填空项 1:_50.以下程序的输出结果是U /U。main()char s=“ABCD“,*p;for(p=s+1;ps+4;p+)printf(“%s/n“,p);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是U /U。#include stdio.hmain( )int a,b,c;a =25;b =02
18、5;e =0x25;prinff(“%d %d %d/n“,a,h,c);(分数:2.00)填空项 1:_52.“printf(“%d/n“,strlen(“/t/“023/xABC/n“);”语句的输出结果是_。(分数:1.50)填空项 1:_53.执行下列语句段后,x 的值是_。int*p,x;x100;px*p+50;(分数:2.00)填空项 1:_54.以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别(sex)为 M 的记录的个数,存入变量 n 中,并作为函数值返回。请填空:#includestdio.h#define N 3typedef structi
19、nt num;char name10;char sex;)SS;int fun(SS person)int i,n=0;for(i=0;iN;i+)if(_=M)n+;return n;main()(SS WN=1,AA,F,2,BB,M,3,CC,M;int n;n=fun(W);printf(“n=%d/n“,n);(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是_。main()char a=“123456789“,*p;int i=0;p=a;while (*p)if(i%2=0) *p=*;p+;i+;puts(a);(分数:2.00)填空项 1:_二级 C 语言笔试-
20、460 答案解析(总分:93.50,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.下列叙述中正确的是A) 对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)D) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog 2n)(分数:2.00)A. B.C.D.解析:解析 有序链表中定位元素需要通过指针逐个查找,所以对分查找的意义不大。选项 A 正确。2.若某二叉树的前序遍历
21、访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D. 解析:解析 前序遍历的第一个结点 a 为树的根结点;中序遍历中 a 左边的结点为 a 的左子树, a 右边的结点为 a 的右子树;再分别对 a 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。3.软件调试的目的是A) 发现错误 B) 改正错误C) 改善软件的性能 D) 验证软件的正确性(分数:2.00)A.B. C.D.解析:解析 软件测试与软件调试是两
22、个不同的概念:软件测试的目的是发现错误,而软件调试的目的是发现错误导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。4.下列叙述中正确的是 _。A) 程序设计就是编制程序 B) 程序测试必须由程序员自己去做C) 程序经调试改错后还应进行再测试 D) 程序经调度改错后不必进行再测试(分数:2.00)A.B.C. D.解析:解析 软件测试包括需求分析、结构功能模块设计、编制程序等阶段。程序的测试可以由专门的测试人员来完成。程序经调试改错后还应进行再测试。5.下列关于线性链表的描述中正确的是( )。A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一定连续,且前件元素
23、一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A. B.C.D.解析:解析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。6.软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于A) 定义阶段 B) 开发阶段 C) 维护阶段 D) 上述 3 个阶段(分数:2.00)A.B. C.D.解析:解析 软件生命周期由软件定义、软件开发和软件维护 3 个时期组成。软件定义可分为软件系统的可行性研究和需求分析两个阶段。软件开发时期由 5 个阶段
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 460 答案 解析 DOC
