【计算机类职业资格】二级C语言-31及答案解析.doc
《【计算机类职业资格】二级C语言-31及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-31及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-31 及答案解析(总分:79.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.请选出以下程序的输出结果_。#includestdio.hsub(int*s,inty) static int t=3,y=st;t-;main() int a=1,2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x);printf(“/n“); A. 1234 B. 4321 C. 0000 D. 4444 (分数:1.00)A.B.C.D.2.下列程序执行后的输出结果是void func1(int i);void fu
2、nc2(int i);char st=“hello,friend!”;void func1(int i) printf(“%c“,sti);if(i3)i+=2;func2(i);void func2(int i) printf(“%c“,sti);if(i3)i+=2;func1(i); int i=0;func1(i);printf(“/n“); A. hello B. hel C. hlo D. hlm(分数:1.00)A.B.C.D.3.下列表达式中,可以正确表示 x0 或 x1 的关系是U /U。 A. (x=1)(x=0) B. x1x=0 C. x=1 OR x=0 D. x=1
3、 strcat(m,n);printf(“%d%d/n“, sizeof(m), strlen(m); A. 2011 B. 99 C. 209 D. 1111(分数:1.00)A.B.C.D.22.以下对枚举类型名的定义中正确的是_。 A. enum a=one, two,three; B. enum aone=9,two=1,three; C. enum a=“one“,“two“,“three“; D. enum a“one“, “two“,“three“; (分数:1.00)A.B.C.D.23.有以下程序 #includestdio.h void fun(int x) if(x/21
4、)fun(x/2); printf(“%d“,x); main() fun(7);printf(“/n“);) 程序运行后的输出结果是U /U。 A. 1 3 7 B. 7 3 1 C. 7 3 D. 3 7(分数:2.00)A.B.C.D.24.变量 a 所占的内存字节数是 _。 A. 4 B. 5 C. 6 D. 8 union U char st4; int i; long l; ; Struct A int c; union U u; a; (分数:1.00)A.B.C.D.25.设有定义:char p=1,2,3,*q=p;,以下不能计算出一个 char 型数据所占字节数的表达是_。
5、 A. sizeof(p) B. sizeof(char) C. sizeof(*q) D. sizeof(p0)(分数:2.00)A.B.C.D.26.设有以下定义:int a=0; double b=1.25; char c=A;#define d 2则下面语句中错误的是( )。 A. a+; B. b+; C. c+; D. d+;(分数:1.00)A.B.C.D.27.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是 A. 每个元素都有一个直接前件和直接后件 B. 线性表中至少要有一个元素 C. 表中诸元素的排列顺序必须是由小到大或由大到小 D. 除第一个元素和最后一个元
6、素外,其余每个元素都有一个且只有一个直接前件和直接后件(分数:2.00)A.B.C.D.28.若要求从键盘读入含有空格字符的字符串,应使用函数_。 A. getc() B. gets() C. getchar() D. scanf()(分数:2.00)A.B.C.D.29.有以下程序:#includestdio.h#includestdio.hmain() char c6;int i=0;for(;j6;ci=getchar(),i+);for(i=0;i6;i+)putchar(ci);printf(“/n“);如果从键盘上输入:ab回车c回车def回车则输出结果为 _。 A. a b c
7、d e f B. a b c d C. ab c d D. abcdef(分数:2.00)A.B.C.D.30.以下说法错误的是 A. 一个算法应包含有限个步骤 B. 在计算机上实现的算法是用来处理数据对象的 C. 算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现 D. 算法的目的是求解(分数:1.00)A.B.C.D.31.下面结构体的定义语句中,错误的是U /U。 A.struct ordint x;int y;int z;struct ord a; B.struct ordint x;int y;int z;struct ord a; C.struct ordint x;in
8、t y;int z;a; D.structint x;int y;int z;a;(分数:1.00)A.B.C.D.32.设计软件结构是在软件生命周期的U /U。 A. 软件定义期 B. 软件开发期 C. 软件维护期 D. 以上三个都不是(分数:2.00)A.B.C.D.33.对下述程序的判断中,正确的是U /U。#includestdio.hvoid main()char *P,s256;p=s;while(strcmp(s,“the end“)printf(“Input the string:“);gets(s);while(*P)putchar(*p+); A. 此程序循环接收字符串并输
9、出,直到接收到字符串“the end”为止 B. 此程序循环接收字符串,接收到字符串“the end”则输出,否则程序终止 C. 此程序循环接收字符串并输出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作 D. 此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串(分数:2.00)A.B.C.D.34.有下列程序:fun(int x, int y) return (x+y);main() int a =1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);printf(“%d/n“, sum);执行后
10、的输出结果是U /U。 A. 6 B. 7 C. 8 D. 9(分数:2.00)A.B.C.D.35.数据库设计包括两个方面的设计内容,它们是_。 A. 概念设计和逻辑设计 B. 模式设计和内模式设计 C. 内模式设计和物理设计 D. 结构特性设计和行为特性设计(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:28.00)36.若变量 n 的值为 24,则 print 函数共输出U U /U /U行,最后一行有U U /U /U个数。 void print(int n,int aa) int i; for(i=1;in;i+) printf(“%6d“,aai); if(
11、!(i%5) printf(“/n“); printf(“/n“); (分数:2.00)填空项 1:_37.以下程序用来判断指定文件是否能正常打开。请填空。 #includestdio.h main() FILE *fp; if(fp=fopen(“test.txt“, “r“)=_) printf(“未能打开文件!/n“); else printf(“文件打开成功!/n“); (分数:2.00)填空项 1:_38.设函数 findbig 已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。main() int findbig(int,int,int);
12、int(*f)(),x,y,z,big; f=U U /U /U;seanf(“%d%d%d“, if (c=a+b) printf(“yes/n“); else printf(“no/n“); (分数:2.00)填空项 1:_43.若有定义语句:int a=5;,则表达式 a+的值是 1。(分数:2.00)填空项 1:_44.若有定义语句 char s100,d100;int j=0,i=0;且 s 中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式) while(si=U U /U /U;j+; dj=0;(分数:1.00)填空项 1:_45.以下程序的输出结果是U U /U /U。
13、 #includestdioh main() struct stru int a; float b; char d4; ; printf(“%d/n“,sizeof(struct stru);(分数:1.00)填空项 1:_46.若有定义 int a44=1,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a11得到的初值是_。(分数:2.00)填空项 1:_47.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_48.深度为 5 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_49.若有以下定
14、义和语句,则使指针 p 指向值为 36 的数组元素的表达式是U U /U /U。 int a10=19,23,44,17,37,28,49,36,*p; p=a;(分数:2.00)填空项 1:_50.语句“x+;+x;x=1+x;”执行后都使变量 x 中的值增 1,请写出一条同一功能的赋值语句 1。(分数:4.00)填空项 1:_二级 C 语言-31 答案解析(总分:79.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.请选出以下程序的输出结果_。#includestdio.hsub(int*s,inty) static int t=3,y=st;t-;mai
15、n() int a=1,2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x);printf(“/n“); A. 1234 B. 4321 C. 0000 D. 4444 (分数:1.00)A.B.C. D.解析:解析 x 作为函数 sub()的实参时,函数对 x 值的改变没有返回主函数,并不能使得 x 的值变化,所以在打印时,x 的值是始终不变的,即为 0。2.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st=“hello,friend!”;void func1(int i) prin
16、tf(“%c“,sti);if(i3)i+=2;func2(i);void func2(int i) printf(“%c“,sti);if(i3)i+=2;func1(i); int i=0;func1(i);printf(“/n“); A. hello B. hel C. hlo D. hlm(分数:1.00)A.B.C. D.解析:解析 考查函数的调用。 解题要点 函数调用的一般形式为: 函数名(实参列表) 首先调用函数 funcl(0),输出 st0=h。i 值变为 2,并调用函数 func2(2),输出 st2=l。i 值此时变为 4,又调用函数 funcl(4),输出 st4=0。
17、此时 i 值大于等于 3,执行完毕。因此,输出结果为 hlo。 考点链接 函数调用的一般格式以及函数的返回值。3.下列表达式中,可以正确表示 x0 或 x1 的关系是U /U。 A. (x=1)(x=0) B. x1x=0 C. x=1 OR x=0 D. x=1 strcat(m,n);printf(“%d%d/n“, sizeof(m), strlen(m); A. 2011 B. 99 C. 209 D. 1111(分数:1.00)A. B.C.D.解析:解析 strlen 返回的是不包括/0在内的数组实际长度。初始时,strlen(n)=3,函数调用strcpy(m+stlen(n),
18、k);,将字符串 k 复制到 m3到 m6中,执行后 m20=a,b,c,a,b,c,d,e。函数调用 strcat(m,n);执行后 m20=a,b,c,a,b,c,d,e,a,b,c,共 11 个字符。但 m 仍然占有 20 个字节。所以 sizeof(m)=20,strlen(m)=11。22.以下对枚举类型名的定义中正确的是_。 A. enum a=one, two,three; B. enum aone=9,two=1,three; C. enum a=“one“,“two“,“three“; D. enum a“one“, “two“,“three“; (分数:1.00)A.B.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 31 答案 解析 DOC
