【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc

上传人:吴艺期 文档编号:1329732 上传时间:2019-10-17 格式:DOC 页数:14 大小:179KB
下载 相关 举报
【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】全国计算机等级考试二级C语言真题题库1+2014年9月及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、全国计算机等级考试二级 C语言真题题库 1+2014年 9月及答案解析(总分:43.00,做题时间:120 分钟)一、选择题(每小题 1分,共 40分)(总题数:40,分数:40.00)1.面向对象方法中,实现对象的数据和操作结合于统一体中的是( )。(分数:1.00)A.结合B.封装C.隐藏D.抽象2.在进行逻辑设计时,将 ER图中实体之间联系转换为关系数据库的( )。(分数:1.00)A.关系B.元组C.属性D.属性的值域3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有( )。(分数:1.00)A.节省存储空间B.插入与删除运算效率高C.便于查找D.排序时减少元素的比较次数

2、4.深度为 7的完全二叉树中共有 125个节点,则该完全二叉树中的叶子节点数为( )。(分数:1.00)A.62B.63C.64D.655.下列叙述中正确的是( )。(分数:1.00)A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储存连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内D.任何存储方式的有序表均能采用二分法进行查找6.设二叉树如下: (分数:1.00)A.ABDEGCFHB.DBGEAFHCC.DGEBHFCAD.ABCDEFGH7.计算机软件包括( )。(分数:1.00)A.算法和数据B.程序和数据C.程序和文档D.程序、数据及相关文

3、档8.下面描述中不属于软件需求分析阶段任务的是( )。(分数:1.00)A.撰写软件需求规格说明书B.软件的总体结构设计C.软件的需求分析D.软件的需求评审9.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的( )。(分数:1.00)A.逻辑独立性B.物理独立性C.应用独立性D.空间独立性10.有 3个关系 R、S 和 T如下: (分数:1.00)A.并B.投影C.交D.选择11.以下叙述正确的是( )。(分数:1.00)A.C编译程序把文件后缀为c 的源程序文件编译成文件后缀为obj 的二进制文件B.C编译程序把文件后缀为c 的源程序文件编译成文件后缀为exe 的可执行文件

4、C.C编译程序把文件后缀为obj 的二进制文件编译成文件后缀为exe 的可执行文件D.链接程序把文件后缀为c 的源程序文件链接成文件后缀为exe 的可执行文件12.以下叙述正确的是( )。(分数:1.00)A.循环结构、选择结构、顺序结构都是结构化程序的基本结构B.计算机可以直接执行 C语言程序,不需要做任何转换C.过于复杂的算法不能使用 N-S流程图描述D.只有不超过 20步操作步骤的算法才是简单算法13.有如下程序: (分数:1.00)A.X115B.X73C.X59D.X7214.下面叙述正确的是( )。(分数:1.00)A.任何复杂任务都可以分解成简单子任务B.C语言程序的所有函数只能

5、处于同一个源文件C.包含全部三种基本结构的程序才是结构化程序D.C语言程序可以定义多个不同内容的 main()函数15.以下叙述正确的是( )。(分数:1.00)A.C程序总是以 main()作为程序执行的起始行B.main()函数若不带参数,其后面的一对圆括号可省略C.函数体内的定义语句和可执行语句允许任意穿插出现D.C语言中的语句之间必须用分号作为分隔符16.有以下程序: (分数:1.00)A.abcdefgB.bcdefgh $C.bcdefgh $ $D.bcdefgh17.有以下程序: (分数:1.00)A.0B.1C.10D.418.有以下程序: (分数:1.00)A.TrueB.

6、TrueFalseC.FalseD.TrueFalseTrue19.为了避免在嵌套的 if-else语句中产生二义性,C 语言规定与 else子句配对是( )。(分数:1.00)A.与其在同一行上的 if子句B.在其之后最近的不带 else的 if子句C.与其缩排位置相同的 if子句D.在其之前最近的不带 else的同层 if子句20.有以下程序: (分数:1.00)A.11,10B.10,10C.10,11D.11,1121.有以下程序: (分数:1.00)A.10,-1,8,-3,6,B.5,4,3,2,1,C.10,2,8,4,6,D.5,-1,3,-3,1,22.有以下程序: (分数:

7、1.00)A.16,6,11,16,B.1,6,11,16,C.4,7,10,13,D.17,17,17,17,23.有如下程序: (分数:1.00)A.56,57,B.57,58,C.57,57,D.55,57,24.设有如下程序段: (分数:1.00)A.a,b 的定义合法,c,d 的定义不合法B.a,b,c,d 的定义都是合法的C.a,b,c 的定义是合法的,d 的定义不合法D.只有 a的定义是合法的25.没有定义:int x2,*px;float y30;char zc;,则立即进行以下运算有安全隐患的是( )(分数:1.00)A.p+;B.x+;C.y+;D.z+;26.有以下程序:

8、 (分数:1.00)A.3000000B.3141500C.0141500D.000000027.有以下程序: (分数:1.00)A.Beijing!B.you to Beijing!C.Welcome you to Beijing!D.to Beijing!28.有如下程序: (分数:1.00)A.8B.9C.7D.1029.有如下程序: (分数:1.00)A.2,B.2,3,C.3,D.1,30.有以下程序: (分数:1.00)A.grame ame eB.g a eC.programeD.无输出字符31.以下针对全局变量的叙述错误的是( )。(分数:1.00)A.全局变量的作用域是从定义

9、位置开始至源文件结束B.全局变量是在函数外部任意位置上定义的变量C.用 extern说明符可以限制全局变量的作用域D.全局变量的生存期贯穿于整个程序的运行期间32.有以下程序: (分数:1.00)A.Zhao,m,290,Qian,f,350B.Zhao,m,290,Qian,m,290C.Zhao,m,290,Zhao,m,290D.Zhao,m,290,Qian,m,35033.下面关于编译预处理的命令行,正确的是( )。(分数:1.00)A.#define PAI 314B.#Define Eps 000001C.#DEFINE FALSE 0D.#define int INT34.有以

10、下程序: (分数:1.00)A.7B.6C.9D.235.有以下程序: (分数:1.00)A.0K,6B.#,6C.0K,3D.#,336.有如下定义: (分数:1.00)A.B.C.D.37.有以下程序: #include (分数:1.00)A.6B.2C.5D.338.有如下定义: (分数:1.00)A.B.C.D.39.有以下程序: (分数:1.00)A.C#123#0B.C#1230C.C#0D.C#123#040.有以下程序: (分数:1.00)A.23B.26C.33D.36二、程序填空题(总题数:1,分数:1.00)41.给定程序中,函数 fun的功能是:调用随机函数产生 20个

11、互不相同的整数放在形参 a所指数组中(此数组在主函数中已置 0)。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。 不得增行或删行,也不得更改程序的结构: 试题程序: (分数:1.00)_三、程序修改题(总题数:1,分数:1.00)42.“下列给定程序是建立一个带头节点的单向链表,并用随机函数为各节点赋值。函数 fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数 fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1C 中,不要改动 main函数,不得增行

12、或删行,也不得更改程序的结构! 试题程序: (分数:1.00)_四、程序设计题(总题数:1,分数:1.00)43.请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入“abc4Efg”,则应输出“aBc4EFg”。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: (分数:1.00)_全国计算机等级考试二级 C语言真题题库 1+2014年 9月答案解析(总分:43.00,做题时间:120 分钟)一、选择题(

13、每小题 1分,共 40分)(总题数:40,分数:40.00)1.面向对象方法中,实现对象的数据和操作结合于统一体中的是( )。(分数:1.00)A.结合B.封装 C.隐藏D.抽象解析:解析对象的基本特点是:标识唯一性、分类性、多态性、封装性、模块独立性好。封装是指隐藏对象的属性和实现细节,将数据和操作结合于统一体,仅对外提供访问方式,故 B选项正确。2.在进行逻辑设计时,将 ER图中实体之间联系转换为关系数据库的( )。(分数:1.00)A.关系 B.元组C.属性D.属性的值域解析:解析E-R 模型和关系模式的对照表如下。 3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有( )

14、。(分数:1.00)A.节省存储空间B.插入与删除运算效率高 C.便于查找D.排序时减少元素的比较次数解析:解析顺序表和链表的优缺点比较如下表所示。 4.深度为 7的完全二叉树中共有 125个节点,则该完全二叉树中的叶子节点数为( )。(分数:1.00)A.62B.63 C.64D.65解析:解析在树结构中,定义一棵树的根节点所在的层次为 1,其他节点所在的层次等于它的父节点所在的层次加 1,树的最大层次称为树的深度。完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干节点。深度为 6的满二叉树,节点个数为 26-1=63,则第 7层共有1256362 个叶子节

15、点,分别挂在第 6层的左边 62个节点上,加上第 6层的最后 1个叶子节点,该完全二叉树共有 63个叶子节点,故 B选项正确。5.下列叙述中正确的是( )。(分数:1.00)A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储存连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内 D.任何存储方式的有序表均能采用二分法进行查找解析:解析“有序”是特指元素按顺序排列但允许相邻元素相等,A 选项错误。有序表可以顺序存储也可以链式存储,B 选项错。能使用二分法查找的线性表必须满足两个条件:用顺序存储结构;线性表是有序表,D 选项错误。故 C选项正确。例如:有序链

16、表。6.设二叉树如下: (分数:1.00)A.ABDEGCFHB.DBGEAFHCC.DGEBHFCA D.ABCDEFGH解析:解析二叉树遍历可以分为 3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。本题中前序遍历为 ABDEGCFH,中序遍历为 DBGEAFHC,后序遍历为 DGEBHFCA,故 C选项正确。7.计算机软件包括( )。(分数:1.00)A.算法和数据B.程序和数据C.程序和文档D.程序、数据及相关文档 解析:解析计算机软件由两部分组成:一是机器可执行的程序和

17、数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。故 D选项正确。8.下面描述中不属于软件需求分析阶段任务的是( )。(分数:1.00)A.撰写软件需求规格说明书B.软件的总体结构设计 C.软件的需求分析D.软件的需求评审解析:解析需求分析阶段的工作可以分为 4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。故 B选项正确。9.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的( )。(分数:1.00)A.逻辑独立性 B.物理独立性C.应用独立性D.空间独立性解析:解析数据独立性包括物理独立性和逻辑独立性,物理独立性指数据的物理结构的改变,不会影响数

18、据库的逻辑结构,也不会引起应用程序的改动;逻辑独立性指数据库的总体逻辑结构的改变,不会导致相应的应用程序的改变。故 A选项正确。10.有 3个关系 R、S 和 T如下: (分数:1.00)A.并 B.投影C.交D.选择解析:解析用于查询的 3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。投影:从关系模式中指定若干个属性组成新的关系,T相较于 R没有缺少属性,放 B选项错误。选择:从关系中找出满足给定条件的元组的操作称为选择,T相较于 R增加了元组,故 D选项错误。交:RS 结果是既属于 R又属于 S的记录组成的集合,T 中元

19、组多于 R与 S,放 C选项错误。并:R5 是将 S中的记录追加到 R后面,与题目中结果相符,故 A选项正确。11.以下叙述正确的是( )。(分数:1.00)A.C编译程序把文件后缀为c 的源程序文件编译成文件后缀为obj 的二进制文件 B.C编译程序把文件后缀为c 的源程序文件编译成文件后缀为exe 的可执行文件C.C编译程序把文件后缀为obj 的二进制文件编译成文件后缀为exe 的可执行文件D.链接程序把文件后缀为c 的源程序文件链接成文件后缀为exe 的可执行文件解析:解析C 编译程序把文件后缀为c 的源程序文件编译成文件后缀为obj 的二进制文件,链接将一个或多个目标文件与程序用到的库

20、文件连接起来,形成一个可以在操作系统直接运行的执行程序exe,故排除 B、C、D 选项,答案选 A选项。12.以下叙述正确的是( )。(分数:1.00)A.循环结构、选择结构、顺序结构都是结构化程序的基本结构 B.计算机可以直接执行 C语言程序,不需要做任何转换C.过于复杂的算法不能使用 N-S流程图描述D.只有不超过 20步操作步骤的算法才是简单算法解析:解析计算机只能识别机器语言,C 语言是高级语言,计算机无法直接执行,排除 B选项;N-S 流程图是复杂流程算法的描述手段,因此 C选项错误;算法的复杂与简单,由算法的思想和时空复杂度决定的,不能用操作步骤数来衡量,D 选项错误;循环结构、选

21、择结构、顺序结构都是结构化程序的基本结构,答案为 A选项。13.有如下程序: (分数:1.00)A.X115B.X73C.X59 D.X72解析:解析x 定义为 072,表尔 x为一个八进制数,d 代表十进制整数输出,x 需要转化成十进制为58,在输出时,x+159,再输出,答案为 C选项,另外输出时不能忘记“”。14.下面叙述正确的是( )。(分数:1.00)A.任何复杂任务都可以分解成简单子任务 B.C语言程序的所有函数只能处于同一个源文件C.包含全部三种基本结构的程序才是结构化程序D.C语言程序可以定义多个不同内容的 main()函数解析:解析C 语言程序的两数可以处于不同的源文件,B

22、选项错误;包含一种基本结构的程序就是结构化程序,C 选项错误;C 语言只可以定义一个 main()函数,D 选项错误,答案为 A选项。15.以下叙述正确的是( )。(分数:1.00)A.C程序总是以 main()作为程序执行的起始行 B.main()函数若不带参数,其后面的一对圆括号可省略C.函数体内的定义语句和可执行语句允许任意穿插出现D.C语言中的语句之间必须用分号作为分隔符解析:解析main()函数后面的括号告诉编译器这是一个函数,不可以省略,排除 B选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除 C选项;C 语言中的某些语句可以不用分

23、号,例如 if语句,宏定义,故 D选项错误;答案为 A选项。16.有以下程序: (分数:1.00)A.abcdefgB.bcdefgh $C.bcdefgh $ $D.bcdefgh 解析:解析题目中 for语句含义是,每次将函数 getchar()的输入值赋给变量 c,如果不等于#,则执行 putchar(+c),即将当前变量 c值的 ASCII码+1 后,再输出改变后的变量 c的值。当变量 c的值等于#,则终止循环,所以输出应该是 bcdefgh,答案为 D选项。17.有以下程序: (分数:1.00)A.0 B.1C.10D.4解析:解析题干中 for循环内有 break和 continu

24、e语句,且均放在 b+a 语句前面,无论 if条件是否满足,b+a 都不会被执行,因此 b值始终为 0,答案为 A选项。18.有以下程序: (分数:1.00)A.TrueB.TrueFalse C.FalseD.TrueFalseTrue解析:解析if(x0x12)此处是赋值语句“”,注意赋值操作符“”与相等操作符“”的区别,因此答案为 B选项。19.为了避免在嵌套的 if-else语句中产生二义性,C 语言规定与 else子句配对是( )。(分数:1.00)A.与其在同一行上的 if子句B.在其之后最近的不带 else的 if子句C.与其缩排位置相同的 if子句D.在其之前最近的不带 els

25、e的同层 if子句 解析:解析注意 if与 else的配对父系。原则是 if总是与它上面最近的、未配对的 else配对,因此答案为 D选项。20.有以下程序: (分数:1.00)A.11,10 B.10,10C.10,11D.11,11解析:解析当 i10 时循环继续执行,i 值赋值给变量 a。赋值完成后执行 ii+1,此时 i11,判定是否满足条件 iage 是结构指针访问结构成员的力式,如果为结构体内变量进行赋值,应该对指针地址指向的单元进行赋值,因此在 P-age 前面应该加入取地址符,A 选项语句错误,答案为 A选项。37.有以下程序: #include (分数:1.00)A.6B.2

26、C.5 D.3解析:解析malloc(size)函数作用是在内存的动态存储区分配一个长度为 size的连续空间,函数的返回值是新分配的存储区的首地址,将该地址赋值给 p指针,然后取 p指针的地址,调用 fun函数。fun 函数中对指向指针的指针 s指向的内存单元赋值,其中 x1表示二维数组 x的第二行的行地址,x1+1 表示二维数组 x的第二行第二列的地址,所以 fun函数的功能是将二维数组 x的第二行第二列的值,即 x11赋值给* *s,*s 为 p,所以* *s 代表*p,x11与 a11等价,因此答案为 C选项。38.有如下定义: (分数:1.00)A. B.C.D.解析:解析fwrit

27、e()函数用法是 fwrite(void *buffer,int size,int n,FILE *fP),其中 buffer为要输出的数据的首地址。A 选项中,因为 n1,即每次写入 1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去,因此答案为 A选项。39.有以下程序: (分数:1.00)A.C#123#0 B.C#1230C.C#0D.C#123#0解析:解析disp()函数中,存在 while循环,当指针指向地址单元存储的字符不等于空字符0,输出此字符,否则退出循环,输出#。在主函数中调用 disp()函数时,字符串“C#12

28、3”先全部输出,当指针指向字符串最后空字符时,退比循环,输出#,并且再将0返回输出。由于 disp()函数返回类型为 int,所以返回0的 ASCII码 0,因此,答案为 A选项。40.有以下程序: (分数:1.00)A.23 B.26C.33D.36解析:解析题中把数组首元素地址赋值给指针变量 q,在 for循环体内,当 i0 时,满足 jf语句,把指针 q指向的单元值加 1,等于 3赋给 x01,接着输出 q指针指向单元的值 2;ii+1 后再次进入循环体,此时 i不等于 0,指针 q地址加 1,指向 x01,此时*q3,因此最后函数输出的分别是 2,3,故答案为 A选项。二、程序填空题(

29、总题数:1,分数:1.00)41.给定程序中,函数 fun的功能是:调用随机函数产生 20个互不相同的整数放在形参 a所指数组中(此数组在主函数中已置 0)。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。 不得增行或删行,也不得更改程序的结构: 试题程序: (分数:1.00)_正确答案:(1)N 或 20 (2)break (3)n)解析: 解题思路 填空 1:变量 n用于存储数组的下标,要通过 while语句对数组进行赋值,数组的容量为 20,因此循环条件应为 n20 或 nN。 填空 2:通过一个 for循环判断 x是否

30、与数组中已存的元素重复,若重复则跳出 for循环结束。 填空 3:若 for循环是由 break语句结束的,则 x与数组中的元素重复,此时 i必然小于 n;若 for循环是因为循环变量 i递增到某值,而不再满足循环条件结束的,说明x的值与数组中的元素不重复,则此时 i的值等于 n。三、程序修改题(总题数:1,分数:1.00)42.“下列给定程序是建立一个带头节点的单向链表,并用随机函数为各节点赋值。函数 fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数 fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1C 中,不要改

31、动 main函数,不得增行或删行,也不得更改程序的结构! 试题程序: (分数:1.00)_正确答案:(1)while(p)或 while(p!NULL) (2)pp-next;)解析: 解题思路 (1)判断当前指针 p指向的节点是否存在,若存在则对该节点数据域进行判断操作,而不是判断 p指针的指针域是否为空。 (2)判断结束后指针指向下一个节点。四、程序设计题(总题数:1,分数:1.00)43.请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入“abc4Efg”,则应输出“aBc4EFg”。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: (分数:1.00)_正确答案:( )解析: 解题思路 该题要求将给定字符串中奇数位置的字母转换为大写,需要先判断奇数位置以及此位置的字符是否是小写字母,如果是再通过其转换方法进行转换。 从 C语言的学习中知道,只要将小写字母减去 32即转成大写字母,将大写字母加上 32即转成小写字母。本程序用 if语句实现转换功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1