【计算机类职业资格】二级C语言笔试-388及答案解析.doc
《【计算机类职业资格】二级C语言笔试-388及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-388及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-388 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对2.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则3.若有以下定义的语句 stru
2、ct student int age; int num; struct student stu3=1001,20,1002,19,1003,21; main() stmct student *p; p=stu; 则以下不正确的引用是(分数:2.00)A.(p+)-numB.p+C.(*.numD.P=&stag4.主程序调用 findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是 #includestdio.h findmax(int*s,int t,int*k) int p; for(p=0,*k=p;pt;p+)if(sps*k)( ); main() int a10,i
3、,k; for(i=0;i10;i+)scanf(“%d“,&ai); findmax(a,10,&k); printf(“%d%d/n“ ,k,ak);(分数:2.00)A.k=pB.*k=pC.k=p-sD.*k=p-s5.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是 abs(int x) if(x=0)return x; else return-x; main() int y,z,(*p)(int x)=abs; scanf(“ %d“ ,&y); z=( *p)(y); ; (分数:2.00)A.printf(“%d%d/n“,&p,B.Pr
4、intf(“%d%d/n“,p,C.printf(“%d%d/n“,*p,D.printf(“%d%d/n“,p,*6.设有定义 int n=0,*p=&n,*q=&p;,则下列选项中正确的赋值语句是(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5;7.定义如下变量和数组: int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是( )。 for(i=0; i3; i+) printf(“%d“,xi2-i);(分数:2.00)A.1 5 9B.1 4 7C.3 5 7D.3 6 98.请阅读以下程序: #includestdio.h ma
5、in() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 2: a+,b+;break; printf(“a=%d,b=%d/n“,a,b); 上面程序的输出结果是(分数:2.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=29.下面程序段的输出为 #nclude“stdio.h“ main() printf(“%d/n“,122);(分数:2.00)A.0B.47C.48D.2410.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和(分数:2.00)A.编码设计B.
6、测试阶段C.运行阶段D.物理设计11.在数据管理技术的发展过程中,可实现数据共享的是(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.系统管理阶段12.以下叙述正确的是(分数:1.00)A.continue语句的作用是结束整个循环的执行B.只能在循环体内和 swish语句体内使用 break语句C.在循环体内使用 break语句或 continue语句的作用相同D.从多层循环嵌套中退出时,只能使用 goto语句13.结构化程序设计方法的 3种基本控制结构中不包括(分数:1.00)A.循环结构B.递归结构C.顺序结构D.选择结构14.在 C语言中,只有在使用时才占用内存单元
7、的变量,其存储类型是(分数:1.00)A.auto和 registerB.extern和 registerC.auto和 staticD.static和 register15.设已执行预编译命令#includestring.h,以下程序段的输出结果是 char s=“ an apple“ ; printf(“%d/n“,strlen(s);(分数:1.00)A.7B.8C.9D.1016.以下合法的十六进制数是(分数:1.00)A.0xB.0x4deC.0x1hD.oX7717.设变量 a、b、c、d 和 y都已正确定义并赋值。若有以下 if语句 if(ab) if(c=d)y=0; else
8、 y=1; 该语句所表示的含义是 (分数:1.00)A.B.C.D.18.x,y,z 被定义为 int型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是(分数:1.00)A.INPUTx、y、z;B.scanf(“%d%d%d“,&x,&y,&;C.scanf(“%d%d%d“,x,y,;D.read(“%d%d%d“,&x,&y,&;19.下面程序的运行结果是 #includestdio.h void delch(char *s) int i,j; char *a; a=S; for(i=0,j=0;ai!=/0;i+) if(ai=0 &aai=9) sj=ai; j+; sj=/
9、0; main() char *item=“a34bC“; delch(item); printf(“/n%s|,item);(分数:1.00)A.abcB.34C.a34D.a34bc20.以下选项中不合法的标识符是(分数:1.00)A.ptintB.FORC.&aD._0021.如果需要打开一个已经存在的非空文件“Demo”进行修改,下面选项中正确的是(分数:2.00)A.fp=fopen(“Demo“,“r“);B.fp=fopen(“Demo“,“ab+“);C.fp=fopen(“Demo“,“w+“);D.fp=fopen(“Demo“,“r+“);22.执行下面的程序后,a 的值
10、为 main() int a,b; for(a=1,b=1;a=10;a+) if(b%3=1) b+=3; continue; b-=5;(分数:2.00)A.7B.8C.9D.1023.下列数据结构中,按先进后出原则组织数据的是(分数:2.00)A.线性链表B.栈C.循环链表D.顺序表24.以下叙述中正确的是(分数:2.00)A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用 C语言编写的程序只能放在一个程序文件中25.下述程序的输出结果是 #includestdio.h void ma
11、in() int a5=2,4,6,8,10; int*p=a,*q=&p; printf(“%d,“,*(p+); pfintf(“%d“,*q);(分数:2.00)A.4,4B.2,2C.4,5D.2,426.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展27.下面程序的运行结果是 #includestdio.h main() static char a=“Languagef“ ,b=“programe“; char *p1,*p2; int k; p1=a;p2=b; for(k=0;k=7;k+) if(*(p1+k
12、)=*(p2+k) printf(“%c“,*(p1+k);(分数:2.00)A.gaeB.gaC.LanSuageD.有语法错28.以下正确的程序段是(分数:2.00)A.cgar str20; scanf(“%s“,&st;B.char *p; scanf(“%s“,;C.cha str20; scanf(“%s“,&str2)D.char str20,*p=str; scanf(“%s“,p2);29.以下定义语句中正确的是(分数:2.00)A.int a=b=0;B.char A=65+1,b=b;C.float a=1,*b=&a,*c=&b;D.double a=0.0;b=1.1
13、;30.下面程序中有错误的行是(每行程序前面的数字表示行号) 1 main() 2 3 int a3=1; 4 int i; 5 scanf(“%d“,&a); 6 for(i-1;i3;i+)a0=a0+ai; 7 printf(“a0=%d/n ,“a0); 8 (分数:2.00)A.3B.6C.7D.531.有以下程序段 char ch; int k; ch=a; k=12; printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k); 已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是(分数:2.00)A.因变量类型与格式描述符的类型不匹
14、配,输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=1232.以下叙述中错误的是(分数:2.00)A.gets函数用于从终端读入字符串B.getehar函数用于从磁盘文件读入字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件33.下面叙述正确的是(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对34.能正确表示逻辑关系:“a10 或 a0”的 C语言表达式是(分
15、数:2.00)A.a=10 or a=0B.a=0|a=10C.a=10&a=0D.a=10a=035.阅读下面程序段,则执行后的结果为 #inclide“stdio.h“ main() int m=4,n=2,k; k=fun(m,n);printf(“%d/n“,k); fun(int m,int n) return(m*m*m-n*n*n);(分数:2.00)A.64B.8C.56D.036.有三个关系 R、S 和 T如下:(分数:2.00)A.B.RC.D.BE.CF.DG.aH.0I.k1J.bK.1L.n1M.N.O.SP.BQ.CR.DS.fT.3U.h2V.aW.0X.k1Y.
16、nA.2AA.x1AB.AC.AD.TAE.BAF.CAG.DAH.aAI.0AJ.k137.以下程序运行后,输出结果是 #define PT 5.5 #define S(x) PT*x*x #includestdio.h main() int a=1,b=2; printf(“%4.1f/n“,s(a+b);(分数:2.00)A.49.5B.9.5C.22D.45.038.若有以下的说明,对初值中整数 2的正确引用方式是 static struct char ch; int i; double x; a23=a,1,3,45,b,2,7,98,c,31,93;(分数:2.00)A.a01.c
17、hB.a01.iC.a00.iD.a02.i39.在下列关于二叉树的叙述中,正确的一项是(分数:2.00)A.在二叉树中,任何一个结点的度都是 2B.二叉树的度为 2C.在二叉树中至少有一个结点的度是 2D.一棵二叉树的度可以小于 240.以下程序的输出结果是 #includestdio.h infun(int n,int *s) int n,f2; if(n=0n=1) *s=1; else fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; void main() int x; fun(6,&x);pfintf(“/n%d“,x);(分数:2.00)A.7B.13C
18、.9D.10二、B填空题/B(总题数:14,分数:30.00)41.数据结构分为线性结构和非线性结构,线性表、栈和队列都属于_。(分数:2.00)填空项 1:_42.按“先进后出”原则组织数据的数据结构是_。(分数:2.00)填空项 1:_43.软件危机出现于 60年代末,为了解决软件危机,人们提出了_的原理来设计软件,这就是软件工程诞生的基础。(分数:2.00)填空项 1:_44._(黑箱或白箱)测试方法完全不考虑程序的内部结构和内部特征。(分数:2.00)填空项 1:_45.数据库设计分为以下 6个设计阶段:需求分析阶段、_、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2
19、.00)填空项 1:_46.以下条件表达式可计算:1+|a|的值,请填空。 a=0?U 6 /U:U 7 /U(分数:4.00)填空项 1:_47.下面程序的运行结果是_。 #includestdio.h main() int y,a; y=2,a=1; while(y-!=-1) doa*=y;a+;while(y-); printf(“%d,%d“,a,y);(分数:2.00)填空项 1:_48.以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“This is YES.”与“This is NO.”。空白处需要填入的内容是 #includestdio.h v
20、oid YesNo(char ch) switch(ch) casey: caseY:printf(“/n This is YES./n“); casen: caseN:Printf(“/nThis is NO./n“); main() char ch; printf(“/nEnter a chary,Yorn,N:“); ch=_; printf(“ch;%c“,ch); YesNo(ch);(分数:2.00)填空项 1:_49.定义 int a=5,b;,则执行表达式 b=+a*-a之后,变量 b的值为_。(分数:2.00)填空项 1:_50.以下程序的输出结果是_。 #include s
21、tdio.h void swap(int *a, int *b) int *t; int i=3,j=5,*p=&i,*q=&j; swap(p,q); printf(“%d %d/n“,*p,*q);(分数:2.00)填空项 1:_51.下面的程序实现的是从指针 p所指向的地址的 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:_52.下面程序的输出结果是_。 m
22、ain() static char a=“language“,b=“program“; char *ptrl=a,*ptr2=b; int k for(k=0;k7;k+) if(*(ptrl+k)=*(ptr2+k) printf(“%c“,*(ptr1+k);(分数:2.00)填空项 1:_53.已知 bead指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。 int data; struct link *next; main() struct link *he
23、ad; sam(_); stmct link *p;int s=0; p=head-next; while(p)s+=p-data;p=p-next; return(s);(分数:2.00)填空项 1:_54.以下程序的功能是从名为 filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。 majn() FILE *fp; char ch; fp=fopen(_); ch=fgetc(fp); whle(!feof(fp) putchar(ch); ch=f8etc(fp); putchar(/n); fclose(fp); (分数:2.00)填空项 1:_二级 C语言笔试-388
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 388 答案 解析 DOC
