第 1 页:练习题 |
第 7 页:参考答案 |
参考答案:
一、选择题
1.A。【解析】线性表的存储结构有顺序存储结构和链式存储结构。
2.C。【解析】根据满二叉树的定义,一棵深度为k且有
2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数。根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
3.C。【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。
4.B。【解析】在数据库系统中,需要对数据进行集合、统一的管理,以达到被多个应用程序共享的目标。
5.D。【解析】程序设计中,程序不要求长度,以结构清晰、易于理解为标准,程序员可以添加注释来助于理解,同时要尽量少用goto语句,否则会破坏程序的结构。
6.C。【解析】结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。
7.A。【解析】二叉树的遍历有3种:前序、中序和后序。中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点。分析本题二叉树,对其进行中序遍历,结果为ACBDFEG。
8.B。【解析】耦合性和内聚性是模块独立性的两个定性标准,软件设计应该遵循高内聚低耦合的准则。
9.A。【解析】算法的有穷性是指算法必须在执行有限的步骤后终止。
10.D。【解析】关系R与S经过交运算后所得到的关系是由那些既在R内又在S内的有序组组成的。记作R∩S。
11.B。【解析】若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。
12.D。【解析】根据快速排序的算法,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)为字符序列(Q,H,C,Y,P,A,M,s,R,D,F,x)经过快速排序的算法第一趟扫描后的结果。
13.D。【解析】算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量,也就是算法分析,因此选项D错误。算法设计一般采用由粗到细、由抽象到具体的初步求精的方法。
14.B。【解析】数据的存储结构是逻辑结构在计算机存储器中的实现。为了全面表示一个逻辑结构,它在存储器中的影响包括数据元素自身值的表示和数据元素的表示两方面。
15.B。【解析】顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[0]~R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mid].key 16.D。【解析】本题考查虚拟机执行过程的特点。Java虚拟机是编译器生成的字节码,不用考虑具体的硬件环境,实现一次编写,随处运行,实现其可移植性。虚拟机执行过程的特点有:多线程、动态连接、异常处理。代码安全检查是Java语言的一个突出特点,但不属于虚拟机执行过程特点。
17.A。【解析】本题考查考生对Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。Java语言是分大小写的,这一点在初学Java时需要特别注意,这一点与C语言有所不同,B选项错误。以//开始的应该是单行的注释语句,因此选项C错误。Java中有三类注释语句:文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信患。Java程序源文件名必须和public类名相同,否则编译出错,因此选项D错误。只有选项A说法正确。
18.C。【解析】本题考查实型变量科学计算格式的书写。在科学计算格式中,e或E是指数符,要求在e/E之前必须有数字,选项A错误。同时还要求在e/E之后必须是整数,选项B和选项D错误。虽然题目非常简单,但是不容易正确回答。正确答案为选项C。
19.C。【解析】本题考查Java语言中的进制换算。考生首先要清楚各种进制的表示方法,整型常量有3种书写格式:十进制整数,如156,-230,345;八进制整数:以0开头,如012表示十进制的l0;十六进制整数:以0x或0X开头,如0X123表示十进制数291。选项A是十进制的15,选项B和选项D都是十六进制中的F相当于十进制的15,选项C为八进制,以0开头,此处Ol5相当于十进制的13,与其他选项不同。
20.D。【解析】本题考查考生对位运算符中无符号右移运算符的掌握。无符号右移运算符>>>,也叫逻辑右移,用于将一个数的各二进制位全部无符号右移若干位,与运算符>>不同的是左补0,而>>则是最高位移入原来高位的值。在本题中,8的二进制表示是1000,右移一位后变成了0100,对应的十进制数是4。可见,正确答案为选项D。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |