【计算机类职业资格】全国计算机等级考试二级C语言真题2013年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2013年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2013年9月及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2013 年 9 月及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:1.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA2.下列叙述中正确的是_。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反
2、映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的3.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是_。(分数:1.00)A.O(n)B.O(n2)C.O(log2n)D.0(nlog2n)4.下列叙述中正确的是_。(分数:1.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是_。(分数:1.00)A.控制流B.事件驱动C
3、.模块调用D.数据流6.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S 图B.DFD 图C.PAD 图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是_。(分数: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
4、.自然连接11.下列叙述中错误的是_。(分数:1.00)A.C 程序可以由多个程序文件组成B.一个 C 语言程序只能实现一种算法C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在12.以下选项中,能用作数据常量的是_。(分数:1.00)A.115LB.0118C.1.5e1D.o11513.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:1.00)A.大写字母B.下划线C.数字字符D.连接符14.设变量已正确定义并赋值,以下正确的表达式是_。(分数:1.00)A.x=y+z+5,+yB.int(15.8%5)C.x=y*5=x+z
5、D.x=25%5.015.设有定义:int x=2;,以下表达式中,值不为 6 的是_。(分数:1.00)A.2*x,x+=2B.x+,2*xC.x*=(1+x)D.x*=x+116.有以下程序: #include stdio.h main() int x, y, z; x=y=1; z=x+, y+, +y; printf(“%d, %d, %d/n“, x, y, z); 程序运行后的输出结果是_。(分数:1.00)A.2, 3, 3B.2, 3, 2C.2, 3, 1D.2, 2, 117.有以下程序: #include stdio.h main() char c1, c2; c1=A+
6、8-4; c2=A+8-5; printf(“%c, %d/n“, c1, c2); 已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是_。(分数:1.00)A.E, 68B.D, 69C.E, DD.输出无定值18.若有定义 int x, y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。(分数:1.00)A.(x-y0|x-y0)B.(x-Y0)C.(x-y0)D.(x-y=0)19.有以下程序: #include stdio.h main() int x=1, Y=0; if(!x)y+; else if(x=0
7、) if(x)y+=2; else y+=3; printf(“%d/n“, y); 程序运行后的输出结果是_。(分数:1.00)A.3B.2C.1D.020.若有定义:float x=1.5; int a=1, b=3, c=2;则正确的 switch 语句是_。(分数:1.00)A.switch(a+b) case 1: printf(“*/n“);case 2+1: printf(“*/n“);B.switch(int)x); case 1: printf(“*n“);case 2: printf(“*/n“);C.switch(x) case 1.0: printf(“*/n“);ca
8、se 2.0: printf(“*/n“);D.switch(a+b) case 1: printf(“*n“);case c: printf(“*/n“);21.有以下程序: #include stdio.h main() int y=9; for(;y0; y-) if(y%3=0) printf(“%d“, -y); 程序的运行结果是_。(分数:1.00)A.852B.963C.741D.87542122.有以下程序: #include stdio.h main() int i, j, m=1; for(i=1; i3; i+) for(j=3; j0; j-) if(i*j3)brea
9、k; m*=i*j; printf(“m=%d/n“, m); 程序运行后的输出结果是_。(分数:1.00)A.m=4B.m=2C.m=6D.m=523.有以下程序: #include stdio.h int fun(int x, int y) if(x!=y) return (x+y)/2); else return(x); main() int a=4, b=5, c=6; printf(“%d/n“, fun(2*a, fun(b, c); 程序运行后的输出结果是_。(分数:1.00)A.6B.3C.8D.1224.有以下程序: #include stdio.h int add(int
10、a, int b)return(a+b); main() int k, (*f)(), a=5, b=10; f=add; . 则以下函数调用语句错误的是_。(分数:1.00)A.k=f(a, b);B.k=add(a, b);C.k=(*f)(a, b);D.k=*f(a, b);25.有以下程序: #include stdio.h main() int n, *p=NULL; *p= printf(“Input n:“); scanf(“%d, printf(“output n:“); printf(“%d/n, p); 该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误
11、,以下语句正确的是_。(分数:1.00)A.int n, *p=NULL;B.*p=C.scanf(“%d“, 26.下列定义数组的语句中,正确的是_。(分数:1.00)A.#define N 10int xN;B.int N=10;int xN;C.int x0.10;D.int x;27.有以下程序: #include stdio.h main() int a=2, 3, 5, 4, i; for(i=0; i4; i+) switch(i%2) case 0: switch(ai%2) case 0: ai+; break; case 1: ai-; break; case 1: ai=
12、0; for(i=0; i4; i+)printf(“%d“, ai); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 028.有以下程序: #inelude stdio.h main() int b33=0, 1, 2, 0, 1, 2, 0, 1, 2, i, j, t=1; for(i=0; i3; i+) for(j=i; j=i; j+)t+=bibji; printf(“%d/n“, t); 程序运行后的输出结果是_。(分数:1.00)A.3B.4C.1D.929.以下语句中存在语法错误
13、的是_。(分数:1.00)A.char ss620; ss1=“right?“;B.char ss()20=“right?“;C.char *ss6; ss1=“right?“;D.char *ss()=“right?“;30.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:1.00)A.do*t+=*s+;while(*s);B.for(i=0; ti=si; i+);C.while(*t=*s)t+; s+;D.for(i=0, j=0; ti+=sj+; );31.有以下程序: #include stdio.h void swap(char *x, char *y)
14、 char t; t=*x; *x=*y; *y=t; main() char *s1=“abc“, *s2=“123“; swap(s1, s2); printf(“%s, %s/n“, s1, s2); 程序执行后的输出结果是_。(分数:1.00)A.321,cbaB.abc,123C.123,abcD.1bc,a2332.有以下函数: int fun(char *x, char *y) int n=0; while(*x=*y) y+; n+;return n; 函数的功能是( )。(分数:1.00)A.将 y 所指字符串赋给 x 所指存储空间B.查找 x 和 y 所指字符串中是否有/0
15、C.统计 x 和 y 所指字符串中最前面连续相同的字符个数D.统计 x 和 y 所指字符串中相同的字符个数33.有以下程序: #include stdio.h int fun() static int x=1; *x=2; return x; main() int i, s=1; for(i=1; i=3; i+)s* =fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.10B.30C.0D.6434.在一个 C 源程序文件中所定义的全局变量,其作用域为_。(分数:1.00)A.由具体定义位置和 extern 说明来决定范围B.所在程序的全部范
16、围C.所在函数的全部范围D.所在文件的全部范围35.以下叙述中错误的是_。(分数:1.00)A.可以通过 typedef 增加新的类型B.可以用 typedef 将已存在的类型用一个新的名字来代表C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名36.有以下程序: #include stdio.h struct S int a, b; data2=10, 100, 20, 200; main() struct S p=data1; printf(“%d/n“, +(p.a); 程序运行后的输出结果是_。(分数:1.00)A
17、.10B.11C.20D.2137.有以下程序: #include stdio.h #define PT 3.5; #define S(X) PT*x*x; main() int a=1, b=2; printf(“%4.1f/n“, s(a+b); 程序运行后的输出结果是_。(分数:1.00)A.7.5B.31.5C.程序有错无输出结果D.14.038.有以下程序: #include stdio.h main() unsigned char a=2, b=4, c=5, d; d=a | b; d printf(“%d/n“, d); 程序运行后的输出结果是_。(分数:1.00)A.3B.4
18、C.5D.639.有以下程序: #include stdio.h #include stdlib.h main() int *a, *b, *c; a=b=c(int *)malloc(sizeof(int); *a=1; *b=2, *c=3; a=b; printf(“%d, %d, %d/n“, *a, *b, *c); 程序运行后的输出结果是_。(分数:1.00)A.1,1,3B.2,2,3C.1,2,3D.3,3,340.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的
19、全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件,因此只能顺序存取数据二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:计算如下公式前 n 项的和,并作为函数值返回。 (分数:18.00)填空项 1:_三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:统计 substr 所指的字符串在 str 所指的字符串中出现的次数。 例如,若字符串为 aass 1kaaas,子字符串为 as,则应输出 2。 请改正程序中的错误,使它能得
20、出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include stdio.h int fun(char *str, char *substr) int i, j, k, num=0; /* found*/ for(i=0, stri, i+) for(j=i, k=0; substrk=strj; k+, j+) /* found*/ If(substrk+1=“/0“) num+; break; return num; main() char str80, substr80; printf(“Input a string:“); get
21、s(str); printf(“Input a substfing: “); gets(substr); printf(“%d/n“, fun(str, substr); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)43.编写函数 fun,其功能是:根据以下公式求 的值(要求精度 0.0005,即某项小于 0.0005 时停止迭代)。(分数:24.00)_全国计算机等级考试二级 C 语言真题 2013 年 9 月答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、
22、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:1.00)A.12345ABCDEB.EDCBA54321 C.ABCDE12345D.54321EDCBA解析:解析 栈是按照先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择 B。2.下列叙述中正确的是_。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的 解析:解析 循环队列有队头和队尾两个指针,但是循环队
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2013 答案 解析 DOC
