【计算机类职业资格】二级C语言笔试-304及答案解析.doc
《【计算机类职业资格】二级C语言笔试-304及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-304及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-304 及答案解析(总分:70.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.以下叙述中正确的是( )。(分数:1.00)A.break语句只能用于 switch语句体中B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环C.break语句只能用在循环体内和 switch语句体内D.在循环体内使用 break语句和 continue语句的作用相同2.以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。void flint b,int n,int flag)int i,j,
2、t;for(i=0:in-1;i+)for(j=i+1;jn;j+)if(flag?bi)bj;bibj)(t=bibi=bj=bj=t;)main()int a10=(5,4,3,2,1,6,7,8,9,10),i;f(a2,5,0);f(a,5,1);for(i=0:i10;i+)printf(“%d”,ai);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,3.在 ER图中,用来表示实体的图形是( )。(分
3、数:1.00)A.矩形B.椭圆形C.菱形D.三角形4.为了使模块尽可能独立,要求( )。(分数:1.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的偶合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强5.下列叙述中正确的是( )。(分数:1.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关6.有以下程序:main()int
4、c=35;printf(“%d/n”,cc );程序运行后的输出结果是( )。(分数:1.00)A.0B.70C.35D.17.有以下程序段:typedef struct NODEint num;struct NODE*next;OLD;以下叙述中正确的是( )。(分数:1.00)A.以上的说明形式非法B.NODE是一个结构体类型C.OLD是一个结构体类型D.OLD是一个结构体变量8.以下叙述中错误的是( )。(分数:1.00)A.C语言中对二进制文件的访问速度比文本文件快B.C语言中,随机文件以二进制代码形式存储数据C.语句 FILE fp;定义了一个名为 fp的文件指针D.C语言中的文本文
5、件以 ASC码形式存储数据9.若变量已正确定义,以下 while循环不断输出读入的字符,当读入回车符时结束循环,正确的程序段是( )。(分数:1.00)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);10.设有如下关系表:(分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S11.下列数据结构中,能用二分法进行查找的是( )。(分数:1.00
6、)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表12.有以下程序:void swap1(int c1int t;t=c0;c0=c1=c1=t;void swap2int c0,int c1int t;t=c0;c0=c1;c1=t;main()int a2=3,5,b2=(3,5);swap1((分数:1.00)A.;swap2(b0,b1);pr13.有以下程序:fun(int X,int Y)static int m=0,i=2;i+=m+1;m=i+X+Y;return m;main()int j=1,m=1,k;k=fun(j,m);printf(“%d,”,k);
7、k=fun(j,m);printf(“%d/n”,k);执行后的输出结果是( )。(分数:1.00)A.5,5B.S,11C.11,11D.11,514.若有定义语句:inf m=5,4,3,2,1,i=4;,则下面对 m数组元素的引用中错误的是( )。(分数:1.00)A.m-iB.m2*2C.mm0D.mmi15.有以下程序:fun(int X)int p;if(X=011X=1)return(3);P=X-fun(X-2);return p;main()(printf(“%d/n”,fun(7)执行后的输出结果是( )。(分数:1.00)A.7B.3C.2D.016.下列叙述中正确的是(
8、 )。(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令17.有以下程序:#includemain()int Y=9;for(;Y0;Y-)if(Y%3=0)printf(“%d”-Y);程序的运行结果是( )。(分数:1.00)A.741B.963C.852D.87542118.有以下程序:#includemain()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=(0),i;for(i=0;i12;i+)csi+;for(i=1;i5;i+)printf(“%
9、d”,ci);printf(“/n”);程序的运行结果是( )。(分数:1.00)A.1 2 3 4B.2 3 4 4C.4 3 3 2D.1 1 2 319.以下选项中正确的定义语句是( )。(分数:1.00)A.double a;b;B.double a=b=7;C.double a=7;b=7;D.double a; b;20.有以下程序:void f(int V,int W)int t;t=V;V=W;W=t;main()int X=1,Y=3,Z=2;if(XY)f(X,Y);else if(YZ)f(Y,Z);else fi(X,Z);printf(“%d,%d,%d/n”,X,Y
10、,Z);执行后输出结果是( )。(分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,121.有以下程序:#define f(X)(X*X)main()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf(“%d,%d/n”,i1,i2);程序运行后的输出结果是( )。(分数:1.00)A.64,28B.4,4C.4,3D.64,6422.若有以下说明和语句:int c45,(*p)5;P=c;能够正确引用 C数组元素的是( )。(分数:1.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2)23.信息隐蔽的概念与下述
11、哪一种概念直接相关( )。(分数:1.00)A.软件结构定义B.模块独立性C.模块类型划分D.模块耦合度24.以下不合法的数值常量是( )。(分数:1.00)A.011B.1e1C.8.0E0.5D.0xabcd25.以下不合法的用户标识符是( )。(分数:1.00)A.j2_KEYB.DoubleC.4dD.bike26.以下叙述中正确的是( )。(分数:1.00)A.调用 printf函数时,必须要有输出项B.使用 putchar函数时,必须在之前包含头文件 stdiohC.在 C语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar函数读入字符时,可以从键盘上输入
12、字符所对应的 ASC码27.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是( )。(分数:1.00)A.DB包含 DBS和 DBMSB.DBMS包含 DB和 DBSC.DBS包含 DB和 DBMSD.没有任何关系28.有以下程序:main()char s(“aeiou”,*ps;ps=s;printf(“%c/n”,*ps+4);程序运行后的输出结果是( )。(分数:1.00)A.aB.eC.uD.元素 s4的地址29.软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性30.以下错误的定义语句是( )。(分数:1.0
13、0)A.int X3=0,1,1,2,3;B.int X43=1,2,3,1,2,3,1,2,31,2,3C.int X4=1,2,3,1,2,3,1,2,3,1,2,3;D.int X3=1,2,3,4;31.有以下程序:#includemain()int X=1,Y=2,Z=3:if(XY)if(yZ)printf(“%d”,+Z);else printf(“%d”,+y);printf(“%d/n”,X+);程序的运行结果是( )。(分数:1.00)A.331B.41C.2D.132.软件是指( )。(分数:1.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整
14、集合33.以下叙述中正确的是( )。(分数:1.00)A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用 C语言编写的程序只能放在一个程序文件中34.若有定义语句:double X5=1.0,2.0,3.0,4.0,5.0,*p=X;,则错误引用 x数组元素的是( )。(分数:1.00)A.*pB.X5C.*(p+1)D.*X35.有如下程序:main()int i;for(i=0;i3;i+)switch(i)(case 0:print(“%d”,i+);case 2:printf(“%d
15、”,i);default:printf(“%d”,i);)程序运行后的输出结果是( )(分数:1.00)A.022111B.021021C.000122D.0112236.若变量 X、Y 已正确定义并赋值,以下符合 C语言语法的表达式是( )。(分数:1.00)A.+X,Y=X-B.X+1=YC.X=X+10=X+YD.double(X)/1037.有以下程序:main()(char a=a,b;printf(“%c,”,+(分数:1.00)A.;printf(“%c/n”,b=a+);程序运行后的输出结果是( )。A) b,bB.b,CC.a,bD.a,c38.若有定义 int X,Y;,并
16、已正确给变量赋值,则以下选项中与表达式(X-Y)?(X+):(Y+)中的条件表达式(X-Y)等价的是( )。(分数:1.00)A.(X-Y0)B.(X-Y0)C.(X-Y011X-Y0)D.(X-Y=0)39.已定义以下函数:int fun(int *D) (return*p;)fun函数返回值是( )。(分数:1.00)A.不确定的值B.一个整数C.形参 P中存放的值D.形参 P的地址值40.有以下程序段:struct stint X;int*Y;*pt;int a=1,2,b=3,4;struct st c2=10,a,20,b;pc=c;以下选项中表达式的值为 11的是( )。(分数:1
17、.00)A.*pt-yB.pt-XC.+pt-XD.(pc+)-X二、填空题(总题数:14,分数:30.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 (1) 结构。(分数:2.00)填空项 1:_42.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的 (2) 存储结构。(分数:2.00)填空项 1:_43.在一个容量为 15的循环队列中,若头指针 front=6,尾指针 rear=9,则该循环队列中共有 (3) 个元素。(分数:2.00)填空项 1:_44.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最
18、重要的是 (4) 。(分数:2.00)填空项 1:_45.在 ER图中,矩形表示 (5) 。(分数:2.00)填空项 1:_46.设 X、y、Z 均为 int型变量,请写出描述“X 或 y中至少有一个小于 Z”的表达式 (6) 。(分数:2.00)填空项 1:_47.以下程序的输出结果是 (7) 。main()int X=2,Y=-1,Z=2;if(xY)if(y0)Z=0;else Z+=1;printf(“%d/n”,Z);(分数:2.00)填空项 1:_48.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 (8) 。main()int a,b;printf(“Enter
19、a,b:”);scanf(“%d,%d”, b;解析:解析 本题考查的是变量定义的基本概念。选项 A)中定义两个变量 a和 b,C 语言中可以同时定义多个变量,但变量之间必须用“,”隔开,而选项 A)中使用的是分号,故不正确;选项 B) 中定义变量时用了连续的赋值语句,这是不正确的;选项 D)在 double和 a之间多了一个逗号,是不正确的。所以,4个选项中只有 C)符合题意。20.有以下程序:void f(int V,int W)int t;t=V;V=W;W=t;main()int X=1,Y=3,Z=2;if(XY)f(X,Y);else if(YZ)f(Y,Z);else fi(X,
20、Z);printf(“%d,%d,%d/n”,X,Y,Z);执行后输出结果是( )。(分数:1.00)A.1,2,3B.3,1,2C.1,3,2 D.2,3,1解析:解析 本题考核的知识点是函数参数的传递。由于调用函数时是进行值传递的,即将实参X、Y、Z 传给形参 V和 W,以后形参和实参再无联系,故通过 if语句调用 f()函数后,X、Y 和 Z的值并没有改变。故最后输出的 X、Y 和 Z的值为 1、3 和 2。21.有以下程序:#define f(X)(X*X)main()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf(“%d,%d/n”,i1
21、,i2);程序运行后的输出结果是( )。(分数:1.00)A.64,28B.4,4C.4,3 D.64,64解析:解析 本题考查的是带参数的宏。宏替换与函数调用不同,前者是字面上的,在编译期间完成,后者是内容上的,在运行期间才进行。题目中第 1条要替换的语句 i1=f(8)*f(4);展开后是 i1=(8*8)/(4*4);,结果使 i1=4。而第 2条语句 i2=f(4+4)/f(2+2);展开后为 i2=(4+4*4+4)/(2+2*2+2);,结果使 i2=24/8=3。故应该选择 C)。22.若有以下说明和语句:int c45,(*p)5;P=c;能够正确引用 C数组元素的是( )。(
22、分数:1.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2) 解析:解析 本题考核的知识点是数组指针的应用。本题中定义了一个二维数组 c和一个数组指针 p并初始化让它指向 c,显然此时 p中的备元素为地址,选项 A)中 p+1,此时其中的 1代表的长度是整个二维数组 c的长度,故 p+1将让 p指向 c数组后面的元素,故不能引用 c数组中的成员,故选项 A)错误;同理,选项 B) 和选项 C)都不正确,选项 D)中 p0+2代表的是第一行第三个元素的地址,而*(p0+2)将代表第一行第三个元素的值。23.信息隐蔽的概念与下述哪一种概念直接相关( )。(分数:1.00)A.软
23、件结构定义B.模块独立性 C.模块类型划分D.模块耦合度解析:解析 利用信息隐蔽,可以确保每一个模块的独立性。24.以下不合法的数值常量是( )。(分数:1.00)A.011B.1e1C.8.0E0.5 D.0xabcd解析:解析 本题考查的知识点是数值常量的表示形式。数值常量包括整型常量和实型常量,其中,整型常量又分为十进制、八进制和十六进制三种表示形式;实型常量分为小数形式和指数形式两种表示方法。指数形式规定字母 e(或 E)之前必须有数字(可以是一个十进制的整数或小数),之后必须是一个整数。选项 C)的字母 E之后是一个小数,故应该选择 C)。25.以下不合法的用户标识符是( )。(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 304 答案 解析 DOC
