2015年9月全国计算机等级考试二级《C语言》真题二及详解

上传人:lqh1****020 文档编号:88763368 上传时间:2019-05-09 格式:DOC 页数:11 大小:81KB
返回 下载 相关 举报
2015年9月全国计算机等级考试二级《C语言》真题二及详解_第1页
第1页 / 共11页
2015年9月全国计算机等级考试二级《C语言》真题二及详解_第2页
第2页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《2015年9月全国计算机等级考试二级《C语言》真题二及详解》由会员分享,可在线阅读,更多相关《2015年9月全国计算机等级考试二级《C语言》真题二及详解(11页珍藏版)》请在金锄头文库上搜索。

1、2015年9月全国计算机等级考试二级C语言真题二(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中错误的是( )。A 数据结构中的数据元素不能是另一数据结构B 数据结构中的数据元素可以是另一数据结构C 空数据结构可以是线性结构也可以是非线性结构D 非空数据结构可以没有根节点答案:A解析数据元素是一个含义很广泛的概念,它是数据的“基本单位”,在计算机中通常作为一个整体进行考虑和处理。数据元素可以是一个数据也可以是被抽象出的具有一定结构的数据集合,所以数据结构中的数据元素可以是另一数据结构。满足有且只有一个根节点并且每个节点最多有一个前件,也最多有一个后件的非空

2、的数据结构被认为是线性结构,不满足上述条件的结构为非线性结构。空数据结构可以是线性结构也可以是非线性结构。非空数据结构可以没有根节点,如非性线结构“图”就没有根节点。故选A选项。2. 为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。所谓原地工作是指( )。A 执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)B 执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化C 执行算法时不使用额外空间D 执行算法时不使用任何存储空间答案:A解析算法的空间复杂度是指执行这个算法所需要的内存空间,包括输人数据所占的存储空间、程序本身所占的存储空间

3、、算法执行过程中所需要的额外空间。如果额外空间量相对于问题规模(即输人数据所占的存储空间)来说是常数,即额外空间量不随问题规模的变化而变化,则称该算法是原地工作的。故选A选项。3. 某循环队列的存储空间为Q(1:m),初始状态为frontrearm。现经过一系列的入队操作和退队操作后,frontm,rearm-1,则该循环队列中的元素个数为( )。A m-1B mC 1D 0答案:A解析循环队列长度为m,由初始状态为frontrearm,可知此时循环队列为空。入队运算时,首先队尾指针进1(即 rear+1),然后在rear指针指向的位置插入新元素。特别的,当队尾指针rearm+1时,置rear

4、1。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针frontm+1时,置front1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。如果rear-front0,则队列中的元素个数为rear-front个;如果rear-front0,则队列中的元素个数为rear-front+m。该题中m-1m,即rear-front0,则该循环队列中的元素个数为(m-1)-m+mm-1。故选A选项。4. 某棵树只有度为3的节点和叶子节点,其中度为3的节点有8个,则该树中的叶子节点数为( )。A 15B 16C

5、 17D 不存在这样的树答案:C解析树是一种简单的非线性结构,直观地来看,树是以分支关系定义的层次结构。在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。由于只有度为3的节点和叶子节点,可知最后一层都为叶子节点,倒数第二层一部分节点度为3,一部分为叶子节点,其余的节点的度均为3,计算度为3的节点总数(33-1-1)28(34-1-1)2可知,树共有4层,前两层有度为3的节点(33-1-1)24个,第三层有339个节点,其中4个是度为3的节点,5个是叶子节点,所以该树中的叶子节点数为43+517。故选C选项。5. 某二叉树共有530个节点,其中度为2的节点有250

6、个,则度为1的节点数为( )。A 29B 30C 249D 251答案:A解析在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。对任何一棵二叉树,度为0的节点总是比度为2的节点多一个。二叉树节点总数为530,度为2的节点有250个,则度为0的节点有251个,那么度为1的节点个数为530-250-25129。故选A选项。6. 若某二叉树中的所有节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,则该二叉树遍历序列中有序的是( )。A 前序序列B 中序序列C 后序序列D 以上说法均可以答案:B解析二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和

7、访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左于树和访问右子树之后)。由于节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,那么只要遍历时访问根节点在访问左于树和右子树之间,遍历序列有序,即中序序列有序。故选B选项。7. 将C语言的整数设为整数类I,则下面属于类I实例的是( )。A -103B 10E3C 103D “0103”答案:A解析整数类实例包括:十进制常量用09表示,不能以0开头;八进制常量用07表示,必须用0开头;十六进制常量用09和AF(af)表示,必须以0x或0X开头。本题中B选项是科学计数法表示的浮点数实例

8、,C选项是浮点数实例,D选项是字符串实例。故选A选项。8. 下列叙述中正确的是( )。A 软件包括程序、数据和文档B 软件包括程序和数据C 软件包括算法和数据结构D 软件包括算法和程序答案:A解析计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。故选A选项。9. 软件生命周期是指( )。A 软件的定义和开发阶段B 软件的需求分析、设计与实现阶段C 软件的开发阶段D 软件产品从提出、实现、使用维护到停止使用退役的过程答案:D解析通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。A、B、C选项均为生命周期的

9、一部分。故选D选项。10. 下列叙述中正确的是( )。A 数据库系统可以解决数据冗余和数据独立性问题,而文件系统不能B 数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件C 数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少D 数据库系统独立性较差,而文件系统独立性较好答案:A解析数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。三者各自的特点如下表所示。数据库系统可以解决数据冗余和数据独立性问题,而文件系统不能。数据库系统和文件系统的区别不仅在于管理的文件类型与数据量的多少,数据库系统具有高度的物理独立性和一定的逻辑独立性,而文件系统独立性较好。

10、故本题答案为A选项。11. 关于程序模块化,以下叙述错误的是( )。A 程序模块化可以提高程序运行的效率B 程序模块化可以提高程序编制的效率C 程序模块化可以提高程序代码复用率D 程序模块化可以提高调试程序的效率答案:A解析模块化程序的优点:(1)易于维护和复用,可以提高程序编制的效率;(2)易于分工合作;(3)易于模块化调试测试。模块化程序的副作用:(1)可能会降低程序运行效率;(2)设计的前期工作需要多花费时间。可知B,C,D选项正确。答案为A选项。12. 以下正确使用C语言标识符的是( )。A 3B #3C _3D -3答案:C解析C语言合法标识名的命名规则是:(1)标识符由字母、数字和

11、下划线组成;(2)第一个字符不能是数字只能是字母或下划线。A选项的第一个字符为,非法;B选项,第一个字符为#,非法;D选项,第一个字符为-,非法。答案为C选项。13. 若有定义:int a,b,c;以下程序段的输出结果是( )。a11;b3; c0;printf(”dn”,c(ab,ab);A 2B 0C 3D 1答案:A解析C语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,

12、并以最右边表达式的值作为整个逗号表达式的值。因此变量c的值为ab即1132。故答案为A选项。14. 以下选项中合法的C语言常量是( )。A C-STRB 20141C ”10D 2EK答案:B解析所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。A选项是字符串,但使用单引号,错误;C、D选项,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。15. 设有定义:int x,y,z;,且各变量已赋正整数值,则以下能正确表示代数式“”的C语言表达式是( )。A 10xyzB 1x*y*zC 1

13、(x*y*z)D 1xy(double)z答案:A解析代数表达式1(xyz)是小数,转为C语言的表达式必须是小数。A选项由于10为浮点数,计算结果自动转换为浮点数,故A选项正确。B、C、D选项的表达式均为0。答案为A选项。16. 有以下程序:当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)12CR34CR则输出结果是( )。AB 12C 1234D答案:A解析scanf()函数从标准输入输出中读入两个字符1、2分别赋给变量a、b,遇到回车自动结束,但回车符已经存入缓冲区,函数getchar()将从中接受了回车符,故c被赋值为回车符,第二个getchar()读人

14、字符3,因此a1,b2,c,d3。故答案为A选项。17. 有以下程序:执行时输入:123回车,则输出结果是( )。A 2,2,3,4,4,4,B 2,3,4,C 2,2,3,4,D 2,3,3,4,5,6,答案:C解析continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。在switchcase语句中,如果没有break会导致多个分支重叠。因此,输人1,2,3,则执行case 1:printf(d,b+1);case 2:printf(d,b+1);continue;后结束。2则执行case 2:printf(”d,b+1);continue;3则执行default:printf(d,b+1);continue;得到的结果是2,2,3,4。故答案为C选项。18. 有以下程序:执行时输入:36 24回车,则输出结果是( )。A 2400000B 1500000C 1600000D 2000000答案:A解析题目中程序执行过程中关键语句zx/y的结果为:z15,if条件成立,得x24,y24,z10,下一次循环if条件不成立跳出循环,按照格式打印y值为2400000。故答案为A选项。19. 有以下程序:执行时输入:0后,则输出结果是( )。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 公务员考试

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号