~本特利~ |
1.下列叙述中错误的是_
A、不管是顺序栈还是带链的栈,在操作过程中其栈底指针均是固定不变的。
B、带链栈的栈底指针在操作过程中是有可能改变的。
C、不管是顺序栈还是带链的栈,在操作过程中其栈顶指针均是动态变化的。
D、顺序栈的栈底指针在操作过程中是固定不变的。
本题考查的知识点是数据结构。
栈是一种特殊的线性表,是按照"先进后出,后进先出”的原则组织数据的。 链式结构则把每一个存储结点分两部分:一部分用于存储数据元素的值,称为数据域,另一部分用于存放下一个元素的序号,称指针域。带链的栈则可以通过指针域的变化改变原有的栈的组织数据原则;而顺序栈的栈底指针不变,栈顶指针改变,所以选项A错误。
所以本题答案为A。
2.设栈的顺序存储空间为S(1:m),初始状态为top=0,则栈中的数据元素个数为_
A、m-top
B、m-top+1
C、top
D、top-m
本题考查的知识点是栈。
由题目可知,该栈的数据由栈顶压向栈底,初始状态top = 0时,栈空,即栈中的元素个数为top。所以本题答案为C。
3.在具有n个结点的二叉树中,如果各结点值互不相同,但前序遍历序列与中序遍历序列相同,则该二叉树的深度为(根结点在第1层)
A、n
B、n/2+1
C、n+1
D、n-1
本题的考查知识点是二叉树的遍历。
二叉树的前序遍历步骤为首先访问根结点,然后前序遍历左子树,最后前序遍历右子树。中序遍历步骤为首先中序遍历左子树,然后访问根结点,最后中序遍历右子树。若前序遍历和中序遍历相同,则说明此二叉树每个结点均缺失了左结点,故二叉树每一层均有一个结点存在,所以深度为n。
所以本题答案为A。
二叉树的遍历
4.设栈的顺序存储空间为s(1:m),初始状态为top=m+1,则栈中的数据元素个数为_
A、m-top+1
B、top-m+1
C.m-top
D、top-m
本题的考查知识点是栈。
栈是限定在一端进行插入与删除的线性表。在栈的顺序存储空间S(1:m)中,S(bottom)通常为栈底元素(在栈非空的情况下),S(top)为栈顶元素。Top=0表示栈空;top=m表示栈满。入栈运算时指在栈顶位置插入一个新元素(即top加1)退栈运算是指取出栈顶元素赋给一个指定的变量(即top减1),因此栈内元组个数为m-top+1。
所以本题答案为A。
5.下列叙述中错误的是_
A、二分查找法只适用于顺序存储的线性有序表
B、所有二叉树都只能用二叉链表表示
C、有多个指针域的链表也有可能是线性结构
D、循环队列是队列的存储结构
本题考查知识点是数据存储结构。
在计算机中,二叉树通常采用链式存储结构。与线性链表类似,用于存储二叉树中各元素的存储结点也分为数据域和指针域。由于二叉树的存储结构中每一个存储结点由两个指针域,因此,**满二叉树和完全二叉树的链式存储结构也称为二叉链表。二叉树最多有两颗子树,如子树缺失的二叉树则不是二叉链表表示的,**所以选项B错误。
所以本题答案为B。
6.设栈的存储空间为S(1:50),初始状态为 top=-1。现经过一系列正常的入栈与退栈操作后,top=30,则栈中的元素个数为.
A、19
B、31
C、20
D、30
本题考查的知识点是栈。
栈是限定在一端进行插入与删除的线性表。在栈的顺序存储空间S(1:m)中,S(bottom)通常为栈底元素(在栈非空的情况下),S(top)为栈顶元素。Tog=0表示栈空,tog=m表示栈满。入栈运算时指在栈顶位置插入一个新元素(既top加1)退栈运算是指取出栈顶元素赋给一个指定的变量(即top减1),所以当top=30时,栈中元素也为30。
所以本题答案为D。
7.下列叙述中错误的是_
A、非线性结构中至少有一个根结点。
B、有一个以上根结点的必定是非线性结构。
C、有一个以上叶子结点的必定是非线性结构。
D、非线性结构中可以没有根结点与叶子结点。
本题的考查知识点是数据结构。
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。则该数据结构为线性结构。如果一个数据结构不是线性结构,则称之为非线性结构,所以A选项错误。
所以本题答案为A。
8.下列叙述中正确的是_
A、非线性结构可以为空。
B、只有一个根结点和一个叶子结点的必定是线性结构。
C、只有一个根结点的必定是线性结构或二叉树。
D、没有根结点的一定是非线性结构。
本题的考查知识点是数据结构。
线性结构与非线性结构都可以是空的数据结构,一个空的数据结构究竟是属于线性结构还是属于非线性结构,这要根据具体情况来确定,所以D选项错误,二叉树是非线性结构中的一种常见结构。二叉树有两个特点:①非空二叉树只有一个根结点,所以C选项错误;②每一个结点最多有两颗子树,且分别称为该结点的左子树与右子树,只有一个根结点和一个叶子结点可以构成一个二叉树,因此它可能是非线性结构,所以B选项错误。
所以本题答案为A。
9.某二叉树的中序遍历序列为CBADE,后序遍历序列为CBEDA ,则前序遍历序列为_
A、CBEDA
B、ABCDE
C、CBADE
D、EDCBA
本题的考查知识点是二叉树的遍历。
前序遍历的规则是:根结点→左子树→右子树,中序遍历是:左子树→根结点→右子树,后序遍历是:左子树→右子树→根结点。由后序遍历序列可知根结点是A,那么前序遍历一定是A结点开头,所以B选项正确。
所以本题答案为B。
10.下列叙述中正确的是
A、算法复杂度是指算法控制结构的复杂程度。
B、算法设计只需考虑结果的可靠性。
C、数据的存储结构会影响算法的效率。
D、算法复杂度是用算法中指令的条数来度量的。
本题考查的知识点是算法。
算法的设计要求包括效率与低存储量,即要考虑算法的时间复杂度与空间复杂度。因此选项B错误;算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量;一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间,因此选项A、D错误。
所以本题答案为C。
11.下列代码的下划线处应填入相同的类,该类是_。
import javax.swing.*;
public class Test{
public static void main (String args[]){
JFrame f=new JFrame () ;
f.setTitle("Menus") ;
f.setVisible(true) ;
f.setSize(500,400) ;
____ mb=new ____() ;
f.setJMenuBar(mb);
JMenu m=new JMenu("文件");
mb.add (m) ;
JMenultem mi=new JMenuItem("打开");
m.add (mi) ;
A、JMenultem
B、JMenu
C、JFrame
D、JMenuBar
本题考查的是编写图形用户界面。
本题程序定义了一个标题为Menus ,大小为500*400的窗体,并在窗体上插入一个菜单"文件",菜单项为"打开”(本题程序中,菜单项为隐藏,在拖动窗口大小后显示)。Swing的菜单结构和T的类似,菜单容器是菜单条Menusar,菜单是Jlenu,菜单项是JMenuItem,还有JChe ckBoallenuItem。 Swing的菜单结构使用起来更加灵活,可以通过setJMenuBar将菜单条放置到容器中的任意地方。
根据语句"f.setJMenuBar(mb);"可知,程序中两处填空应填:JMenuBar。故本题答案为D。
12.下列关于程序运行结果的描述中,错误的是___。
import javax.swing.*;
import java.awt.*;
public class Test {
public static void main(String[] args){
JFrame f=new JFrame () ;
JPanel p=new JPane1 () ;
f.setLayout(new BorderLayout ()) ;
f.getContentPane ().add(p,"Center") ;
p.setBackground(Color.blue) ;
f.setVisible(true) ;
f.setSize(200,200) ;
A、程序不能运行
B、显示一个窗口
C、窗口大小是200×200
D、窗口背景为蓝色
本题考查的是编写图形用户界面。
本题程序的功能是显示一个窗口,通过语句"f. setSize(200,200) ;"设置该窗口的大小为200×200,程序在顶层容器JFrame中加入面板JPanel,并将面板的背景色通过语句"p.setBackground(Color. blue);"设置为蓝色。
故本题答案为A。
13.继承是面向对象的一个重要特性,它可以_
A、优化程序的存储空间
B、使代码重用,降低程序复杂性
C、保证类和接口的安全
D、更容易地实例化类的对象
本题考查的是类的继承。
继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。故本题答案为B。
14.字符输出流类的直接父类是。
A、Writer
B、Reader
C、File
D、lOStream
本题考查的是输入输出流。
字符输出流类都是Writer抽象类的子类。故本题答案为A。
15.抽象类是__。
A、不能派生子类的类
B、不能实例化的类
C、所有方法都是抽象方法的类
D、方法体为空的类
本题考查的是抽象类。
在Java语言中,用abstract修饰符定义的类称为抽象类,在其中的方法称为抽象方法。abstract类必须被继承,abstract方法必须被重写, abstract类不能实例化。
故本题答案为B。
16.下列关于面向对象的论述中,正确的是
A、面向对象是指以对象为中心,分析、设计和实现应用程序的机制
B、面向对象是指以功能为中心,分析、设计和实现应用程序的机制
C、面向对象仅适用于程序设计阶段
D、面向对象是一种程序设计语言
本题考查的是Java语言的特点。
面向对象的语言将客观世界看成由各种对象组成,对象客观实体可定义成大的结构-类(class),每个类有自己的特性(属性)和操作(方法)。面向对象技术使复杂的问题可以分解化,大大提高了软件的重用性。与其他面向对象语言相比,Java利用面向对象技术更彻底。它把所有的Java应用和Aplet都看做对象,按类封装,其封装性实现了模块化和信息隐藏,继承性实现了代码重用,让用户可以自由地定义数据类型,建立自己的类库。
故本题答案为A。
17.下列命令中,__命令是Java的编译命令。
A、javac
B、java
C、 javadoc
D、appletviewer
本题考查的是Java运行过程。
Java有两类应用程序,Java Application和Java Applet。它们编译源代码时运用应用程序相同,即javac.exe。java.exe是用于Java Application程序解释执行的,若执行成功,显示结果;若执行有错,则显示错误报告。故本题答案为A。
18.实现一个线程有___种方法。
A、一种
B、三种
C、二种
D、四种
本题考查的是线程的实现。
在Java中可通过两种方法来产生一个线程。在Java中,可以通过继承类Thread来构造线程,即通过继承Threadl类并覆盖其中的run方法来生成一个线程。同时也可以通过建立一个实现了Runable接口的对象,并以其作为线程的目标对象来建立一个线程,通过这种方法可以打破Java中单一继承类方式的限制,在这种方法中,所有实现了Runnable接口的对象都是以线程方式在运行。
故本题答案为C。
19.对象状态持久化是通过_
A、文件
B、管道
C、串行化
D、过滤器
本题考查的是对象的永久化概念。
将Java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串行格式表示出来,以便以后读该对象时能够把它重构出来,故本题答案为C。
20.对JFrame添加构件有__种方式。
A、一种
B、两种
C、三种
D、四种
本题考查的是JFrame框架。对JFrame添加构件有两种方式:
1、用getContentPane()方法获得JFrame的内容面板,再对其加入构件frame. getContentPane().add(childComponent)。
2、建立一个Jpanel或JDesktopPane之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JFrame的内容面板:Jpanel contentPane=new Jpanel ();…//把其他构件添加到Jpanel中frame.setContentPane(contentPane);//把contentPane对象设置成为frame的内容面板。故本题答案为B。