【计算机类职业资格】二级C语言-82及答案解析.doc
《【计算机类职业资格】二级C语言-82及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-82及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-82 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.具有 3 个结点的二叉树有_。(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态2.设有下列二叉树: (分数:1.00)A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY3.下列数据结构中,能用二分法进行查找的是_。(分数:1.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表4.结构化程序设计主要强调的是_。(分数:1.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性5.为
2、了使模块尽可能独立,要求_。(分数:1.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强6.在结构化方法中,软件功能分别属于下列软件开发中的_阶段。(分数:1.00)A.详细设计B.需求分析C.总体设计D.编程调试7.在软件设计中,不属于过程设计工具的是_。(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图8.用树形结构来表示实体之间联系的模型称为_。(分数:1.00)A.关系模
3、型B.层次模型C.网状模型D.数据模型9.关系数据库管理系统所管理的关系是_。(分数:1.00)A.若干个二维表B.一个 DBF 文件C.一个 DBC 文件D.若干个 DBC 文件10.设有如下三个关系表: R A B C 1 1 2 2 2 3 S A B C 3 1 3 T A B C 1 1 2 2 2 3 3 1 3 下列操作中正确的是_。(分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S11.下列叙述中正确的是_。(分数:1.00)A.在 C 程序的函数中不能定义另一个函数B.在 C 程序中 main 函数的位置是固定的C.C 程序中所有函数之间都可以相互调用D.每
4、个 C 程序文件中都必须要有一个 main 函数12.以下叙述正确的是_。(分数:1.00)A.C 语言函数可以嵌套调用,例如“fun(fun(x)”B.C 语言程序是由过程和函数组成的C.C 语言函数不可以单独编译D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在13.以下选项中合法的标识符是_。(分数:1.00)A._11B.1-1C.1_1D.1_ _14.表达式 3.6-5/2+1.2+5%2 的值是_。(分数:1.00)A.3.8B.4.8C.3.3D.4.315.有以下定义 int a; long b; double x,y; 则以下选项中正确的表达式是_。(分数
5、:1.00)A.a%(int)(x-y)B.a=xyC.(a*y)%bD.y=x+y=x16.有以下程序 #include main() int a=0,b=0; /*给 a 赋值 a=10; b=20;给 b 赋值*/ printf(“a+b=%d/n“,a+b);/*输出计算结果*/ 程序运行后的输出结果是_。(分数:1.00)A.a+b=0B.a+b=30C.a+b=10D.出错17.以下选项中,值为 1 的表达式是_。(分数:1.00)A.1-“/0“B.1-“0“C.“1“-0D.“/0“-“0“18.当变量 c 的值不为 2、4、6 时,值为“真”的表达式是_。(分数:1.00)A
6、.(c=2 else printf(“%d/n“,y);B.if(a=0) printf(“%d/n“,y); else printf(“%d/n“,x);C.if(a!=0) printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a) printf(“%d/n“,x); else printf(“%d/n“,y);20.有以下程序 #include stdio.h main() int x=1,y=2,z=3; if(xy) if(yz) printf(“%d“,+z); else printf(“%d“,+y); printf(“%d/n“,x+); 程
7、序的运行结果是_。(分数:1.00)A.1B.41C.2D.33121.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环,若变量已正确定义,以下正确的程序段是_。(分数:1.00)A.while(ch=getchar()!=“N“) printf(“%c“,ch);B.while(ch=getchar()=“N“) printf(“%c“,ch);C.while(ch=getehar()=“N“) printf(“%c“,ch);D.while(ch=getchar()=“N“) printf(“%c“,ch);22.以下叙述中正确的是_。(分数:1.00)A.break 语
8、句只能用在循环体内和 switch 语句体内B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环C.在循环体内使用 break 语句和 eontinue 语句的作用相同D.break 语句只能用于 switch 语句体中23.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。(分数:1.00)A.函数的形参和实参分别占用不同的存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元24.设有以下函数: void fun(int n,char *s) 则下面对函数指针的定义和赋值均正确
9、的是_。(分数:1.00)A.void (*pf)(int,char*); pf=fun;B.void *pf(); pf=fun;C.void *pf(); *pf=fun;D.void (*pf)(int,char); pf=25.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是_。(分数:1.00)A.int n=10,an;int a2*n;B.#define n 5C.int a5+5;D.#define N 10int aN;26.有以下程序 #include stdio.h main() int i,t3=9,8,7,6,5,4,3,2,1; fo
10、r(i=0;i3;i+) printf(“%d“,t2-ii); 程序执行后的输出结果是_。(分数:1.00)A.3 5 7B.7 5 3C.3 6 9D.7 5 127.有以下程序 #include stdio.h void fun(int *s,int n1,int n2) int i,j,t; i=n1;j=n2; while(ij) t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k10;k+) printf(“%d“,ak)
11、; printf(“/n“); 程序的运行结果是_。(分数:1.00)A.5678901234B.4321098765C.0987654321D.098765123428.有以下程序 #include stdio.h main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t; for(i=0;i3;i+) for(k=i+1;k4;k+) if(aiiakk) t=aii;aii=akk;akk=t; for(i=0;i4;i+) printf(“%d,“,a0i); 程序运行后的输出结果是_。(分数:1.00)A.6,4,3,2,B.6,2,1
12、,1,C.1,1,2,6,D.2,3,4,6,29.以下正确的字符串常量是_。(分数:1.00)A.“B.“abc“C.Olympic GamesD.“/“30.下列选项中,能够满足“只要字符串 s1 等于字符串 s2,则执行 ST”要求的是_。(分数:1.00)A.if(strcmp(s2,s1)=0) ST;B.if(s1=s2) ST;C.if(strcpy(s1,s2)=1) ST;D.if(s1-s2=0) ST;31.有以下程序 #include stdio.h int fun(char p10) int n=0,i; for(i=0;i7:i+) if(pi0=“T“) n+;
13、return n; main() char str10=“Mon“,“Tue“,“Wed“,“Thu“,“Fri“,“Sat“,“Sun“; printf(“%d/n“,fun(str); 程序执行后的输出结果是_。(分数:1.00)A.2B.1C.3D.032.有以下程序 #include stdio.h void fun(char *t,char *s) while(*t!=0) t+; while(*t+=*s+)!=0); main() char ss10=“acc“,aa10=“bbxxyy“; fun(ss,aa); printf(“%s,%s/n“,ss,aa); 程序的运行结果
14、是_。(分数:1.00)A.accbbxxyy,bbxxyyB.acc,bbxxyyC.accxxyy,bbxxyyD.accxyy,bbxxyy33.有以下程序 #include stdio.h #include string.h void fun(char *w,int m) char s,*p1,*p2; p1=w; p2=w+m-1; while(p1p2) s=*p1;*p1=*p2;*p2=s; p1+;p2-; main() char a=“123456“; fun(a,strlen(a); puts(a); 程序运行后的输出结果是_。(分数:1.00)A.654321B.116
15、611C.161616D.12345634.有以下程序 #include stdio.h int b=2: int fun(int *k) b=*k+b;return(b); main() int a10=1,2,3,4,5,6,7,8,i; for(i=2;i4;i+)b=fun(printf(“%d“,b); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.10 28B.8 10C.10 12D.10 1635.设有定义 struct char mark12;int num1;double num2; t1,t2; 若变量均已正确赋初值,则以下语句中错误的是_。
16、(分数:1.00)A.t2.mark=t1.mark;B.t2.num1=t1.num1;C.t1=t2;D.t2.num2=t1.num2;36.有以下程序 #include stdio.h #include string.h struct A int a;char b10;double c; void f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; f(a); printf(“%d,%s,%6.1f/n“,a.a,a.b,a.c); void f(struct A t) t.a=1002;strcpy(t.b,“ChangRo
17、ng“);t.c=1202.0; 程序运行后的输出结果是_。(分数:1.00)A.1001,ZhangDa,1098.0B.1002,ChangRong,1202.0C.1001,ChangRong,1098.0D.1002,ZhangDa,1202.037.有以下程序 #include stdio.h #include string.h typedef struct char name9;char sex;float score2; STU; STU f(STU a) STU b=“Zhao“,“m“,85.0,90.0; int i; strcpy(a.name,b.name); a.se
18、x=b.sex; for(i=0;i2;i+) a.scorei=b.scorei; return a; main() STU c=“Qian“,“f“,95.0,92.0,d; d=f(c); printf(“%s,%c,%2.0f,%2.0f/n“,d.name,d.sex,d.score0,d.score1); 程序的运行结果是_。(分数:1.00)A.Zhao,m,85,90B.Qian,m,85,90C.Qian,f,95,92D.Zhao,f,95,9238.若程序中有宏定义行: #define N 100 则以下叙述中正确的是_。(分数:1.00)A.在编译程序对 C 源程序进行
19、预处理时用 100 替换标识符 NB.宏定义行中定义了标识符 N 的值为整数 100C.上述宏定义行实现将 100 赋给标识符 ND.在运行时用 100 替换标识符 N39.若变量已正确定义,则以下语句的输出结果是_。 s=32; s=32; printf(“%d“,s);(分数:1.00)A.0B.-1C.1D.3240.有以下程序 #include stdio.h main() FILE *fp;char str10; fp=fopen(“myfile.dat“,“w“); fputs(“abc“,fp); fclose(fp); fp=fopen(“myfile.dat“,“a+“);
20、fprintf(fp,“%d“,28); rewind(fp); fscanf(fp,“%s“,str); puts(str); fclose(fp); 程序运行后的输出结果是_。(分数:1.00)A.abc28B.28cC.abcD.因类型不一致而出错二、程序填空题(总题数:1,分数:20.00)41.给定程序中,函数 fun 的功能是:将形参 s 所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s 所指字符串为“asd123fgh543df”,处理后新字符串为“asdfghdf123543”。 请在程序的下划线处填入正确的内容并把下划线删
21、除,使程序得出正确的结果。 注意:源程序存放在 下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h #include stdlib.h #include string.h char *fun(char *s) int i,j,k,n; char *p,*t; n=strlen(s)+1; t=(char*)malloe(n*sizeof(char); p=(char*)malloe(n*sizeof(ehar); j=0;k=0; for(i=0;in;i+) if(si=“a“)j+; else pk=si;k+; /*fou
22、nd*/ for(i=0;i _ 2_ ;i+) tj+i=pi; /*found*/ tj+k= _ 3_ ; return t; main() char s80; printf(“Please input:“); scanf(“%s“,s); printf(“/nThe result is:%s/n“,fun(s); (分数:20.00)三、程序改错题(总题数:1,分数:20.00)42.给定程序 MODI1.C 中函数 fun 的功能是:将 s 所指字符串中最后一次出现的与 t1 所指字符串相同的子串替换成 t2 所指字符串,所形成的新串放在 w 所指的数组中。在此处,要求 t1 和 t
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 82 答案 解析 DOC
