计算机等级考试二级Java练习题及解析(3)
1 算法的时间复杂度是指__算法执行过程中所需要的基本运算次数____
2 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为__350____。
3 结构化程序设计主要强调的是___程序的易读性___。
4 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是__ D、需求分析____
5 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是__控制流____。
6 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及___需求评审___。
7下述关于数据库系统的叙述中正确的是___数据库系统减少了数据冗余___。
8 数据库设计包括两个方面的设计内容,它们是__概念设计和逻辑设计____。
91以下 B 不是Java中有效的关键字。
A、const B、NULL C、false D、this
10 Panel默认的布局管理器是 A、FlowLayout 。
11 下面 B 方法与applet的显示无关。
A、update() B、draw() C、repaint() D、paint()
12下列 内容是异常的含义。
A、程序的语法错 B、程序编译或运行中所发生的异常事件 C、程序预定义好的异常事件 D、程序编译错误
13 当方法遇到异常又不知如何处理时,下列 C 做法是正确的。
A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常
14 计算机中的流是 D 。
A、流动的字节 B、流动的对象 C、流动的文件 D、流动的数据缓冲区
15 当检索一个压缩文件时,首先要建立压缩文件输入流对象。该对象 B 。
A、以选中的压缩文件为参数 B、以FileInputStream对象为参数
C、以InputStreamReader对象为参数 D、以BufferedReader对象为参数
16 一个Java Application运行后,在系统中是作为一个 B 。
A、线程 B、进程 C、进程或线程 D、不可预知
17 要串行化某些类的对象,这些类就必须实现 A 。
A、Serializable接口 B、java.io.Externalizable接口
C、java.io.DataInput接口 D、DataOutput接口
18 Swing构件的程序不具有 A 。
A、本地代码 B、标签 C、菜单 D、容器
19 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用goto语句。
20 软件的调试方法主要有:强行排错法、回朔法_和原因排除法。
21 数据库系统的三级模式分别为 概念级 模式、内部级模式与外部级模式。
22 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、 数据存储 和处理过程。
23 Java语言的各种数据类型之间提供两种转换:强制转换和 自动转换 。
24 Java语言中,临界区用 Synchronized 关键字标识。
解析:
1 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
软件生命周期的主要活动阶段为:
(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。
(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。
(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
2 数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。
3 软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。
需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。
需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。
4 标识符命名规则为:
1、标识符是以字母、下划线、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线、美元符和数字。
2、标识符区分大小写。
3、标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。
5 数组中length是属性,而字符串中是通过length()方法获得字符长度的,
6 对于二元算术运算符,其表达式结果的类型归纳为以下几类情况:
(1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。
(2)两个操作数全是byte型或short型,表达式结果也为int型。
(3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。
(4)两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。
7 BorderLayout是Window,Frame和Dialog的默认布局管理器。BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个构件。
8 FlowLayout是Panel和Applet的默认布局管理器。构件在容器中的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个构件先添加到容器中第一行的最左边,后续的构件依次添加到上一个构件的右边,如果当前行已放置不下该构件,则放置到下一行的最左边。构件的大小不随容器的大小改变而改变。
9 Applet显示相关的3个方法:
(1)、paint()方法:Applet的paint()方法具体执行Applet的绘制,该方法定义如下:
public void paint(Graphics g)
paint()方法有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。在调用paint()方法时,由浏览器将该对象传递给paint()方法。
(2)、update()方法:
public void update(Graphics g)
用于更新Applet的显示。该方法将首先清除背景,再调用paint()方法完成Applet的具体绘制。
(3)、repaint()方法:
public void repaint()
repaint()方法主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。
10 流,最早从C语言中引入的。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在Java中的java.io包中定义了Java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。其余的流都分别从这两个基本类中继承而来。
11 在java.io包中提供了对压缩文件进行操作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
12 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。
前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然先遍历右子树,然后访问根结点,最后遍历左子树。
13 调式的关键在于推断程序内部的错误位置及原因。其主要的调试方法有:强行排错法、回溯法和原因排除法。
强行排错法:是传统的调试方法,其过程可概括为:设置断点、程序暂停、观察程序状态、继续运行程序。这是目前使用较多、效率较低的调试方法。
回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现"症状"的位置。然后,从发现"症状"的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。
原因排除法:是通过演绎和归纳,以及二分法来实现的。
数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。
14 概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。
内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。
15 在Java语言中,异常机制是:一旦出现异常,可以由运行的方法或虚拟机生成一个异常对象,它包含异常事件的类型以及发生异常时程序的状态等信息。
16 异常对象从产生到被传递提交给Java运行系统的过程称为抛出(throw)异常。
一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用"synchronized"关键字标识。