国家二级(JAVA)笔试模拟试卷1(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷1 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 在深度为5的满二叉树中,叶子结点的个数为
A.32
B.31
C.16
D.15
正确答案:B
解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个叶子结点。这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
2. 若某二叉树的前序遍历访问顺序是abdscefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A.bdgcefha
B.gdbecfha
C.bdgaechf
D.gdbehfca
正确答案:D
解析:前序遍历的第一个结点a为树的根结点;中序遍历中a的左边的结点为a的左子树,a右边的结点为a的右子树;再分别对a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。
3. 一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A.栈
B.堆
C.数组
D.链表
正确答案:A
解析:一些较流行的程序语言允许过程的递归调用。递归调用就是过程调用本身。递归实现的是:当过程每一次执行后,都能返回到最近一次调用它的过程中。这样各调用点之间形成一种后进先出关系,而栈结构正适合来存储这些调用
点。
4. 软件工程的理论和技术性研究的内容主要包括软件开发技术和
A.消除软件危机
B.软件工程管理
C.程序设计自动化
D.实现软件可重用
正确答案:B
解析:软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
5. 开发软件时对提高开发人员工作效率至关重要的是
A.操作系统的资源管理功能
B.先进的软件开发工具和环境
C.程序人员的数量
D.计算机的并行处理能力
正确答案:B
解析:软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境的使用又进一步提高了软件的开发效率、维护效率和软件质量。
6. 在软件测试设计中,软件测试的主要目的是
A.实验性运行软件
B.证明软件正确
C.找出软件中全部错误
D.发现软件错误而执行程序
正确答案:D
解析:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能。
7. 数据处理的最小单位是
A.数据
B.数据元素
C.数据项
D.数据结构
正确答案:C
解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据
是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项C。
8. 索引属于
A.模式
B.内模式
C.外模式
D.概念模式
正确答案:B
解析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。
9. 下述关于数据库系统的叙述中正确的是
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
正确答案:B
解析:数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
10. 数据库系统的核心是
A.数据库
B.数据库管理系统
C.模拟模型
D.软件工程
正确答案:B
解析:数据库管理系统(Database Management System,简称DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。
11. 下列哪个选项不是Java的保留字?
A.TRUE
B.boolean
C.int
D.public
正确答案:A
解析:Java是区分大小写的,true是Java的保留字,而TRUE不是。boolean,
int和public都是Java的保留字。
12. 下列标识符中哪项是不合法的?
A.BigMeaninglessName
B.$int
C.1 st
D.1
正确答案:C
解析:在Java中标识符是赋予变量、对象、类和方法的名称。标识符可以由字母、数字、下划线“__”和美元符“$”组成,但数字不能开头,不能用关键字做标识符。
13. 在下列源代码文件Test.java中,哪个选项是正确的类定义?
A.public class test{ public int x=0; public test(int x )
{ this.x=x; } }
B.public class Test { public int x=0; public Test(int x )
{ this.x=x; } }
C.public class Test extends T1 T2 { public int x=0; public Test(int
x){ this.x=x; } }
D.protected class Test extends T2 { public int x=0; public Test(int
x) { this.x=x; } }
正确答案:B
解析:类声明格式为[修饰符]class类名[extends父类名][implements类实现的接口列表],选项A)中源文件名与程序名不相同,Java不支持多重继承所以选项C)错误,选项D)中类的访问权限不对应为public。
14. 为了区分类中重载的同名的不同的方法,要求
A.采用不同的形式参数列表
B.返回值的数据类型不同
C.调用时用类名或对象名做前缀
D.参数名不同
正确答案:A
解析:方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同(采用不同的形式参数列表)。程序可按参数列表决定调用对应的方法。
15. 类Test定义如下,将下列哪个方法插入③行处是不合法的? ①
public class Test { ② public float Method(float a,float b) { } ③
④ }
A.public float Method(float a,float b,float c) { }
B.public float Method(float c,float d){ }
C.public int Method(int a,int b){ }
D.private float Method(int a,int b,int c){ }
正确答案:B
解析:此题主要考查方法重载,方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同(采用不同的形式参数列表)。选项B)不符合方法重载的要求。
16. 给出下列的代码,则下列选项中哪个是类A合理的内部类? class
A { protected int i; A(int i)
{ this.i=i; } }
A.class B { }
B.class B extends A { }
C.class B extends A
{ B( ){System.out.println(“=“+i);}
}
D.class A { }
正确答案:A
解析:在定义内部类时,内外部类不能同名,不存在继承关系,可以把内部类当成类的成员。
17. 给出下列的程序代码片段,下列的哪个选项是不正确的? ① public
void create( ) { ② Vector my; ③ my=new Vector ( ); ④ }
A.第二行的声明不会为变量my分配内存空间
B.第二行语句创建一个Vector类对象
C.第三行语句创建一个Vector类对象
D.第三行语句为一个Vector类对象分配内存空间
正确答案:B
解析:要为一个新对象分配空间必须执行new Xxx( )调用,new调用执行以下的操作:①为新对象分配空间并将其成员初始化为0或者null。②执行类体中的初始化(例如在类中有一个成员声明int a=10;在第一步后a=0,执行到第二步后a=10)。③执行构造方法。④变量被分配为一个到内存堆中的新对象的引用。
18. 下列程序段的输出结果是 String MyStr = “Hello,”; MyStr = MyStr +
“World!”; System.out.println(MyStr);
A.Hello,World!
B.Hello,
C.World!
D.该程序段有语法错误
正确答案:A
解析:String类型可以直接使用“+”进行连接运算。
国家二级(JAVA)笔试模拟试卷154(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷154 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是______。
A.冒泡排序
B.选择排序
C.快速排序
D.归并排序
正确答案:A
解析: 从平均时间性能来看,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录元素基本有序或元素个数较少时,冒泡排序和简单选择排序是最佳排序方法。
2. 算法空间复杂度是指______。
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占用的存储空间
D.算法执行过程中所需要的存储空间
正确答案:D
解析: 一个算法的空间复杂度通常是指执行这个算法所需要的内存空间。
3. 下列关于队列的叙述中,正确的是______。
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
正确答案:C
解析: 队列是指允许在一端进行插入而在另一端进行删除的线性表。队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则。在队列中,队尾指针与队首指针共同反映队列中元素动态变化的情况。
4. 设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1。则T中的叶子结点的个数为 ______。
A.8
B.7
C.6
D.5
正确答案:A
解析: 将题中所述的树用图形表示,则可得叶子结点数目。
5. 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送______实现的。
国家二级(JAVA)笔试模拟试卷81(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷81 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 下面这个程序段的时间复杂度是( )。 for (i=1; i<n; i++)
{ y=y+1; for (j=0;3<-(2*n);j++) x++; }
A.O(log2n)
B.O(n)
C.O(nlog2n)
D.O(n2)
正确答案:D
解析:语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本例算法中,其中语句“y=y+1;”的频度是n-1,语句“x++;”的频度是(n-1)(2n+1)=2n2-n-1。则该程序段的时间复杂度是T(n)=n-1+n2-n-1=O(n2)。
2. 下列叙述中不正确的是( )。
A.线形表是线性结构
B.栈与队列是线性结构
C.线性链表是线性结构
D.二叉树是线性结构
正确答案:D
解析:一个线性结构需要满足以下两个条件:一是有且只有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。
3. 在一个长度为n的线性表中插入一个元素,最好情况下需要移动的数据元素数目为( )。
A.0
B.1
C.n
D.n/2
正确答案:A
解析:在一般情况下,要在第i个元素之前插入一个新元素时,首先是从最
后一个元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。最好情况指的是在线性表的最后插入一个新元素,则不需要移动表中元素。答案为 A。
国家二级(JAVA)机试模拟试卷80(题后含答案及解析)
国家二级(JAVA)机试模拟试卷80 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 将下面的程序补充完整。 注意:不改动程序结构,不得增行或删行。
import java.appplet.Applet; import java.awt.Graphics; public class ex1 extends
Applet { public void paint(Graphics______) { int
i=682;gap.drawstring(Integer.______(i),20,60); } }
正确答案:gap toString
解析:本题考查图形用户界面和字符串的使用。paint( )方法有一个参数gap是Graphics类的实例,当然gap是程序员自己起的名字,你也可以定义为abc,这都无妨,该实例由浏览器生成,它包含了Applet图形上下文信息,通过它向Applet中显示信息,该对象相当于 Applet的画笔。在调用paint( )方法时,由浏览器将该对象传给paint( )方法。由于在方法 drawstring( )前程序已经给出了对象名gap,因此,第1空填写gap。toString( )方法是Object自带的一个方法,用于返回该对象(在本题中是gap)信息的字符串,该字符串与对象相同类型。
简单应用题(40分)
2. 请完成下列Java程序:运行3个线程有自己的标志,用a,b,c表示,每个线程显示一个“Start”信息和一个“End”信息并且间隔地显示2个“Loop”信息(间隔变化为0.5~2秒之间的随机延迟)。 程序运行结果如下(注:由于事件间隔为随机数,所以,运行结果的顺序不唯一): a Start b Start c Start
国家二级(JAVA)笔试模拟试卷41(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷41 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 以下各特点中属于算法的基本特征的是( )。
A.不可行性
B.确定性
C.拥有部分的情报
D.无穷性
正确答案:B
解析:作为一个算法一般应具有几个基本特征:可行性、确定性、有穷性、拥有足够的情报,显然答案为B。
2. 考虑一年四季的顺序关系时下列数据元素前者不是后者前件的是( )。
A.春、夏
B.夏、秋
C.秋、冬
D.冬、秋
正确答案:D
解析:在具有相同特征的数据元素集合中,各个数据元素之间存在某种关系,这种关系反映了该集合中数据元素所固有的一种结构。这种关系用前件和后件来描述。考虑一年四季的顺序关序时,春是夏的前件,夏是秋的前件,秋是冬的前件。
3. 下列关于线性表叙述中不正确的是( )。
A.可以有几个节点没有前件
B.只有一个终端节点,无后件
C.除根节点和终端节点外,其他节点都有且只有一个前件,也有且只有一个后件
D.线性表可以没有数据元素
正确答案:A
解析:线性表要求只有一个根节点,它无前件,所以A是错误的。线性表要求只有一个终端节点,它无后件,B是正确的。线性表要求其他节点都有且只有一个前件,也有且只有一个后件,C是正确的。一个线性表中可以没有数据元素,称为空线性表,D是正确的。
4. 下面对对象概念描述错误的是( )。
A.任何对象都必须有继承性
B.对象是属性和方法的封装体
C.对象间的通信靠消息传递
D.操作是对象的动态属性
正确答案:A
解析:对象是面向对象方法中最基本的概念,对象可以用来表示客观世界中的任何实体,因此需要很清楚的理解对象的概念。因为客观世界的实体通常都具有静态和动态的属性,所以对象也具有静态和动态的属性。操作是对象的动态属性,属性是对象的静态属性。对象是属性和方法的封装体。面向对象是通过对象与对象间彼此的相互合作来推动的,对象间的相互合作需要传递消息。对象可以有继承性,但并不是任何对象都必须有继承性。
国家二级(JAVA)笔试模拟试卷15(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷15 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 对象状态的持久化是通过( )实现的。
A.文件
B.管道
C.串行化
D.过滤器
正确答案:C
2. 在下列叙述中,正确的是( )。
A.执行目标程序时,编译程序必须已在内存
B.词法分析、语法分析、目标代码生成是编译过程中几个必须经过的阶段
C.解释程序不产生目标程序,因此执行速度快
D.解释程序是用汇编语言写的源程序
正确答案:B
3. 下列( )是合法标识符。
A._book
B.5files
C.#NAME?
D.-3.14159
正确答案:A
4. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( )。
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
正确答案:B
5. 下列特点中,( )是Java虚拟机执行的特点之一。
A.字节代码
B.多进程
C.静态连接
D.编译
正确答案:A
6. 每个使用Swing构件的程序必须有一个( )。
A.按钮
B.标签
C.菜单
D.容器
正确答案:A
7. 在数据库系统阶段,数据( )。
A.具有物理独立性,没有逻辑独立性
B.具有逻辑独立性,没有物理独立性
C.物理独立性和逻辑独立性较差
D.具有较高的物理独立性和逻辑独立性
正确答案:D
8. 下列保留字书写正确的是( )。
A.Byte
B.NEW
C.long
D.Null
正确答案:C
9. 在设计程序时,应采纳的原则之一是( )。
A.不限制goto语句的使用
B.减少或取消注释行
C.程序越短越好
国家二级(JAVA)机试模拟试卷90(题后含答案及解析)
国家二级(JAVA)机试模拟试卷90 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 在程序中,用户使用JOptionPane输入一个二维数组的行数,程序随机生成每一行的列数,并对其赋值。最后显示这个二维数组。请填写横线处的内容。
注意:请勿修改main( )主方法和其他已有语句内容,仅在横线处填入适当语句。 import javax.swing.*; public class basic { public static void
main(String[] args) {String sDimU=JOptionPane.showInputDialog(“请输入数组的行数”);int iDimU=______(sDimU);int [].[] numbers=new int[iDimU] [];for(int
i=0; i<iDimU; i++){int k=(int) (Math.random( )*5+1);
numbers[i]=______;}for(int i=0; i<iDimU; i++){ for(int j=0;______; j++)
{ numbers[i] [j]=(int) (Math.random( )*l00); System.out.print(numbers[i]
[j]+” “); } System.out.println ( );}System.exit(O) } }
正确答案:Integer.parseInt new int[k] j<number[i].length
解析:本题考查知识点:基本数据类型包装类的使用,数组的使用。解题思路:首先, JOptionPane显示了一个可以输入数据的对话框,用户通过该对话框输入对话框的行数。第一个循环是对每一行分配存储空间,第二个循环是对已经分配好空间的二维数据进行赋值,并在赋值的过程中将数组显示出来。第1个空考查字符串和数值之间的相互转换。每一种基本数据类型的包装类都有各自的方法将字符串转换为相应的基本数据类型,转换为int型的方法是Integer.parseInt( )。第2个空考查多维数组的基本概念,多维数组的高维标识低维的名字,但是低维必须分配自己的存储空间。因此,此处需要用new关键字对每一行动态分配列空间。第3个空,由于多维数组的高维标识低维的名字,所以高维可以直接用来表示低维部分,使用方法跟普通数组一样。如本题中number[0]就表示一个用number[0]命名的一维数组。所以此处应该填写j<number[i].length。
国家二级(JAVA)笔试模拟试卷103(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷103 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 下列关于栈的叙述正确的是( )。
A.在栈中只能插入数据
B.在栈中只能删除数据
C.栈是先进先出的线性表
D.栈是先进后出的线性表
正确答案:D
2. 数据库、数据库系统和数据库管理系统之间的关系是( )。
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.三者没有明显的包含关系
正确答案:B
3. 开发软件需要高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。
A.软件投机
B.软件危机
C.软件工程
D.软件产生
正确答案:B
4. 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及( )。
A.数据的存储结构
B.计算方法
C.数据映象
D.逻辑存储
正确答案:A
5. 以下不属于对象的基本特点的是( )。
A.分类性
B.多态性
C.继承性
D.封装性
正确答案:C
6. 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。
A.冒泡排序为n/2
B.冒泡排序为n
C.快速排序为n
D.快速排序为n(n-1)/2
正确答案:D
7. 下列对于线性链表的描述中正确的是( )。
A.存储空间不一定连续,且各元素的存储顺序是任意的
B.存储空间不一定连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
正确答案:A
8. 设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,采用初始增量为4的希尔排序法,一趟扫描后的结果为( )。
国家二级(JAVA)机试模拟试卷75(题后含答案及解析)
国家二级(JAVA)机试模拟试卷75 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 10位同学参加某次团队测试,要求每位同学都必须及格、同时团队平均分不少于80分,整个团队才能够通过。每位同学的成绩可以通过随机数产生(0~100)。请在程序的每条横线处填写一条语句,是程序的功能完整。 注意:请勿改动main( )主方法和其他已有的语句内容,仅在横线处填入适当的语句。
源程序文件代码清单如下: ______; public class While { public
static void main(String args[]) { int fenshu=60; int
sumfenshu=0; int i=1; while((fenshu>=60)&&(i<=10) )
{ fenshu= (int)(__________); System. out. print in (fenshu+” “);
sumfenshu+=fenshu; i++; } System.out.println( );
if(_________) System. out. println ( “团队通过”) else System. out.println
(“团队测试不通过”); } }
正确答案:import java.math.*; Math.random( )*100
(i==10)&&((sumfenshu/10)>=80)
解析:本题主要考查while循环语句的用法。解答本题的关键是熟练使用while循环语句。在本题中,import java.math.*;是用来导入java.math这个数学计算包,Math.random( )*100语句是用来产生100个随机数,if((i==10)&&((sumfenshu/10)>=80))语句的功能是用来判断团队的人数是否为10、平均分数是否大于等于80。
国家二级(JAVA)机试模拟试卷106(题后含答案及解析)
国家二级(JAVA)机试模拟试卷106 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 请在下面程序中的每条横线处填写一个语句,使程序的功能完整。程序的输出结果为: TIME=1867 b=9 i=123 注意:请勿改动main( )主方法和其他已有的语句内容,仅在横线处填入适当的语句。
import java.io.*; public class DataType{ public______________void
main(String args[]) {byte b;int i;//定义变量i为int类型___________________________ //定义常量TIME为整型,且值为1867i=123;//给变量i赋值,该值为十进制的123__________________________________//给变量赋值,改值为,八进制的11,十进制的9System.out.println(“TIME”+TIME);System.out.println(“b=“+b);System.out.println(“i=“+i); } }
正确答案:Static final int TIME=1867; b=011;
解析:本题主要考查main( )主方法的使用以及如何定义常量。static修饰符是说明main( )方法是静态方法,final int TIME=1867;语句的功能是定义一个整型的常量TIME,并且其值为1867,b=011;语句是给变量b赋值为八进制的11,十进制的9。
简单应用题(40分)
2. 以下程序中,使用适当的布局管理器,在Frame框的“North”位置添加一句提示信息,在“South”位置添加一个单行文本框,在这个文本框中输入的内容将会显示在“Center”位置。运行结果如下图所示。 注意:请勿改动main( )主方法和其他已有语句内容,仅在横线处填入适当语句。
国家二级(JAVA)笔试模拟试卷127(题后含答案及解析)
国家二级(JAVA)笔试模拟试卷127 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 设一棵完全二叉树共有699个结点,则该二叉树中的叶子结点数为( )。
A.349
B.350
C.255
D.351
正确答案:B
解析:所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=699,故父结点数等于int(699/2)=349,叶子结点数等于 699-349=350。
2. 下述关于数据库系统的叙述中正确的是( )。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致
D.数据库系统比文件系统能管理更多的数据
正确答案:A
解析:由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。
3. 下列对队列的叙述中正确的是( )。
A.队列属于非线性表
B.队列按“先进后出”原则组织数据
C.队列在队尾删除数据
D.队列按“先进先出”原则组织数据
正确答案:D
解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。它又称为“先进先出”或“后
进后出”的线性表,体现了“先来先服务”的原则。
4. 下列叙述中正确的是( )。
