【计算机类职业资格】二级C语言笔试-414及答案解析.doc
《【计算机类职业资格】二级C语言笔试-414及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-414及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-414 及答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列描述中,不是线性表顺序存储结构特征的是( )。A) 不便于插入和删除 B) 需要连续的存储空间C) 可随机访问 D) 需另外开辟空间来保存元素之间的关系(分数:1.00)A.B.C.D.2.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C.D.3.已知、棵二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,则它的前序遍历序列是( )。A) acbed B)
2、 decab C) deabc D) cedba(分数:1.00)A.B.C.D.4.按照“先进先出”组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A.B.C.D.5.在软件开发中,需求分析阶段产生的主要文档是( )。A) 可行性分析报告 B) 软件需求规格说明书C) 概要设计说明书 D) 集成设计计划(分数:2.00)A.B.C.D.6.软件设计中划分模块的一个准则是A) 低内聚低耦合 B) 高内聚低耦合C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B.C.D.7.对于 n 个结点的单向链表(无表头结点),需要指针单元的个数至少
3、为 _。A) n-1 B) n C) n+1 D) 2n(分数:2.00)A.B.C.D.8.设有如下三个关系表RAmnSB C1 3TA B Cm 1 3n 1 3下列操作中正确的是A) T=RS B) T=RS C) T=RS D) T=R/S(分数:2.00)A.B.C.D.9.下面各选项中,均是 C 语言合法标识符的选项组是A) 33 we auto B) _23 me _3ewC) _43 3e_ else D) ER-DF 32(分数:1.00)A.B.C.D.10.若函数中有定义语句:int k;,则_。A) 系统将自动绐 K 赋初值 0 B) 这时 K 中的值无定义C) 系统将
4、自动绐 K 赋初值-1 D) 这时 K 中无任何值(分数:2.00)A.B.C.D.11.以下 C 语言用户标识符中,不合法的是( )。A_1 BAaBcCa_b Da-b(分数:1.00)A.B.C.D.12.有以下程序:#includestdio.hmain()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(“a=%d,b=%d/n“,a,b);程序的运行结果是_。A) a=1,b=0 B) a=2,b=2C
5、) a=1,b=1 D) a=2,b=1(分数:1.00)A.B.C.D.13.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则其运行结果是#includestdio.hmain( )char c;int v0=1,v1=0,v2=0;do switch(c=getchar( )casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=1; default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);A) v0=7
6、,v1=4,v2=7 B) v0=8,v1=4,v2=8C) v0=11,v1=4,v2=11 D) v0=13,v1=4,v2=12(分数:1.00)A.B.C.D.14.有以下程序fun(int x)int p;if(x=0x=1) return(3);p=x-fun(x-2);return p;main()printf(“%d/n“,fun(7);执行后的输出结果是A) 7 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.15.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 aB?A:CD?C:D 的值是_。(A) 1(B) 2(C) 3(D) 4(
7、分数:1.00)A.B.C.D.16.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,请选择填空。#includestdiohmain()int i=0,j,k;doi+;k=316-13*iwhile(_);j=k/11; printf(“316=13*%d+11,%d”,i,j);A) k/11 B) k%11 C) k/11=0 D) k%11=0(分数:1.00)A.B.C.D.17.下列程序的功能是给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。main ()/*Beginning*/int r; float s;scanf
8、(“%d“, B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0; D) x=(x/100+0.5)/100.0;(分数:1.00)A.B.C.D.19.定义下列结构体(联合)数组:struct stchar name15;int age;a10=“ZHAO“,14,“WANG“,15,“LIU“,16,“ZHANG“,17;执行语句 printf(“%d,%c“,a2.age,*(a3.name+2)的输出结果为( )。A) 15,A B) 16,H C) 16,A D) 17,H(分数:2.00)A.B.C.D.20.有以下程序:void c
9、hange(int k)k0=k5;)main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4)(change(xn);n+;for(n=0;n5;n+)printf(“%d“,xn);printf(“/n“);程序运行后的输出结果是_。A) 6 7 8 9 10 B) 1 3 5 7 9 C) 1 2 3 4 5 D) 6 2 3 4 5(分数:2.00)A.B.C.D.21.对两个数组 a 和 b 进行下列初始化:char m=“1234567“;char n=1,2,3,4,5,6,7;则下列叙述正确的是( )。A) 数组 m 与数组 n 完全相同
10、 B) 数组 m 与数组 n 长度相同C) 数组 m 比数组 n 长 1 D) 数组 m 与数组 n 中都存放字符串(分数:2.00)A.B.C.D.22.下列叙述错误的是( )。A) 函数名是属于用户标识符,需符合 C 语言对标识符的规定B) 形参只能是变量C) 为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D) 函数中定义的变量可以与其他函数中的变量同名(分数:2.00)A.B.C.D.23.下列程序的输出结果是( )。#includestdio.hmain()char ch25=“1234“,“5678“,*p2;int i,j,s=0;for(i=0;i2;i+)pi
11、=chi;for(i=0;i2;i+)for(j=0;pij/0,j+=2)s=pij-0;printf(“%d“,s);)A) 6357 B) 6135 C) 1357 D) 691357(分数:2.00)A.B.C.D.24.若有以下结构体定义,则是正确的引用或定义。struct exampleint x;int y;v1;A) example.x=10 B) examplev2.x=10C) struct v2;v2.x=10 D) struct example v2=10;(分数:2.00)A.B.C.D.25.表达式0x11 的值是( )。A0xFFEE B0x71 C0x0071
12、D0xFFE1(分数:1.00)A.B.C.D.26.以下不正确的定义语句是( )。A) double x5=2.0,4.0,6.0,8.0,10.0;B) int y5=0,1,3,5,7,9;C) char c1=1,2,3,4,5; D) char c2=/x10,/xa,/x8;(分数:1.00)A.B.C.D.27.有以下程序#include stdioh#include stringhvoid fun(char,*s,int n)char *t; int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strlen(si)strlen(sj) t=si
13、;si:sj;sj=t;main()char *ss=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fun(ss,5); printf(“%s,%s/n“,ss0,ss4);程序的运行结果是A) xy,aaaacc B) aaaacc,xy C) bcc,aabcc D) aabcc,bcc(分数:2.00)A.B.C.D.28.以下程序运行后的输出结果是#includestdio.hstruct stint x,y; data2=1,10,2,20;main( )struet st *p=data; printf(“%d,“,p-y);printf(“%d/n“,(+
14、p)-x);A) 10,1 B) 20,1 C) 10,2 D) 20,2(分数:2.00)A.B.C.D.29.若程序有宏定义:#define N 100 则以下叙述中正确的是_。A) 宏定义中定义了标识符 N 的值为整数 100B) 在编译程序对 C 源程序进行预处理时用 100 替换标识符 NC) 对 C 源程序进行编译时用 100 替换标识符 ND) 在运行时用 100 替换标识符 N(分数:2.00)A.B.C.D.30.以下叙述中正确的是_。A) 预处理命令行必须位于 C 源程序的起始位置B) 在 C 语言中,预处理命令行都以“#”开头C) 每个 C 程序必须在开头包含预处理命令行
15、:#includestdio.hD) C 语言的预处理不能实现宏定义和条件编译的功能(分数:2.00)A.B.C.D.31.设有如下定义:struct complexint real, unreal; data1=1, 8. data2;则以下赋值语句中错误的是A) data2=data1; B) data2=(2, 6);C) data2.real=data1.real; D) data2.real=data1.unreal;(分数:2.00)A.B.C.D.32.以下结构体类型说明和变量定义中正确的是_。A) typedef structint n;char c;);REC t1,t2;B
16、) struct REC;int n;char c;)REC;REC t1,t2;C) typedef struct REC;int n;char c;REC;D) structint n=0;char c=A;t1,t2;REC t1,t2;(分数:2.00)A.B.C.D.33.以下结构体类型说明和变量定义中正确的是_。A) typedef struct B) struct REC;int n;char c;REC; int n;char c;REC t1,t2; REC t1,t2;C) typedef struct REC; D) structint n=0;char c=A;t1,t
17、2; int n;char c;REC;REC t1,t2;(分数:2.00)A.B.C.D.34.以下与函数 fseek (fp, OL, SEEK_SET)有相同作用的是( )。A) feof(fp) B) ftell(fp) C) fgetc(fp) D) rewind(fp)(分数:1.00)A.B.C.D.35.若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。A) 函数调用可以作为独立的语句存在B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中D) 函数调用可以作为一个函数的形参(分数:2.00)A.B.C.D.36.以下程序的输出结果是main(
18、 )int c=35;printf(“%d/n“,cc);A)0 B)70 C)35 D)1(分数:2.00)A.B.C.D.37.在位运算中,操作数每右移两位,其结果相当于( )。A) 操作数乘以 2 B) 操作数除以 2C) 操作数除以 4 D) 操作数乘以 4(分数:2.00)A.B.C.D.38.设有如下说明typedef struct STlong a; int b;char c2; NEW;则下面叙述中正确的是_。A) 以上的说明形式非法 B) ST 是一个结构体类型C) NEW 是一个结构体类型 D) NEW 是一个结构体变量(分数:1.00)A.B.C.D.39.以下叙述中错误
19、的是( )。A) C 程序必须由一个或一个以上的函数组成B) 函数调用可以作为一个独立的语句存在C) 若函数有返回值,必须通过 return 语句返回D) 函数形参的值也可以传回给对应的实参(分数:1.00)A.B.C.D.40.有以下程序:#include stdio.hmain()int c;while(c=getchar() )! =/n)switch(c-2)case 0: case 1: putchar(c+4);case 2:putehar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;运行程序,从第一列开始输入
20、以下数据:2473回车则程序的输出结果是( )。A) 668977 B) 668966 C) 66778777 D) 6688766(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:31.50)41.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_42.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:1.50)填空项 1:_43.对软件设计的最小单位(模块或程序单元)进行的测试通常称为_测试。(分数:2.00)填空项 1:_44.数据模型按不同应用层次分成三种类型
21、,它们是概念数据模型、U /U和物理数据模型。(分数:2.00)填空项 1:_45.阅读下面程序,则执行后的输出结果是_。#include“stdio.h“main()int x,y,z;x=1;y=2;z=3;if(xy)if(xz)printf(“%d“,x);else printf(“%d“,y);printf(“%d/n“,z);(分数:2.00)填空项 1:_46.表示“整数 x 的绝对值大于 5”时值为“真”的 C 语言表达式是U /U。(分数:2.00)填空项 1:_47.设 y 为血型变量,请写出描述“y 是偶数”的表达式 1。(分数:2.00)填空项 1:_48.设 int
22、a=5,b=6,表达式(+a=b-)?+a:-b 的值是 1。(分数:2.00)填空项 1:_49.以下函数用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元中。请填空。#includeconio.h#includestdio.hint fun(int *s,int t,int *k)int i;*k=0;8 if(s*ksi)*k=i;return 9 ;main()int a10:876,675,896,101,301,401,980,431,451,777,k;fun(a,10,while(s);-s;(分数:2.00)填空项 1:_52.下面的程序实现的是从指针 p 所指
23、向的地址的 n 个数中,找出最大的和最小的数据,请填空。fun(int *p,int n)int *q;int max,min;max=min=*p;for(q=p;_;q+)if(*qmax)max=*q;else if(*qmin)min=*q;(分数:2.00)填空项 1:_53.设有定义:struet personint ID;char name12;p;请将“scanf(“%d“,_);”语句补充完整,使其能够为结构体变量 p 的成员 ID 正确读入数据。(分数:4.00)填空项 1:_54.以下程序的输出结果是U /U。void reverse(int a,int n)int i,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 414 答案 解析 DOC
