【计算机类职业资格】二级C语言-636及答案解析.doc
《【计算机类职业资格】二级C语言-636及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-636及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-636 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性2.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件测试的目的是_。(分数:
2、1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制7.层次型、网状
3、型和关系型数据库划分原则是_。(分数:1.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则试题工作人员与实体计算机之间的联系是_。(分数:1.00)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R、S 和 T 如下: (分数:1.00)A.自然连接B差C交D并11.计算机能直接执行的程序是_。(分数:1.00)A.源程序B.目标程序C.汇编程序D.可执行程序12.以下叙述中正确的是_。(
4、分数:1.00)A.C 语言规定必须用 main 作为主函数名,程序将从此开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C 语言程序将从源程序中第一个函数开始执行D.main 的各种大小写拼写形式都可以作为主函数名,如 MAIN,Main 等13.以下选项中可用做 C 程序合法实数的是_。(分数:1.00)A.3.0e0.2B1e0CE9D.9.12E14.下列定义变量的语句中错误的是_。 Aint_int; Bdouble int_; Cchar For; D (分数:1.00)A.B.C.D.15.表达式:(int)(double)9/2)-9%2 的值是
5、_。(分数:1.00)A.0B.3C.4D.516.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“, 语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 x 和 y。以下所示的输入形式中正确的是_。(注:代表空格字符)(分数:1.00)A.10X回车20Y回车B.10X20YC.10X回车20Y回车D.10X20Y回车17.以下选项中不能作为 C 语言合法常量的是_。(分数:1.00)A.0.1e+6B.“cd“C.“/a“D.“/011“18.if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。(分数:1.00)
6、A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值19.有如下嵌套的 if 语句: if(ab) if(ac)k=a; else k=c; else if(bc)k=b; else k=c; 以下选项中与上述 if 语句等价的语句是_。(分数:1.00)A.k=(ab)?(bc)?a:b):(bc)?b:c);B.k=(ab)?(ac)?a:c):(bc)?b:c);C.k=(ab)?a:b;k=(bc)?b:c;D.k=(ab)?a:b;k=(ac)?a:c;20.有以下程序: #includestdio.h main() int k=5; while(-k)printf
7、(“%d“,k-=3); printf(“/n“); 程序执行后的输出结果是_。(分数:1.00)A.1B.2C.4D.死循环21.有以下程序: #inctudestdio.h main() int i,j; for(i=3;i=1;i-) for(j=1;j=2;j+)printf(“%d“,i+j); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.4 32 54 3B.4 53 42 3C.2 33 44 5D.2 33 42 322.有以下程序: #includestdio.h main() int k=5,n=0; do switch(k) case 1:
8、case 3:n+=1;k-;break; default:n=0;k-; case 2:case 4:n+=2;k-;break; printf(“%d“,n); while(k0 程序运行后的输出结果是_。(分数:1.00)A.02356B.0235C.235D.235623.以下关于 return 语句的叙述中正确的是_。(分数:1.00)A.一个自定义函数中必须有一条 return 语句B.一个自定义函数中可以根据不同情况设置多条 return 语句C.定义成 void 类型的函数中可以有带返回值的 return 语句D.没有 return 语句的自定义函数在执行结束时不能返回到调用处
9、24.已定义以下函数: int fun(int*p) return*p; fun 函数的返回值是_。(分数:1.00)A.一个整数B.不确定的值C.形参 p 中存放的值D.形参 p 的地址值25.以下程序段完全正确的是_。(分数:1.00)A.int*p;scanf(“%d“,B.int*p;scanf(“%d“,p);C.int k,*p=scanf(“%d“,p);D.int k,*p;*p=scanf(“%d“,p);26.设有定义: double a10,$s=a; 以下能够代表数组元素 a3的是_。(分数:1.00)A.(*s)3B.*(s+3)C.*s3D.*s+327.有以下程序
10、: #includestdio.h void f(int*q) int i=0; for(;i5;i+)(*q)+; main() int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,28.有以下程序: #includestdio.h int fun(int(*s)4,int n,int k) int m,i; m=s0k; for(i=1;in;i+) if(sikm) m=sik; ret
11、urn m; main() int a44=1,2,3,4, 11,12,13,14, 21,22,23,24, 31,32,33,34; printf(“%d/n“,fun(a,4,0); 程序运行后的输出结果是_。(分数:1.00)A.4B.34C.31D.3229.以下选项中正确的语句组是_。(分数:1.00)A.char*s;s=“BOOK!“;B.char*s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;30.若有定义语句: char*s1=“OK“,*s2=“ok“; 以下选项中,能够输出“OK”的语句是_。(分数:1.00)
12、A.if(strcmp(s1,s2)!=0)puts(s2);B.if(strcmp(s1,s2)!=0)puts(s1);C.if(strcmp(s1,s2)=1)puts(s1);D.if(strcmp(s1,s2)=0)puts(s1);31.有以下程序: #includestdio.h void fun(char*p) +p; printf(“%s/n“,*p); main() char*a=“Morning“,“Afternoon“,“Evening“,“Night“; fun(a); 程序运行后的输出结果是_。(分数:1.00)A.AfternoonB.fternoonC.Morn
13、ingD.orning32.有以下程序,程序中库函数 islower(ch)用以判断 ch 中的字母是否为小写字母: #includestdio.h #includectype.h void fun(char*p) int i=0; while(pi) if(pi=“ i+; main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“,s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFg!B.Ab Cd EFg!C.ab cd EFG!D.aB cD EFG!33.有以下程序: #includestdio.h int f
14、(int x) int y; if(x=0|x=1)return(3); y=x*x-f(x-2); return t; main() int z; z=f(3); printf(“%d/n“,z); 程序运行后的输出结果是_。(分数:1.00)A.0B.9C.6D.834.有以下程序: #includestdio.h int fun(int x,int n) static int sum=0,i; for(i=0;in;i+)sum+=xi; return sum; main() int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4); prin
15、tf(“%d/n“,s); 程序执行后的输出结果是_。(分数:1.00)A.55B.50C.45D.6035.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char sex; s5,*ps; ps= 则以下 scanf 函数调用语句有错误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scanf(“%d“,C.scanf(“%c“,D.scanf(“%d“,ps-age);36.若有以下语句: typedef struct S int g;char h;T; 以下叙述中正确的是_。(分数:1.00)A.可用
16、S 定义结构体变量B.可用 T 定义结构体变量C.S 是 struct 类型的变量D.T 是 struct S 类型的变量37.有以下程序: #includestdio.h #includestring.h struct A int a; char b10; double c; ; struct A f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; a=f(a); printf(“%d,%s,%6.1f/n“,a.a,a.b,a.c); struct A f(struct A t) t.a=1002; strcpy(t.b,“Cha
17、ngRong“); t.c=1202.0; return t; 程序运行后的输出结果是_。(分数:1.00)A.1002,ZhangDa,1202.0B.1002,ChangRong,1202.0C.1001,ChangRong,1098.0D.1001,ZhangDa,1098.038.设有宏定义: #define IsDIV(k,n)(k%n=1)?1:0) 且变量 m 已正确定义并赋值,则宏调用: IsDIV(m,5) x=(ab) printf(“%d/n“,x); 程序运行后的输出结果是_。(分数:1.00)A.3B.1C.2D.040.有以下程序: #includestdio.h
18、main() FILE*fp; int k,n,a6=1,2,3,4,5,6; fp=fopen(”d2.dat“,“w“); fprintf(fp,“%d%d%d/n“,a0,a1,a2); fprintf(fp,“%d%d%d/n“,a3,a4,a5); fclose(fp); fp=fopen(“d2.dat“,“r“); fscanf(fp,“%d%d“, printf(“%d%d/n“,k,n); fclose(fp); 程序运行后的输出结果是_。(分数:1.00)A.1 2B.1 4C.123 4D.123 456二、(共 18 分)(总题数:1,分数:18.00)41.下列给定程
19、序中,函数 fun 的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s 所指的字符串为“det35adh3kjsdf7/”,执行后结果为“defadhajsdf3537”。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #includestdio.h void fun(char*s) int i,j=0,k=0;char t180,t280; for(i=0;si!=“/0“;i+) if(si=“0“ 1; else t1k+=si; t2j=0;t1
20、k=0; /*found*/ for(i=0;ik;i+) 2; /*found*/ for(i=0;i 3;i+)sk+i=t2i; main() char s80=“ba3a54j7sd567sdffs“; printf(“/nThe original string is:%s/n“,s); fun(s); printf(“/nThe result is:%s/n“,s); (分数:18.00)三、(共 18 分)(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:用冒泡法对 6 个字符串进行升序排列。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删
21、行,也不得更改程序的结构! #includestdio.h #includestring.h #define MAXLINE 20 fun(char*pstr6) int i,j; char*p; for(i=0;i5;i+) /*found*/ for(j=i+1,j6,j+) if(strcmp(*(pstr+i),*(pstr+j)0) p=*(pstr+i); /*found*/ *(pstr+i)=pstr+j; *(pstr+j)=p; main() int i; char*pstr6,str6MAXLINE; for(i=0;i6;i+)pstri=stri; printf(“/
22、nEnter 6 string(1 string at each line):/n“); for(i=0;i6;i+)scanf(“%s“,pstri); fun(pstr); printf(“The strings after sorting:/n“); for(i=0;i6;i+)printf(“%s/n“,pstri); (分数:18.00)_四、(共 24 分)(总题数:1,分数:24.00)43.编写函数 fun,其功能是:求 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串 123412132,输入字符为 1,则输出 3。 注意:请勿改动主函数 main 和其他函
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 636 答案 解析 DOC
