【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2015年3月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2015年3月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2015年3月及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C语言真题题库 3+2015年 3月及答案解析(总分:43.00,做题时间:90 分钟)一、选择题(每小题 1分,共 40分)(总题数:40,分数:40.00)1.下列关于算法复杂度叙述正确的是( )。(分数:1.00)A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关2.设有栈 S和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出 3个元素依次入队,再将 X,Y,Z 入栈后,将栈中所有元素退出并依次入
2、队,最后将队列中所有元素退出,则退队元素的顺序为( )。(分数:1.00)A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC3.下列叙述中正确的是( )。(分数:1.00)A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表4.某二叉树共有 845个节点,其中叶子节点有 45个,则度为 1的节点数为( )。(分数:1.00)A.400B.754C.756D.不确定5.软件需求分析阶段的主要任务是( )。(分数:1.00)A.确定软件开发方法B.确
3、定软件开发工具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.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓
4、库中。则实体仓库和零件间的联系是( )。(分数:1.00)A.多对多B.一对多C.多对一D.一对一10.有 3个关系 R、S 和 T如下: (分数:1.00)A.交B.差C.并D.选择11.以下叙述正确的是( )。(分数:1.00)A.计算机只接收由 0和 1代码组成的二进制指令或数据B.计算机只接收由 0和 1代码组成的十进制指令或数据C.计算机可直接接收并运行 C源程序D.计算机可直接接收并运行任意高级语言编写的源程序12.若有 C语言表达式 2+3*4+73,以下选项中叙述正确的执行顺序是( )。(分数:1.00)A.先执行 3*4得 12,再执行 73 得 25,最后执行 2+12+2
5、5 得 165B.先执行 3*4得 12,再执行 2+12得 14,再执行 73 得 2,最后执行 14+2得 16C.先执行 73 得 2,再执行 3*4得 12,再执行 12+2得 14,最后执行 2+14得 16D.先执行 2+3得 5,再执行 5*4得 20,再执行 20+7得 27,最后执行 273 得 913.若有定义:char c;int d;程序运行时输入:c1,d=2回车,能把字符 1输入给变量 c、整数2输入给变量 d的输入语句是( )。(分数:1.00)A.scanf(“cd dd“,c,d);B.scanf(“cc dd“,c,d);C.scanf(“cd,dd“,c,
6、d);D.scanf(“cc,dd“,c,d);14.以下选项中,与 ni+完全等价的表达式是( )。(分数:1.00)A.ni,ii+1B.n+i+1C.i=i+1,n=iD.n=+i15.设有定义: int n 1234;double x = 31415;则语句 printf(“3d,13fn”,n,x) 的输出结果是( )。(分数:1.00)A.1234,3142B.123,3142C.1234,3141D.123,314116.有以下程序: (分数:1.00)A.2,2,3,4,4,4,B.2,3,4,C.2,3,3,4,5,6,D.2,3,4,3,4,4,17.设变量 m为 floa
7、t类型,变量 n为 int类型,则以下能实现将 m中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。(分数:1.00)A.m(m*100+05)1000B.n=m*100+05,m=n1000C.nm100+05,mn*1000D.mm*100+05100018.有以下程序: (分数:1.00)A.-1,0B.0,0C.-1,-1D.1,119.若有定义: char s30 0; 运行时输入: This is a string.回车 则以下不能正确读人整个字符串: This is a string 到字符数组 s中的语句组是( )。(分数:1.00)A.i0;while(cge
8、tchar()!=n)si+c;B.gets(s);C.for(i0;(c=getchar()!=n;i+)si=c;D.scanf(“s”,s);20.有如下程序: (分数:1.00)A.B.C.D.21.有如下程序: (分数:1.00)A.3-4-B.1-2-3-C.0-1-2-D.0-1-2-3-22.有以下程序: (分数:1.00)A.1a0,b1B.0a1,b2C.1a1,b2D.0a0,b223.有如下程序段: for(i=0;i=5) break; 则循环结束后 i的值为( )。(分数:1.00)A.1B.0C.5D.1024.设有定义:int a0,b1;,以下表达式中,会产生
9、“短路”现象,致使变量 b的值不变的是( )。(分数:1.00)A.a+b+B.a+ | +bC.+ab+D.+a | +b25.有如下程序段: for(i0;i10;i+) if(i5) break; 则循环结束后 i的值为( )。(分数:1.00)A.10B.5C.9D.626.有以下程序段: (分数:1.00)A.最多可以输出 100个非负整数B.当 x0 时结束整个循环C.当 x0 时没有任何输出D.printf函数调用语句总是被跳过27.关于地址和指针,以下说法正确的是( )。(分数:1.00)A.通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量B.可以取一个常数的
10、地址赋值给同类型的指针变量C.可以取一个表达式的地址赋值给同类型的指针变量D.可以取一个指针变量的地址赋值给基类型相同的指针变量28.有以下程序: (分数:1.00)A.4,7,10,13B.1,6,11,16C.17,6,11,16D.5,13,21,2929.关于 C语言函数说明的位置,以下叙述正确的是( )。(分数:1.00)A.在函数说明之后对该函数进行调用,编译时不会出现错误信息B.函数说明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息C.函数说明只能出现在源程序的开头位置,否则编译时会出现错误信息D.函数说明只是为了美观和编译时检查参数类型是否
11、一致,可以写也可以不写30.以下叙述正确的是( )。(分数:1.00)A.不能在数组说明符的一对方括号中使用表达式B.char c1,*c2,*c3,c42;是 C语言的合法语句C.数组下标的最小值可以是负值D.若有数组定义 int array5;则语句 printf(“d“,array123);是合法的31.有以下程序: (分数:1.00)A.9,9B.8,9C.2,4D.0,432.有以下程序: (分数:1.00)A.M0#B.#F#C.MMMD.#N#33.有以下程序段; int m23,(*p)3; p=m; 则以下对 m数组元素的引用正确的是( )。(分数:1.00)A.(p+1)0
12、B.*(*(p+2)+1)C.*(p1+1)D.p1+234.有以下程序: (分数:1.00)A.you to Beijing!B.to Beijing!C.Welcome you to Beijing!D.Beijing!35.有以下程序: (分数:1.00)A.3,1,3B.3,2,1,2,3C.1,2,3,1,2,3D.1,2,3,2,136.有以下程序: (分数:1.00)A.6,8B.6,9C.6,6D.6,737.有以下程序: (分数:1.00)A.27B.11C.8D.1238.有以下程序: (分数:1.00)A.tooB.verygoodC.veryD.good39.以下叙述中
13、错误的是( )。(分数:1.00)A.函数中的形参属于局部变量B.在函数内部定义的变量只能在本函数范围内使用C.在函数外部定义的变量在所有函数中都有效D.在不同的函数中可以使用相同名字的变量40.有以下程序: (分数:1.00)A.6B.21C.123456D.654321二、程序填空题(总题数:1,分数:1.00)41.给定程序中,函数 fun的功能是:调用随机函数产生 20个互不相同的整数放在形参 a所指数组中(此数组在主函数中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。 不得增行或删行,也不得史改程序的结
14、构! 试题程序: (分数:1.00)_三、程序修改题(总题数:1,分数:1.00)42.下列给定程序是建立一个带头节点的单向链表,并用随机函数为各节点赋值。函数 fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数 fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1C 中,不要改动 main函数,不得增行或删行,也不得更改程序的结构! 试题程序: (分数:1.00)_四、程序设计题(总题数:1,分数:1.00)43.请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数值置的字母转换为大写(若该位置上不是
15、字母,则不转换)。 例如,若输入”abc4Efg“,则应输出”aBc4EFg“。 注意:部分源程序在文件 PROGlC 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序如下: (分数:1.00)_全国计算机等级考试二级 C语言真题题库 3+2015年 3月答案解析(总分:43.00,做题时间:90 分钟)一、选择题(每小题 1分,共 40分)(总题数:40,分数:40.00)1.下列关于算法复杂度叙述正确的是( )。(分数:1.00)A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关 C.对同
16、一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关解析:解析算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B 选项正确,D 选项错误。最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A 选项错误。不同的算法时间复杂度一般不相同,C 选项错误。2.设有栈 S和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出 3个元素依次入队,再将 X,Y,Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为( )。(分数:1.00)A
17、.DEFXYZABCB.FEDZYXCBA C.FEDXYZCBAD.DEFZYXABC解析:解析栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。队列是指允许在一端进行插入,而在另一端进行删除的线性表。将 A,B,C,D,E,F 入栈后,栈中元素为 ABCDEF,退出 3个元素入队,队列元素为 FED,将 X,Y,Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故 B选项正确。3.下列叙述中正确的是( )。(分数:1.00)A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.
18、节点中具有多个指针域的链表称为多重链表 解析:解析双向链表与二叉链表均是有两个指针域的链表,A 选项错误。在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由 NULL改为指向表头节点,这样的链表称为循环链表。循环队列是队列的一种顺序存储结构。循环链表与循环队列是两种存储结构,B 选项错误。双向链表节点有两个指针域,指向前一个节点的指针和指向后一个节点的指针,而带链的栈是单链表形式,C 选项错误。故正确答案为 D选项。4.某二叉树共有 845个节点,其中叶子节点有 45个,则度为 1的节点数为( )。(分数:1.00)A.400B.754C.756 D.不确
19、定解析:解析在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。对任何一棵二叉树,度为 0的节点(即叶子节点)总是比度为 2的节点多一个。二叉树共有 845个节点,度为 0的节点有 45个,度为 1的节点数为 n1,度为 2的节点数为 n2,则 84545+n1+n2,且 45n2+1,则n1756,C 选项正确。5.软件需求分析阶段的主要任务是( )。(分数:1.00)A.确定软件开发方法B.确定软件开发工具C.确定软件开发计划D.确定软件系统的功能 解析:解析需求分析阶段的工作可以分为 4个方面:需求获取、需求分析、编写需求规格说明书和需求评审,包括确定软件系
20、统的功能,D 选项正确。A、B、C 选项均为开发阶段工作。6.下面对软件测试描述错误的是( )。(分数:1.00)A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据 C.软件测试的目的是发现错误D.软件测试是保证软件质量的重要手段解析:解析在测试之前制定测试计划,并严格执行,测试用例的选择不可随意,应选择有代表性的,尽可能发现迄今为止尚未发现的错误,A 选项叙述正确,B 选项叙述错误。测试的根本目的是尽可能多地发现并排除软件中隐藏的错误,C 选项叙述正确。软件测试是保证软件质量、可靠性的关键步骤,D 选项叙述正确。故正确答案为 B选项。7.结构化程序的 3种基本控制结构是( )。(分
21、数:1.00)A.顺序、选择和重复(循环) B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析结构化程序的 3种基本控制结构:顺序、选择和重复,故 A选项正确。8.数据库中对概念模式内容进行说明的语言是( )。(分数:1.00)A.数据定义语言 B.数据操纵语言C.数据控制语言D.数据宿主型语言解析:解析数据库管理系统为完成主要功能提供了相应的数据语言,它们是:数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询与增、删、改等操作;数据控制语言,该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。数据
22、宿主型语言它要嵌入其他程序设计语言(如 COBOL、FORTRAN、PLI、汇编语言)。被嵌入的语言称为宿主语言,嵌入的语言称为子语言。数据库应用程序用宿主语言和子语言书写而成。故 A选项正确。9.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是( )。(分数:1.00)A.多对多 B.一对多C.多对一D.一对一解析:解析一般来说,实体集之间必须通过联系来建立联接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。每个仓库存放有不同的零件,相同零件可能放在不同的仓库中,故实体仓库和零件间的联系是多对多,A 选
23、项正确。10.有 3个关系 R、S 和 T如下: (分数:1.00)A.交 B.差C.并D.选择解析:解析用于查询的 3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡儿积。常用的扩充运算有交、除、连接及自然连接等。选择:从关系中找出满足给定条件的元组的操作称为选择,题目中无给定条件,放 D选项错误。差:R-S 结果是属于 R但不属于 S的记录组成的集合,T 中元组“c 32”同时属于 R和 S,B 选项错误。并:RS 是将 S中的记录追加到 R后面,T 中元组少于 R,故 C选项错误。交:RS 结果是既属于 R又属于 S的记录组成的集合,与题目中结果相符,故 A选项正确。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 题库 32015 答案 解析 DOC
