【计算机类职业资格】二级C语言笔试-211及答案解析.doc

上传人:孙刚 文档编号:1326022 上传时间:2019-10-17 格式:DOC 页数:26 大小:96KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-211及答案解析.doc_第1页
第1页 / 共26页
【计算机类职业资格】二级C语言笔试-211及答案解析.doc_第2页
第2页 / 共26页
【计算机类职业资格】二级C语言笔试-211及答案解析.doc_第3页
第3页 / 共26页
【计算机类职业资格】二级C语言笔试-211及答案解析.doc_第4页
第4页 / 共26页
【计算机类职业资格】二级C语言笔试-211及答案解析.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、二级 C 语言笔试-211 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下程序运行后的输出结果是#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“,k);printf(“/n“);(分数:2.00)_2.以下程序运行后的输出结果是#include stdio.hmain

2、( )char a=4:printf(“%d/n“,a=a1);(分数:2.00)A.40B.16C.8D.43.若有表达式(w)?(-x):(+y),则其中与 w 等价的表达式是(分数:2.00)A.w=1B.w=0C.w!=1D.w!=04.以下程序运行后的输出结果是#includestdio.hmain( )int x=1,y=2,z=3;it(xy)if(yz) printf(“%d“,+z);else printf(“%d“,+y);printf(“%d/n“,x+);(分数:2.00)A.331B.41C.2D.15.在软件开发中,需求分析阶段可以使用的工具是(分数:2.00)A.

3、N-S 图B.DFD 图C.PAD 图D.程序流程图6.若有定义语句:int m=5,4,3,2,1,i=4;,则下面对 m 数组元素的引用中错误的是(分数:2.00)A.m-iB.m2*2C.mm0D.mmi7.以下选项中不能作为 C 语言合法常量的是(分数:2.00)A.cdB.0.1e+6C.“a“D./0118.假定已建立以下链表结构,且指针 P 和 q 已指向如下图所示的结点:(分数:2.00)A.B.C.D.9.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.12345ABCDEB.EDCBA

4、54321C.ABCDE12345D.54321EDCBA10.计算机能直接执行的程序是(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序11.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是(分数:1.00)A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)12.以下程序运行后的输出结果是#includestdio.hstruct stint x,y; data2=1,10,2,20;main( )struet st *p=data; printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);(分数:1.00)A.1

5、0,1B.20,1C.10,2D.20,213.以下程序运行后的输出结果是#include stdio.hint fun(int a,int b)if(b=0) return a;else return(fun(-a,-b);main( )printf(“%d/n“,fun(4,2);(分数:1.00)A.1B.2C.3D.414.以下程序运行后的输出结果是#include stdio.h#define N 4void fun(int aN,int b)int i:for(i=0;iN;i+) bi=aii;main( )int xN:1,2,3,4,5,6,7,8,9,10,yN,i;fun

6、(x,y);for(i=0;iN;i+) printf(“%d,“,yi);prinff(“/n“);(分数:1.00)A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,15.以下叙述中错误的是(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式16.下列叙述中正确的是(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结

7、构B.在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况D.循环队列中元素的个数是由队头和队尾指针共同决定17.若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0,*P=x;,则错误引用 x 数组元素的是(分数:1.00)A.*pB.x5C.*(p+1)D.*x18.以下程序段的输出结果是int a,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(“a=%d b=%d c=%d/n“,a,b,c);(分数:1.00)A.a=10 b=50 c=10B.a=10

8、 b=50 c=30C.a=10 b=30 c=10D.a=50 b=30 c=5019.C 源程序中不能表示的数制是(分数:1.00)A.二进制B.八进制C.十进制D.十六进制20.以下程序运行后的输出结果是#includestdio.hmain( )int i=5;doif(i%3=1 if(i%5=2)printf(“*%d“,i);break;i+:while(i!=0);printf(“/n“);(分数:1.00)A.%7B.*3*5C.*5D.*2*621.以下程序运行后的输出结果是#include stdio.hint fun(int(*s)4,int n,int k)int m

9、,i;m=s0k;for(i=1;in;i+) if(sikm)m=sik;return m;main( )int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34 ;prinff(“%d/n“,fun(a,4,0);(分数:2.00)A.4B.34C.31D.3222.以下选项中正确的定义语句是(分数:2.00)A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;23.下列叙述中正确的是(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序

10、存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间24.数据流图中带有箭头的线段表示的是(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流25.以下程序运行后的输出结果是#includestdio.hmain( )int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)printf(“%d“,i+j);printf(“/n“);(分数:2.00)A.2 3 43 4 5B.4 3 25 4 3C.2 33 44 5D.4 53 42 326.有 3 个关系 R、S

11、 和 T,如下:(分数:2.00)A.B.C.D.27.下面的函数调用语句中 func 函数的实参个数是func(t2(v1,v2),(v3,v4,v5),(v6,max(v7,v8);(分数:2.00)A.3B.4C.5D.828.执行以下程序段后,w 的值为int w=A,x=14,y=15;w=(xy) (分数:2.00)A.1,2,3,4,5,6,7,8,9,0B.2,1,4,3,6,5,8,7,0,9C.0,9,8,7,6,5,4,3,2,1D.0,1,2,3,4,5,6,7,8,933.以下程序执行后,abc.dat 文件中的内容是#includestdio.hmain( )FIL

12、E *pf;char *s1=“China“, *s2=“Beijing“; pf=fopen(“abc.dat“, “wb+“); fwrite(s2,7,1,pf);rewind (pf); /*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);(分数:2.00)A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina34.以下程序运行后的输出结果是#include stdio.hmain( )struct STUchar name9;char sex;double score2;struct STU a=“Zhao“,m

13、,85.0,90.0,b=“Qian“,f,95.0,92.0;b=a;printf(“%s,%c,%2.0f,%2.0f/n“,b.name,b.sex,b.score0,b.score1);(分数:2.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,9035.若有定义语句:char s10=“1234567/0/0“;,则 strlen(s)的值是(分数:2.00)A.7B.8C.9D.1036.在数据管理技术发展的 3 个阶段中,数据共享最好的是(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.3 个

14、阶段相同37.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(分数:2.00)A.一对一B.一对多C.多对一D.多对多38.在面向对象方法中,不属于“对象”基本特点的是(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性39.以下不能正确表示代数式 (分数:2.00)A.B.C.D.40.以下关于宏的叙述中正确的是(分数:2.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间二、填空题(总题数:13,分数:30.00)41.对如图所示的二叉树进行中序遍历的结果是_。(分数:2.00)填空项 1:_42.按照

15、软件测试的一般步骤,集成测试应在 1 测试之后进行。(分数:2.00)填空项 1:_43.软件工程三要素是方法、工具和过程,其中, 1 支持软件开发的各个环节的控制和管理。(分数:2.00)填空项 1:_44.数据库设计包括概念设计、 1 和物理设计。(分数:2.00)填空项 1:_45.在二维表中,元组的 1 不能再分成更小的数据项。(分数:2.00)填空项 1:_46.设变量 a 和 b 已正确定义并赋初值,请写出与 a-=a+b 等价的赋值表达式 1。(分数:2.00)填空项 1:_47.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值:a=7b=9

16、请完成输出语句:printf(“_“,a,b);(分数:2.00)填空项 1:_48.有以下程序的输出结果是_。#includestdio.hmain( )int i,j,sum;for(i=3;i=1;i-)sum=0;for(j=1;j=i;j+) sum+=i*j;printf(“%d/n“,sum);(分数:2.00)填空项 1:_49.以下程序的输出结果是_。#includestdio.hmain( )int j,a=1,3,5,7,9,11,13,15,*p=a+5;for(j=3;j;j-)switch (j)case 1:case 2: printf(“%d“,*p+);bre

17、ak;case 3: printf(“%d“,*(-p);(分数:2.00)填空项 1:_50.以下程序的输出结果是_。#includestdio.h#definge N 5int fun(int *s,int a,int n)int j;*s=a; j=n; while(a!=sj) j-;return j;main( )int sN+I; int k;for(k=1;k=N;k+) sk=k+1;printf(“%d/n“,fun(s,4,N);(分数:2.00)_51.以下程序的输出结果是_。#includestdio.hint fun(int x)static int t=0;retu

18、rn(t+=x);main( )int s,i;for(i=1;i=5;i+) s=fun(i);prinff(“%d/n“,s);(分数:2.00)填空项 1:_以下程序按下面指定的数据给 x 数组的下三角置数,并按如下形式输出:请填空。43 72 6 91 5 8 10#includestdio.hmain( )int x44,n=0,i,j;for(j=0;j4;j+)for(i=3;i=j; (12) )n+;xij= (13) ;for(i=0;i4;i+)for(j=0;j=i;j+) printf(“%3d“,xij);printf(“/n“);(分数:4.00)填空项 1:_填

19、空项 1:_以下程序的功能是:通过函数 func 输入字符并统计输入字符的个数。输入时用字符作为输入结束标志。请填空。#includestdio.hlong (14) /* 函数说明语句 */main( )long n;n=func( );printf(“n=%1d/n“,n);long func( )long m;for(m=0;getchar( )!=; (15) );return m;(分数:4.00)填空项 1:_填空项 1:_二级 C 语言笔试-211 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下程序运行后的输出结果是#in

20、clude 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“,k);printf(“/n“);(分数:2.00)_解析:解析 fun 函数的功能是将数组 a 中的第一个元素和第五个元素数值对调,第二个和第四个元素数值对调,a 数组为5,4,3,2,1,6,7,8,9,102.以下程序运行后的输出结果是#include stdio.hmain(

21、)char a=4:printf(“%d/n“,a=a1);(分数:2.00)A.40B.16C.8 D.4解析:解析 a1,首先将 a 转换成二进制,把 a(值为 4)的各个二进制位向左移动一位,高位丢弃,低位补 0。a=00000100(十进制数 4),左移一位后为 00001000(十进制数 8)。3.若有表达式(w)?(-x):(+y),则其中与 w 等价的表达式是(分数:2.00)A.w=1B.w=0C.w!=1D.w!=0 解析:解析 本题中表达式中“(w)”的含义是:w 的值为非零,结果为真;w 的值为零,结果为假。因此,与 w 等价的表达式是选项 D。4.以下程序运行后的输出结

22、果是#includestdio.hmain( )int x=1,y=2,z=3;it(xy)if(yz) printf(“%d“,+z);else printf(“%d“,+y);printf(“%d/n“,x+);(分数:2.00)A.331B.41C.2D.1 解析:解析 C 语言规定:在 jf 的嵌套结构中,else 子句总是和最近的一个 if 语句配对。由于 xy 为假,程序流程跳过内嵌的 if 语句,退出外层 if 结构,顺序执行打印 x+。由于 x+是后置运算,所以先输出 1,x 再自加 1。5.在软件开发中,需求分析阶段可以使用的工具是(分数:2.00)A.N-S 图B.DFD

23、图 C.PAD 图D.程序流程图解析:解析 数据流图简称 DFD,它采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。所以 DFD图可以用于需求分析阶段。6.若有定义语句:int m=5,4,3,2,1,i=4;,则下面对 m 数组元素的引用中错误的是(分数:2.00)A.m-iB.m2*2C.mm0 D.mmi解析:解析 选项 C 中,将 m0的取值 5 作为下标,出现下标越界错。7.以下选项中不能作为 C 语言合法常量的是(分数:2.00)A.cd B.0.1e+6C.“a“D./011解析:解析

24、C 语言规定字符常量是用一对单撇号“”括起来的单个字符,选项 A 中出现了两个字符。8.假定已建立以下链表结构,且指针 P 和 q 已指向如下图所示的结点:(分数:2.00)A.B.C.D. 解析:解析 要从链表中删除 b,只需要将 c 结点的地址赋给 p-next 即可。c 结点的地址存放在 q-next 中,因此,p-next=q-next 即可,然后用 free(q)释放指针 q 的空间。9.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.12345ABCDEB.EDCBA54321 C.ABCDE

25、12345D.54321EDCBA解析:解析 栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。10.计算机能直接执行的程序是(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序 解析:解析 计算机能直接执行的只能是机器语言编写的程序。汇编程序不是机器语言编写的程序,不能被直接执行。源程序是用高级语言编写的程序,不能被直接执行;源程序经过编译后产生目标程序,该程序也不能被直接执行,需要通过系统提供的连接程序与库函数连接装配成可执行程序才能被计算机执行。因此,可执行程序计算机能直接执行。11.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要

26、比较的次数是(分数:1.00)A.O(n)B.O(n2)C.O(log2n) D.O(nlog2n)解析:解析 二分查找法也称为折半查找法。它的基本思想是:将 n 个元素分成个数大致相同的两半,取 an/2与欲查找的 x 进行比较,如果 x=an/2,则找到 x,算法终止;如果 xan/2,则要在数组 a的左半部继续搜索 x(这里假设数组元素呈升序排列);如果 xan/2,则要在数组 a 的右半部继续搜索x。每次余下 n/(2i)个元素待比较,当最后剩下一个时,即 n/(2i)=1。故,n=2 i;所以 i=log2n。12.以下程序运行后的输出结果是#includestdio.hstruct

27、 stint x,y; data2=1,10,2,20;main( )struet st *p=data; printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);(分数:1.00)A.10,1B.20,1C.10,2 D.20,2解析:解析 正确地给结构体数组赋初值,data0.x=1、data0.y=10、data1.x=2、data1.y=20;首先,p 指向 data0,第一条打印语句输出 p-y,即 data0.y 的值 10;(+p)-x 含义是先+p,此时 p 指向 data1,第二条打印语句输出(+p)-x,即 dala1.x 的值 2。13.以下程序运

28、行后的输出结果是#include stdio.hint fun(int a,int b)if(b=0) return a;else return(fun(-a,-b);main( )printf(“%d/n“,fun(4,2);(分数:1.00)A.1B.2 C.3D.4解析:解析 该题为递归调用程序。调用 f(4,2),保留操作 return(fun(3,1);,调用 f(3,1),保留操作 return(fun(2,0);,调用 f(2,0),返回 2。再倒推回去,f(4,2)返回结果为 2。14.以下程序运行后的输出结果是#include stdio.h#define N 4void f

29、un(int aN,int b)int i:for(i=0;iN;i+) bi=aii;main( )int xN:1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;iN;i+) printf(“%d,“,yi);prinff(“/n“);(分数:1.00)A.1,2,3,4,B.1,0,7,0, C.1,4,5,9,D.3,4,8,10,解析:解析 首先要求正确地给二维数组 x 赋值;调用 fun 函数时,将 x、y 数组首地址分别传递给二维数组 a、b;fun 函数的功能是将二维数组 a 中的对角线元素存入数组 b 中;在 main 函数中输出对角线元素

30、 1,0,7,0。15.以下叙述中错误的是(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式解析:解析 在函数中允许有多个 return 语句,但每次调用只能执行其中一个 return 语句,因此只能返回一个函数值。16.下列叙述中正确的是(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反应队列中元素的动态

31、变化情况C.在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况D.循环队列中元素的个数是由队头和队尾指针共同决定 解析:解析 循环队列是线性表的一种,所以选项 A 错误。循环队列的入队和出队需要队尾指针和队头指针完成,所以选项 B、C 错误。17.若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0,*P=x;,则错误引用 x 数组元素的是(分数:1.00)A.*pB.x5 C.*(p+1)D.*x解析:解析 数组 x 有 5 个元素,下标范围为 04,选项 B 下标越界。18.以下程序段的输出结果是int a,b,c;a=10;b=50;c=30;if(ab)a

32、=b,b=c;c=a;printf(“a=%d b=%d c=%d/n“,a,b,c);(分数:1.00)A.a=10 b=50 c=10 B.a=10 b=50 c=30C.a=10 b=30 c=10D.a=50 b=30 c=50解析:解析 当 if 语句条件为真时,执行 a=b;b=c;,退出 if 结构,顺序执行 c=a;,最后输出a、b、c 的值;当 if 语句条件为假时,退出 if 结构,顺序执行 c=a;,输出 a、b、c 的值。因此,a、b未被改变,c 的值为 10。19.C 源程序中不能表示的数制是(分数:1.00)A.二进制 B.八进制C.十进制D.十六进制解析:解析 C

33、 的源程序中可用十进制、八进制和十六进制 3 种形式表示整型常量。20.以下程序运行后的输出结果是#includestdio.hmain( )int i=5;doif(i%3=1 if(i%5=2)printf(“*%d“,i);break;i+:while(i!=0);printf(“/n“);(分数:1.00)A.%7 B.*3*5C.*5D.*2*6解析:解析 本程序的功能是从 5(i 的初值为 5)开始,打印满足条件“i%3 等于 1 同时 i%5 等于 2”的i 值。第一个满足条件的 i 是 7,因此输出*7。21.以下程序运行后的输出结果是#include stdio.hint f

34、un(int(*s)4,int n,int k)int m,i;m=s0k;for(i=1;in;i+) if(sikm)m=sik;return m;main( )int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34 ;prinff(“%d/n“,fun(a,4,0);(分数:2.00)A.4B.34C.31 D.32解析:解析 首先要求正确地给二维数组 x 赋值;fun 函数功能是求出二维数组下标为 k 列(k=0)的最大值。因此,输出结果为 31。22.以下选项中正确的定义语句是(分数:2.00)A.double a;b;B.double

35、 a=b=7;C.double a=7,b=7; D.double,a,b;解析:解析 对于选项 A,变量 a 和 b 之间应以逗号“,”分隔;对于选项 B,变量定义时不能进行连续赋值;对于选项 D,double 与变量名之间应以空格分隔。23.下列叙述中正确的是(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:解析 顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关

36、系由存储单元的邻接关系来体现。其优点是占用最少的存储空间。所以选项 D 错误。顺序存储结构可以存储如二叉树这样的非线性结构,所以选项 B 错误。链式存储结构也可以存储线性表,所以选项 C 错误。24.数据流图中带有箭头的线段表示的是(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流 解析:解析 在数据流图中,矩形表示数据的外部实体,圆角矩形表示变换数据的处理逻辑,双横线表示数据的存储,箭头表示数据流。25.以下程序运行后的输出结果是#includestdio.hmain( )int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)printf(“%d“,i+j)

37、;printf(“/n“);(分数:2.00)A.2 3 43 4 5B.4 3 25 4 3C.2 33 44 5D.4 53 42 3 解析:解析 在循环嵌套中,外层 for 变量 i 分别取值为 3、2、1,内层 for 变量 j 分别取值为 1、2。当 i=3 时,输出 i+j 的值为 4 5;当 i=2 时,输出 i+j 的值为 3 4;当 i=1 时,输出 i+j 的值为 2 3。26.有 3 个关系 R、S 和 T,如下:(分数:2.00)A.B.C.D. 解析:解析 自然连接是一种特殊的等值连接。当关系 R 和 S 有相同的属性组,且该属性组的值相等时的连接称为自然连接。27.

38、下面的函数调用语句中 func 函数的实参个数是func(t2(v1,v2),(v3,v4,v5),(v6,max(v7,v8);(分数:2.00)A.3 B.4C.5D.8解析:解析 在 C 语言的函数定义中,参数列表之间使用逗号分隔。该题目中 func 的函数列表中使用两个逗号,即将 3 个参数分隔开,因此,参数的个数应为 3。28.执行以下程序段后,w 的值为int w=A,x=14,y=15;w=(xy) (分数:2.00)A.1,2,3,4,5,6,7,8,9,0 B.2,1,4,3,6,5,8,7,0,9C.0,9,8,7,6,5,4,3,2,1D.0,1,2,3,4,5,6,7,

39、8,9解析:解析 fun 函数无值返回。main 函数调用时数组元素作实参,形参的改变不会影响实参。因此,循环调用结束后,C 数组没有任何改变。33.以下程序执行后,abc.dat 文件中的内容是#includestdio.hmain( )FILE *pf;char *s1=“China“, *s2=“Beijing“; pf=fopen(“abc.dat“, “wb+“); fwrite(s2,7,1,pf);rewind (pf); /*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);(分数:2.00)A.ChinaB.Chinang C.ChinaB

40、eijingD.BeijingChina解析:解析 在 fopen 函数中,文件使用方式”wb+”是指打开或建立二进制文件并允许对其进行读和写操作。文件操作先将“Beijing”存入文件 abc.dat 中;反绕文件位置指针到文件头;然后再将“china”存入文件 abc.dat 中,这样“Beijing”被覆盖掉一部分。因此,文件中的内容应为“Chinang”。34.以下程序运行后的输出结果是#include stdio.hmain( )struct STUchar name9;char sex;double score2;struct STU a=“Zhao“,m,85.0,90.0,b=

41、“Qian“,f,95.0,92.0;b=a;printf(“%s,%c,%2.0f,%2.0f/n“,b.name,b.sex,b.score0,b.score1);(分数:2.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90 解析:解析 相同结构体类型的变量可以相互赋值,其效果是对应成员变量相互赋值。当执行 b=a;后,b 中每个成员值均与 a 对应成员值相同。35.若有定义语句:char s10=“1234567/0/0“;,则 strlen(s)的值是(分数:2.00)A.7 B.8C.9D.10解析:解析 strl

42、en(s)即求字符串 s 的实际长度,对实际长度的统计不含串结束标志/0。36.在数据管理技术发展的 3 个阶段中,数据共享最好的是(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段 D.3 个阶段相同解析:解析 人工管理阶段:计算机在其出现的初期,主要用于科学计算,没有大容量的存储设备。其处理方式只能是批处理,数据不共享,不同程序不能交换数据。文件系统阶段:即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所通用。数据库系统阶段:即对所有的数据实行统一规划管理,形成一

43、个数据中心,构成一个数据仓库,数据库中的数据能够满足所有用户的不同要求,供不同用户共享。数据共享性显著增强。37.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(分数:2.00)A.一对一B.一对多 C.多对一D.多对多解析:解析 一个实体宿舍可以对应多个学生,而一个学生只能对应一个宿舍,所以宿舍和学生之间是一对多关系。38.在面向对象方法中,不属于“对象”基本特点的是(分数:2.00)A.一致性 B.分类性C.多态性D.标识唯一性解析:解析 对象是面向对象方法中最基本的概念,它的基本特点有:标识唯一性、分类性、多态性、封装性和模块独立性。39.以下不能正确表示代数式 (分数:2.00)A

44、.B.C.D. 解析:解析 在选项 D 中,表达式计算结果是 2*a*b*d/c,与题目要求的代数式不一致。40.以下关于宏的叙述中正确的是(分数:2.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制 D.宏调用比函数调用耗费时间解析:解析 宏名可以大写,也可以小写;其有效范围为定义命令之后到本源文件结束;宏的展开是字符的替换过程,没有数据类型限制。二、填空题(总题数:13,分数:30.00)41.对如图所示的二叉树进行中序遍历的结果是_。(分数:2.00)填空项 1:_ (正确答案:DBXEAYFZC)解析:解析 二叉树中序遍历的顺序为:先遍历

45、左子树,然后访问根结点,最后遍历右子树。由此可知,该二叉树中序遍历的结果为 DBXEAYFZC。42.按照软件测试的一般步骤,集成测试应在 1 测试之后进行。(分数:2.00)填空项 1:_ (正确答案:单元)解析:解析 软件测试过程按 4 个步骤进行,即单元测试、集成测试、确认测试和系统测试。43.软件工程三要素是方法、工具和过程,其中, 1 支持软件开发的各个环节的控制和管理。(分数:2.00)填空项 1:_ (正确答案:过程)解析:解析 软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术;工具支持软件的开发、管理及文档生成;过程支持软件开发各个环节的控制

46、和管理。44.数据库设计包括概念设计、 1 和物理设计。(分数:2.00)填空项 1:_ (正确答案:逻辑设计)解析:解析 数据库的设计过程大致分为 3 个步骤:概念设计、逻辑设计和物理设计。45.在二维表中,元组的 1 不能再分成更小的数据项。(分数:2.00)填空项 1:_ (正确答案:分量)解析:解析 一张二维表对应一个关系,代表一个实体集,表中的一行称为一个元组,一个元组又由许多个分量组成,每个元组分量是表框架中每个属性的投影值。46.设变量 a 和 b 已正确定义并赋初值,请写出与 a-=a+b 等价的赋值表达式 1。(分数:2.00)填空项 1:_ (正确答案:a=-b)解析:解析 a-=a+b 含义是 a=a-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1