【计算机类职业资格】二级C语言笔试-102及答案解析.doc
《【计算机类职业资格】二级C语言笔试-102及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-102及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-102 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能,造成错误的原因是#define MIN -2147483647int findmax (int X, int n)int i, max;for(i=0; in; i+)max=MIN;if(maxxi) max=xi;return max;(分数:2.00)A.定义语句 int i, max; 中 max 未赋初值B.赋值语句 max=MIN;中,不应给 max 赋
2、 MIN 值C.语句 if(maxxi) max=xi;中判断条件设置错误D.赋值语句 max=MIN;放错了位置2.数据库管理系统是(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统3.下列叙述中正确的是(分数:2.00)A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上 3 种说法都不完整4.软件详细设计产生的图如图所示,该图是(分数:2.00)A.B.C.D.5.以下程序运行后的输出结果是#includestdio.hmain()int a=2, 3, 5, 4,
3、i;for(i=0; i4; i+)switch(i%2)case 0: switch(ai%2)case 0:ai+: break;case 1: ai-;break;case i: ai=0;for(i=0; i4; i+) printf(“%d“, ai); printf(“/n“);(分数:2.00)A.3 3 4 4B.2 0 5 0C.3 0 4 0D.0 3 0 46.有以下定义语句,编译时会出现编译错误的是(分数:2.00)A.char a=a;B.char a=/n;C.char a=aa;D.char a=/x2d;7.下列数据结构中,能够按照“先进后出”原则存取数据的是(
4、分数:2.00)A.循环队列B.栈C.队列D.二叉树8.以下程序段的输出结果是int r=8;printf(“%d/n“, r 1);(分数:2.00)A.16B.8C.4D.29.设有以下函数void fun(int n, char *s) 则下面对函数指针的定义和赋值均正确的是(分数:2.00)A.void(*pf)(); pf=fun;B.viod *pf(); pf=fun;C.void *pf(); *pf=fun;D.void(*pf)(int, char); pf=10.若有定义语句:int a410,*p, *q4;且 0i4,则错误的赋值是(分数:2.00)A.P=aB.qi
5、=aiC.P=aiD.P=s=f(a+1); t=f(a+1);printf(“%d, %d/n“, s, t);(分数:1.00)A.10,64B.10,10C.64,10D.64,6414.下列选择项中不属于结构化程序设计原则的是(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精15.下面结构体的定义语句中,错误的是(分数:1.00)A.struct ordint x; int y; int z; struct ord a;B.struct ordint x; int y; int z; struct ord a;C.struct ordint x; int y; int z;
6、 a;D.structint x; int y; int z; a;16.以下程序段中,与语句 k=ab? (be? 1:0):0;功能相同的是(分数:1.00)A.if(ab) else k=0;B.if(ab)|(be) k=1;else k=0;C.if(a=b) k=0;else if(b=c) k=1;D.if(ab) k=1;else if(bc) k=1;else k=0;17.下列关于 C 语言文件的叙述中,正确的是(分数:1.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件
7、或文本文件D.文件由字符序列组成,其类型只能是文本文件18.以下程序运行后的输出结果是#include#includemain()char str20=One * World“, “One * Dream!“, *p=str1;printf(“%d,“, strlen(p); printf(“%s/n“, p);(分数:1.00)A.9,One * WorldB.9,One * DreamC.10,One * Dream!D.10,One * World19.以下程序运行后的输出结果是#includestdio.hint f(int n);main()int a=3, s;s=f((分数:1.
8、00)A.; s=s+f(a); pri20.下列函数的功能是fun(char *a, char *b)while(*b=*(分数:1.00)_21.阅读以下程序#includestdio.hmain()int case; float printF;printf(“请输入 2 个数:“);scanf(“%d %f“, printf(“%d %f/n“, case, printF);该程序编译时产生错误,其出错原因是(分数:2.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数
9、使用D.定义语句无错,printf 不能输出 case 的值22.已知字母 A 的 ASCII 码为 65,以下程序运行后的输出结果是#includestdio.hmain()char c1, c2;c1=A+8-4;c2=A+8-5;printf(“%c, %d/n“, c1, c2);(分数:2.00)A.E,68B.D,69C.E,DD.输出无定值23.下列有关 C 语言字符数组的叙述中,错误的是(分数:2.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串24.对于循环队列,下列叙述中正
10、确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针25.软件设计中划分模块的一个准则是(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合C.低内聚、高耦合D.高内聚、高耦合26.若有定义语句:int x=10;,则表达式 x-=x+x 的值为(分数:2.00)A.-20B.-10C.0D.1027.设有定义:char *c;,以下选项中能够使字符型指针 c 正确指向一个字符串的是(分数:2.00)A.char str=“string“; c=str;B.scanf(“%s“,c);C.c=
11、getchar();D.*c=“string“;28.表达式:(int)(double)9/2)-(9)%2 的值是(分数:2.00)A.0B.3C.4D.529.以下程序运行后的输出结果是#includevoid fun(int P)int d=2;P=d+; printf(“%d“, P);main()int a=1;fun((分数:2.00)A.; printf(“%d/30.以下程序运行后的输出结果是#includestdio.hmain()int a=1, b=0;print(“%d,“, b=a+b);printf(“%d/n“, a=2*b);(分数:2.00)A.0,0B.1,
12、0C.3,2D.1,231.有 3 个关系 R、S 和 T 如下:(分数:2.00)A.B.C.D.32.以下程序运行后的输出结果是#includemain()int m=1, n=2, *P=r=P; p=q; q=r;printf(“%d, %d, %d, %d/n“, m, n, *p, *q);(分数:2.00)A.1,2,1,2B.1,2,2,1C.2,1,2,1D.2,1,1,233.以下程序运行后的输出结果是#includestdio.h#includestring.hmain()char a10=“abed“;printf(“%d, %d/n“, strlen((分数:2.00
13、)A., sizeof(a);34.以下程序运行后的输出结果是#includestdio.hmain()char s=“012xy“; int i, n=0;for(i=0; si!=0; i+)if(si=a printf(“%d/n“, n);(分数:2.00)A.0B.2C.3D.535.以下选项中,能用作用户标识符的是(分数:2.00)A.voidB.8_8C._0_D.unsigned36.以下程序运行后的输出结果是#includestdio.hmain()int n=2, k=0;while(k+ printf(“%d %d/n“, k, n);(分数:2.00)A.0 2B.1
14、3C.5 7D.1 237.以下程序运行后的输出结果是#includestdio.hmain()int c=0, k;for(k=1; k3; k+)switch(k)default: c+=k;case 2: c+; break; case 4: c+=2; break;printf(“%d/n“, c);(分数:2.00)A.3B.5C.7D.938.以下程序运行后的输出结果是#includestdio.h#includestring.hstruct Aint a; char b10; double c; ;struct A f(struct A t);main()struct A a=1
15、001, “ZhangDa“, 1098.0;a=f((分数:2.00)A.; printf(“%d, %s, %6.1f/n“, a.a, a.b, a.c);struct A f(st39.下列数据结构中,属于非线性结构的是(分数:2.00)A.循环队列B.带链队列C.二叉树D.带链栈40.设有定义:int a=1,b=2,e=3;,以下语句中执行效果与其他 3 个不同的是(分数:2.00)A.if(ab) c=a, a=b, b=c;B.if(ab) c=a, a=b, b=c;C.if(ab) c=a; a=b; b=c;D.if(ab) c=a; a=b; b=e;二、填空题(总题数
16、:15,分数:30.00)41.某二叉树有 5 个度为 2 的结点及 3 个度为 1 的结点,则该二叉树中共有 1 个点。(分数:2.00)填空项 1:_42.程序流程图中的菱形框表示的是 1。(分数:2.00)填空项 1:_43.软件开发过程主要分为需求分析、设计、编码和测试 4 个阶段,其中 1 阶段产生“软件需求规格说明书”。(分数:2.00)填空项 1:_44.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_45.人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以作为主关键字的是 1。(分
17、数:2.00)填空项 1:_46.若有定义语句:int a=5;,则表达式 a+的值是 1。(分数:2.00)填空项 1:_47.若有语句 double x=17; int y;,当执行 y=(int)(x/5)%2;之后 y 的值为 1。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。#includestdio.hmain()int x=20;printf(“%d“, 0x20);printf(“%d/n“, 0x (分数:2.00)填空项 1:_49.以下程序运行后的输出结果是_。#includestdio.hmain()int a=1, b=7;do b=b/2; a
18、+=b;while(b1);printf(“%d/n“, a);(分数:2.00)填空项 1:_50.以下程序运行后的输出结果是_。#includestdio.hmain()int f, f1, f2, i; f1=0; f2=1;printf(“%d %d“, f1, f2);for(i=3; i=5; i+)f=f1+f2; printf(“%d“, f);f1=f2; f2=f;printf(“/n“);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是_。#includestdio.hint a=5;void fun(int b)int a=10; a+=b; print
19、f(“%d“, a);main()int c=20;fun(c); a+=c; printf(“%d/n“, a);(分数:2.00)填空项 1:_52.设有定义:struct personint ID; char name12; P;请将 scanf(“%d“, _);语句补充完整,使其能够为结构体变量 P 的成员 ID 正确读入数据。(分数:2.00)填空项 1:_53.以下程序运行时从键盘输入:How are you? 回车,则输出结果为_。#includestdio.hmain()char a20=“How are you?“,b20;scanf(“%s“, b); printf(“%
20、s %s/n“, a, b);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。#includestdio.htypedef structint num; double s; REC;void fun1(REC x)x.num=23; x.s=88.5;main()REC a=16, 90.0;fun1(a);printf(“%d/n“, a.num);(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是_。#includestdio.hfun(int x)if(x/20) fun(x/2);printf(“%d“, x);main()fun(6); printf
21、(“/n“);(分数:2.00)填空项 1:_二级 C 语言笔试-102 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能,造成错误的原因是#define MIN -2147483647int findmax (int X, int n)int i, max;for(i=0; in; i+)max=MIN;if(maxxi) max=xi;return max;(分数:2.00)A.定义语句 int i, max; 中 max 未赋初值B.赋值
22、语句 max=MIN;中,不应给 max 赋 MIN 值C.语句 if(maxxi) max=xi;中判断条件设置错误D.赋值语句 max=MIN;放错了位置 解析:解析 程序中 max=MIN;应该放在 for 循环语句之前,否则每次循环都要将 MIN 的值重新赋给max,这样不能实现求最大值的算法思想。2.数据库管理系统是(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件 C.一种编译系统D.一种操作系统解析:解析 数据库管理系统是指位于用户与操作系统之间的数据管理软件。数据库管理系统是为数据库建立、使用和维护而配置的软件。3.下列叙述中正确的是(分数:2.00)A.程序
23、设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上 3 种说法都不完整 解析:解析 选项 A、B、C 的说法都不完整。程序设计应根据计算机要完成的任务进行数据结构和算法的设计,并且编写其程序代码,然后进行调试,直到得出正确结果。4.软件详细设计产生的图如图所示,该图是(分数:2.00)A.B.C. D.解析:解析 N-S 图是由若干基本框图构成的流程图,其特点是没有流程线;PAD(问题分析图,Problem Analysis Diagram)是一种由左往右展开的二维树状结构;程序流程图用于描述问题解决的过程和步骤,其中方框表示处
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 102 答案 解析 DOC
