【计算机类职业资格】二级C语言-637及答案解析.doc
《【计算机类职业资格】二级C语言-637及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-637及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-637 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构3.下列关于二叉树的叙述中,正确的是_。(分数:1.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个
2、C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件生命周期中的活动不包括_。(分数:1.00)A.市场调研B.需求分析C.软件测试D.软件维护5.某系统总体结构图如下图所示! (分数:1.00)A.7B.6C.3D.26.程序调试的任务是_。(分数:1.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是_。(分数:1.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括
3、_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下: (分数:1.00)A.自然连接B交C.投影D并10.下列选项中属于面向对象设计方法主要特征的是_。(分数:1.00)A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是_。(分数:1.00)A.算法正确的程序可以有零个输入B.算法正确的程序最终一定会结束C.算法正确的程序可以有零个输出D.算法正确的程序对于相同的输入一定有相同的结果12.以下叙述中正确的是_。(分数:1.00)A.C 语句必须在一行内写完B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写
4、在同一行D.简单 C 语句必须以分号结束13.以下选项中关于 C 语言常量的叙述错误的是_。(分数:1.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量14.以下选项中,不合法的 C 语言用户标识符是_。(分数:1.00)A.a_bB.AaBcC.a-bD.-115.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是_。(分数:1.00)A.x=y=5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;16.设有定义: int a;float b;
5、 执行 scanf(“%2d%f“, 语句时,若从键盘输入 876 543.0回车 则 a 和 b 的值分别是_。(分数:1.00)A.87 和 6.0B.876 和 543.0C.87 和 543.0D.76 和 543.017.有以下定义语句,编译时会出现编译错误的是_。(分数:1.00)A.char a=“/x2d“;B.char a=“/n“;C.char a=“a“;D.char a=“aa“;18.当变量 c 的值不为 2、4、6 时,值也为“真“的表达式是_。(分数:1.00)A.(c=2if(x0)y=sqrt(-x);B.if(x=0)y=sqrt(x);else y=sqr
6、t(-x);C.y=sqrt(x);if(x0)y=sqrt(-x);D.y=sqrt(x=0?x:-x);20.有以下程序: #includestdio.h main() int y=10; while(y-); printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=-1B.y=0C.y=1D.while 构成无限循环21.有以下程序: #includestdio.h main() int i; for(i=1;i=40;i+) if(i+%5=0) if(+i%8=0)printf(“%d“,i); printf(“/n“); 程序执行后的输出结果是_
7、。(分数:1.00)A.5B.24C.32D.4022.有以下程序: #includestdio.h main() int s; scanf(“%d“, while(s0) switch(s) case 1:printf(“%d“,s+5); case 2:printf(“%d“,s+4);break; case 3:printf(“%d“,s+3); default:printf(“%d“,s+1);break; scanf(“%d“, 运行时,若输入 1 2 3 4 5 0回车,则输出结果是_。(分数:1.00)A.66656B.6566456C.66666D.666665623.以下叙述
8、中错误的是_。(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式24.有以下程序: #includestdio.h void fun(char*c,int d) *c=%c+1; d=d+1; printf(“%c,%c,“,*c,d); main() char b=“a“,a=“A“; fun( printf(“%c,%c/n“,b,a); 程序运行后的输出结果是_。(分
9、数:1.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B25.下列选项中,能正确定义数组的语句是_。(分数:1.00)A.int num02008;B.int num;C.int N=2008;int numN;D.#define N 2008int numN;26.以下函数实现按每行 8 个输出 w 所指数组中的数据: #includestdio.h void fun(int*w,int n) int i; for(i=0;in;i+) _ printf(“%d“,wi); printf(“/n“); 在横线处应填入的语句是_。(分数:1.00)A.if(i/8
10、=0)printf(“/n“);B.if(i/8=0)continue;C.if(i%8=0)printf(“/n“);D.if(i%8=0)continue;27.有以下程序: #includestdio.h void fun(char*c) while(*c) if(*c=“a“ c+; main() char s81; gets(s); fun(s); puts(s); 当执行程序时从键盘上输入 Hello Beijing回车,则程序运行后的输出结果是_。(分数:1.00)A.hello beijingB.Hello BeijingC.HELLO BEIJINGD.hELLO Beiji
11、ng28.有以下程序: #includestdio.h main() int a44=1,4,3,2, 8,6,5,7, 3,7,2,5, 4,8,6,1; int i,j,k,t; for(i=0;i4;i+) for(j=0;j3;j+) for(k=j+1;k4;k+) if(ajiaki) t=aji; aji=aki; aki=t; /*按列排序*/ for(i=0;i4;i+) printf(“%d,“,aii); 程序运行后的输出结果是_。(分数:1.00)A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7,29.有以下程序(strcat 函数用于连接
12、两个字符串): #includestdio.h #includestring.h main() char a20=“ABCD/0EFG/0“,b=“IJK“; strcat(a,b); printf(“%s/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.UKB.ABCDE/0FG/0IJKC.ABCDIJKD.EFGIJK30.有以下程序段: char name20; int num; scanf(“name=%s num=%d“,name, 当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name 的值为_。(分数:1.00)A.name=Lili
13、 num=1001B.name=LiliC.Lili num=D.Lili31.有以下程序: #includestdio.h main() char ch=“uvwxyz“,*pc; pc=ch; printf(“%c/n“,*(pc+5); 程序运行后的输出结果是_。(分数:1.00)AzB.0C.元素 ch5的地址D.字符 y 的地址32.有以下程序: #includestdio.h main() char s=“012xy“; int i,n=0; for(i=0;si!=0;i+) if(si=“a“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:1.00)A.
14、0B.2C.3D.533.有以下程序: #includestdio.h int fun(int n) if(n=1) return 1; else return(n+fun(n-1); main() int x; scanf(“%d“, x=fun(x); printf(“%d/n“,x); 执行程序时,给变量 x 输入 10,程序运行后的输出结果是_。(分数:1.00)A.55B.54C.65D.4534.有以下程序: #includestdio.h int f(int m) static int n=0; n+=m; return n; main() int n=0; printf(“%d
15、,“,f(+n); printf(“%d/n“,f(n+); 程序运行后的输出结果是_。(分数:1.00)A.3,3B.1,1C.2,3D.1,235.设有以下语句: typedef struct TT char c;int a4;CIN; 则下面叙述中正确的是_。(分数:1.00)A.CIN 是 struct TT 类型的变量B.TT 是 struct 类型的变量C.可以用 TT 定义结构体变量D.可以用 CIN 定义结构体变量36.有以下程序: #includestdio.h struct ord int x,y;dt2=1,2,3,4; main() struct ord*p=dt; p
16、rintf(“%d,“,+(p-x); printf(“%d/n“,+(p-y); 程序运行后的输出结果是_。(分数:1.00)A.3,4B.4,1C.2,3D.1,237.有以下程序: #includestdio.h #define SUB(A)(a)-(a) main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.0B.-12C.-20D.1038.有以下程序: #includestdio.h main() int a=2,b; b=a2; printf(“%d/n“,b); 程序运
17、行后的输出结果是_。(分数:1.00)A.2B.4C.6D.839.下列关于 C 语言文件的叙述中正确的是_。(分数:1.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件D.文件由字符序列组成,其类型只能是文本文件40.有以下程序: #includestdio.h main() FILE*fp; int a10=1,2,3,0,0,i; fp=fopen(“d2.dat“,“wb“); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int)
18、,5,fp); fclose(fp); fp=fopen(“d2.dat“,“rb“); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0.0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0,二、(共 18 分)(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:从形参 ss 所指字符串数组中,删除
19、所有串长超过 k 的字符串,函数返回剩余字符串的个数。ss 所指字符串数组中共有 N 个字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #includestdio.h #includestring.h #define N 5 #define M 10 int fun(char(*ss)M,int k) int i,j=0,len; /*found*/ for(i=0;i 1;i+) len=strlen(ssi); /*found*/ if(len= 2) /*found*/ strcpy(ssj+
20、, 3); return j; main() char xNM=“Beijing“,“Shanghai“,“Tianjin“,“Nanjing“,“Wuhan“; int i,f; printf(“/nThe original string/n/n“); for(i=0;iN;i+) puts(xi); printf(“/n“); f=fun(x,7); printf(“The string witch length is less than or equal to 7:/n“); for(i=0;if;i+)puts(xi); printf(“/n“); (分数:18.00)三、(共 18
21、分)(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符,并把 ASCII 值大或相等的字符依次存放到 c 所指的数组中,形成一个新的字符串。 例如,若主函数中 a 字符串为“aBCDeFgH”,b 字符串为“Abcd”,则 c 中的字符串应为“aBcdeFgH”。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #includestdio.h #includestring.h void fun(char*p,char*q,char*c) /*found*/ int k=1; /*
22、found*/ while(*p!=*q) if(*p*q)ck=*q; else ck=*p; if(*p)p+; if(*q)q+; k+; main() char a10=“aBCDeFgH“,b10=“ABcd“,c80=“/0“; fun(a,b,c); printf(“The string a:“);puts(a); printf(“The string b:“);puts(b); printf(“The result:“);puts(c); (分数:18.00)_四、(共 24 分)(总题数:1,分数:24.00)43.规定输入的字符串中只包含字母和*号。请编写函数 fun,其功
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 637 答案 解析 DOC
