1、国家二级( JAVA)笔试模拟试卷 47及答案与解析 1 下列各数据结构中不属于线性结构的是 ( )。 ( A)线形表 ( B)栈与队列 ( C)线性链表 ( D)二叉树 2 以下各项特点中,属于线性表的顺序存储结构的是 ( )。 ( A)线性表中所有元素所占的存储空间是不连续的 ( B)线性表的数据元素在存储空间中是随便存放的 ( C)线性表中所有元素所占的存储空间是连续的 ( D)前后件两个元素在存储空间是随便存放的 3 下列关于栈的叙述中不正确的是 ( )。 ( A)在栈中能插入数 据 ( B)在栈中能删除数据 ( C)栈是先进先出的线性表 ( D)栈是先进后出的线性表 4 下列关于链式
2、存储的叙述中正确的是 ( )。 ( A)链式存储结构的空间不可以是不连续的 ( B)数据节点的存储顺序与数据元素之间的逻辑关系必须一致 ( C)链式存储方式只可用于线性结构 ( D)链式存储也可用于非线性结构 5 对于输入输出,在设计和编程时都应该考虑的原则是 ( )。 ( A)对部分输入数据检验其合法性 ( B)不允许默认值 ( C)输入一批数据时,最好使用输入结束标志 ( D)输入数 据时,不允许使用自由格式 6 下面内容不属于软件危机的是 ( )。 ( A)软件质量难以保证 ( B)软件的成本不断提高 ( C)软件需求增长缓慢 ( D)软件不可维护或维护程度非常低 7 数据字典 (DD)
3、 是定义以下哪种系统描述工具中的数据的工具 ? ( ) ( A)数据流程图 ( B)系统流程图 ( C)程序流程图 ( D)软件结构图 8 一个关系数据库文件中的各条记录 ( )。 ( A)前后顺序不能任意颠倒,一定要按照输入的顺序排列 ( B)前后顺序可以任意颠倒,不影响库 中数据的关系 ( C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 ( D)前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列 9 对排序文件的初始状态不作任何要求的排序方法有 ( )。 ( A)直接插入和快速排序 ( B)直接插入和归并排序 ( C)归并和快速排序 ( D)归并和直接选择排序 10
4、概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是 ( )。 ( A)把软件划分成模块 ( B)确定模块之间的调用关系 ( C)确定各个模块的功能 ( D)设计每 个模块的伪代码 11 Java程序的执行方式是 ( )。 ( A)即时编译方式和非解释执行方式 ( B)非即时编译方式和非解释执行方式 ( C)非即时编译方式和解释执行方式 ( D)即时编译方式和解释执行方式 12 下列选项中属于 Java核心包的是 ( )。 ( A) javax.swing ( B) javax.naming ( C) javax.sound ( D) java.io 13 当从现存类中派生出新类时,
5、不能在派生类中做的是 ( ); ( A)增加新的成员变量 ( B)增加新的 成员方法 ( C)重新定义已有的成员方法 ( D)改变父类的数据成员或成员方法 14 有如下程序 public class Test int a,b; Test() a=100; b=200; Test(int x,int y) a = x; b = y; public static void main(String args) Test Obj1=new Test(12,45); System.out.println(“a = “Obj1.a+“ b= “+Obj1.B) ; Test Obj1=new Test()
6、; System.out.println(“a = “Obj1.a+“ b= “+Obj1.B) ; 程序的运行结果为 ( )。 ( A) a=100 b=200 a=12 b=45 ( B) a=12 b=45 a=100 b=200 ( C) a=12 b=200 a=100 b=45 ( D) a=100 b=45 a=12 b=200 15 下列关于 Java变量作用域的说法中,不正确的是 ( )。 ( A)在 Java程序中要使用一个变量,必须先对其进行声明 ( B)变量声明语句可以在程序的任何地方,只要在变量使用之前即可 ( C)变量不可以在其作用域之外使用 ( D)局部变量在使用
7、之前可以不初始化,系统使用默认的初 始值 16 Java的字符类型采用的是 Unicode编码方案,每个 Unicode码占用 ( )个字节。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 17 下面哪个语句会产生编译错误 ? ( ) ( A) float F=4096.0F; ( B) double D=4096.0; ( C) byte B=4096; ( D) char C=4096; 18 若给下面的方法传入参数 67时,输出结果为 ( )。 public int MaskOff(int N) return N3; ( A) 3 ( B) 64 ( C) 67 ( D) 0
8、19 在 Java中,存放字符串变量的对象属于 ( )类对象。 ( A) Character ( B) String ( C) StringBuffer ( D) Vector 20 若有说明 int s34=0,则下面叙述正确的是 ( )。 ( A)只有元素 sO0可得到初值 0 ( B)此说明语句不正确 ( C)数组 s中各个元素都可得到初值,但其值不一定为 0 ( D)数组 s中每个元素均可得到初值 0 21 表达式 -31 5 5 5 5 5 5值为 ( )。 ( A) NULL ( B) -1 ( C) 3 ( D) 1024 22 有如下程序 public class Sun pu
9、blic static void main(String args ) int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2: a+; b+; System.out.println(“a=“+a+“,“+“b=“+B) ; 该程序的输出结果是 ( )。 ( A) a=2,b=1 ( B) a=1,b=1 ( C) a=1,b=0 ( D) a=0,b=0 23 有以下程序 public class Sun public static void main(string args ) int a, b; for(a=1, b=1; a =1
10、00; a+) if(b =10) break; if (b%3=1) b+=3; continue; System.out.println(A) ; 执行后的输出结果是 ( )。 ( A) 101 ( B) 6 ( C) 5 ( D) 4 24 执行以下的循环后输出的值为 ( )。 public class Sun public static void main(String args ) int m=1000,s=0,n=0; do n=n+1; s=s+(int)Math.pow(2,n); while(s =m); System.out.println(“n=“+n+“,“+“s=“+
11、s); ( A) n=9,s=1000 ( B) n=8,s=1022 ( C) n=9,s=1022 ( D) n=8,s=1000 25 Java的线程调度采用的策略是 ( )。 ( A)先到先服务 ( B)先到后服务 ( C)后到先服务 ( D)不确定 26 在串行化类中实现部分串行化的两个方法为 ( )。 ( A) writeExtemal()和 readExtemal() ( B) writeObject()和 readObject() ( C) DataInput()和 DataOutput() ( D) read()和 write() 27 当使用对现存文件的引用创建 FileO
12、utputStream (filename,false)时,发生了什么事情 ? ( ) ( A)引发异常 ( B)写入到流中的数据将追加在现存文件之后 ( C)将用写入到流中 的数据替换现存文件 ( D)文件不发生变化 28 集合类容纳的对象可以是 ( )。 ( A) Boolean ( B) byte ( C) Object ( D) char 29 Java图形开发包支持了 Java语言的哪项特性 ( )。 ( A)安全性 ( B)跨平台性 ( C)健壮性 ( D)多态性 30 下列说法中,错误的是 ( )。 ( A)事件源可以是一个构件 ( B)事件在 java语言中以类的形式出现 (
13、C)事件处理者可以是一个构件 ( D)事件处理者接收事件对象,然后做出相应的 处理 31 Swing中要响应动作事件必须实现 ActionListener接口,而实现 ActionListenrer接口必须实现的方法是 ( )。 ( A) actionPerformed() ( B) focusGained() ( C) actionMoved() ( D) focusLost() 32 用 HTML文件显示 Applet时,下面哪些属性是必不可少的 ? ( ) ( A) name,height,width ( B) code,nalnc ( C) codebase,height,width
14、( D) code,height,width 33 关于 Applet的生命周期,叙述正确的是 ( )。 ( A) init()方法在 start()方法之前执行 ( B) init()方法在 start()方法之后执行 ( C) stop()在 Applet退出时被调用,只调用 1次 ( D) stop()在 Applet可见时被调用,可以被调用多次 34 下列属于 Java编译命令的是 ( )。 ( A) javac ( B) java ( C) javadoc ( D) appletviewer 35 下 列关于 J2EE的特点的说法中错误的是 ( )。 ( A) J2EE的基础是 J2
15、SE ( B) J2EE提供高度的安全性支持 ( C)支持事务处理和异步通信 ( D)支持面向过程的 Web开发 36 数据的逻辑结构可用一个二元组 B=(K, R)来表示,其中 K是【 】, R是【 】。 37 设栈 S和队列 Q的初始状态为空,元素 e1、 e2、 e3、 e4、 e5和 e6依次通过栈S,一个元素出栈后即进入队列 Q,若 6个元素出队的顺序是 e2、 e4、 e3、 e6、e5、 e1则栈 S的容量至少应是【 】。 38 下图所示 的二叉树的先序遍历序列是【 】。 39 数据库管理系统是位于【 】之间的软件系统。 40 有以下程序 #include lostream us
16、ing namespace std; int main() int i=010,j=10; cout (+i) “,“ j- endl; return 0; 则该程序运行后的输出结果是【 】。 41 每个 Java应用程序可以包括许多方法,但必须有且只有一个【 】方法。 42 Java语言的各种数据之间提供两种转换:【 】和强制转换。 43 在 Java中,将程序里出现的对象保存在外存中,称为【 】。 44 有如下代码段,请填写完整所缺的部分。 import java.util.Vector; import java.io.*; public class Test_Ser public sta
17、tic void main(String args) throws Exception Vector v = new Vector(); /生成一个向量表 v.add(new String(“Test String“); /增加一个字符串对象 FileOutputStream ostream = new FileOutputStream(“d:test.ser“); /构造文件输出流 ObiectOutputStream p =【 】; /绑定 p.writeObject(v); /输出继承了串行化接口的类 p.flush(); p.close(); ostream.close(); v.cl
18、ear(); /清空向量表,此时的 v.size()应该为 0 FileInputStream istream=new FileInputStream(“d:test.set“); /构造文件输入流 ObjectInputStream pr = new ObjectInputStream(istream); /绑定 v = (Vector)pr.readObject();0 /读入串行化的类 istream.close(); System.out.println(“v.size()=“+v.size(); /验证读入类的正确性 System.out.println(“v.get(0)=“+(S
19、tring)v.get(0); 45 BufferInputStream类是【 】类的子类。 46 阅读下面代码: import java.awt.*; public class Exam11_2 public static void main (String args) _; f.add(“North“,new Button(“North“); f.add(“South“,new Button(“South“); f.add(“East“,new Button(“East“); f.add(“West“,new Button(“West“); f.add(“Center“,new Butto
20、n(“Center“); f.pack(); f setVisible(true); 请在程序中的画线处添上适当的语句【 】,使程序能正确执行。 47 Java图形用户界面编程中的最基本组成部分是【 】。 48 Applet工作在图形方式下,向其中绘图、显示动画等都需要使用方法【 】。 49 变量名、【 】首单词小写,其余单词只有首字母大写。 50 下列 JApplet对鼠标单击事件进行处理,当鼠标在 JPanel中单击时,在 JLabel中显示单击次数。请在横线处填写正 确的代码【 】。 import java.awt.event.*; import javax.swing.*; impor
21、t java.awt.*; public class Test extends JApplet static int cnt; public void init() Container cp = getContentPane(); MyPane jp = new MyPanel(); _; jp.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent me) cnt +; jb.setText(Integer.toString(cnt); ); cp.add(“South“,jB) ; cp.add(“Ce
22、nter“,jp); class MuPanel extends JPanel public MyPanel() public void paintComponentGraphics g) super.panitComponent(g); g.drawRect(0,O,getSize() .width-1,getSize() .hight-1); 国家二级( JAVA)笔试模拟试卷 47答案与解析 1 【正确答案】 D 【试题解析】 一个线性结构需要满足以下两个条件:一是有且只有一个根节点;二是每个节点最多有一个前件,也最多有一个后件。选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它
23、们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点 最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。 2 【正确答案】 C 【试题解析】 线性表的顺序存储结构要求;线性表中所有元素所占的存储空间是连续的,并且线性表的数据元素在存储空间中是按逻辑顺序依次存放的。因此,选项 A、 B是错误的。在线性表的顺序存储结构中,前后件两个元素在存储空间中是紧邻的,因此,选项 D也是错误的, 3 【正确答案】 C 【试题解析】 栈是一种线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,插入和删除运算都只在线性表的一端进行。即在这种线性表中,
24、一端是封闭的,不允许进行插入与删除元素;一端是开口的,允许进行插入与删除元素。选项 A、 B是正确的。栈是一种先进后出的线性表。 4 【正确答案】 D 【试题解析】 链式存储结构不同于顺序存储结构,它的存储空间可以是不连续的,并且数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系是由指针域来确定的。链式存储方式可用于线性结构,也可用于非线性结构,在表示复杂的非线性结构时,指针域的个数要多一些。 5 【正确答案】 C 【试题解析】 输入输出信息是用户直接关心的,输入输 出方式和格式应尽可能方便用户的使用,因为系统能否被用户接受,往往取决于输入输出的风格。好的输入输出风格
25、对所有输入数据检其合法性,允许默认值,并且在输入数据时,允许使用自由格式。 6 【正确答案】 C 【试题解析】 所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。选项 A、 B、 D都属于软件危机的一种表现,软件危机还包括软件需求的增长得不到满足、软件开发成本和进度无法控制和软件开发生产率的提高赶不上硬件的发展和应用需求的增长。 7 【正确答案】 A 【试题解析】 本题考 查数据字典的作用,数据字典是对数据流程图中出现的被命名的图形元素的确切解释。 8 【正确答案】 B 【试题解析】 关系数据库的逻辑性强而物理性弱,因此关系数据库中的各条记录前后顺序可以任意颠倒,不影响库
26、中数据的关系。 9 【正确答案】 A 【试题解析】 只有归并排序要求待排序文件 “部分排序 ”(把待排序的文件分成若干个子文件,每个子文件内的记录是已排序的 )。 10 【正确答案】 D 【试题解析】 概要设计是数据库的总体设计,其目的就是要根据需求规格说明书把软件按照功能划分为多个模 块,然后确定每个模块要实现的功能,最后确定模块之间的调用关系。而设计每个模块的伪代码则属于详细设计。所以只有最后一个不属于概要设计范畴。 11 【正确答案】 D 【试题解析】 该题考查考生对 Java程序的执行方式的掌握。 Java字节码的执行有两种方式:即时编译方式和解释执行方式。 12 【正确答案】 D 【
27、试题解析】 Java类库中主要包括核心 iava包、 javax扩展包和 org扩展包。此题中 javax.swing、 javax.naming、 javax.sound都为 javax扩展包,只 有 java.io为核心包。 13 【正确答案】 D 【试题解析】 一个类可以继承其父类的所有成员变量和方法,还可以重新定义父类的成员方法,但不能改变父类的数据成员。故本题的答案是 D。 14 【正确答案】 B 【试题解析】 本题考查构造方法及构造方法重载。在上面的程序中,类 Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据
28、参数对类的实例变量进行赋值。 15 【正确答案】 D 【试题解析】 局部变量在使用之前必 须初始化,否则编译错误,类的成员变量则不一定要在使用之前初始化,系统赋予其默认的初始值。 16 【正确答案】 B 【试题解析】 本题具体考查 Java语言对字符类型编码方案的理解。与 C+语言不同, Java的字符类型采用的是 Unicode编码方案,而 Unicode编码方案每个字符占用 2个字节。故本题答案是 B。 17 【正确答案】 C 【试题解析】 该题考查对基本数据类型的定义以及基本数据类型的取值范围的掌握。选项 A正确, Java语言默认的实型数的形式是 double类型的,要把它赋给floa
29、t类型的变量,必须在实型数后面加上 f或 F字母;选项 B是正确的;选项 C是错误的, 4069已经超出了 byte类型的所能容许的范围 -128 127;选项 D是正确的,因为在 Java语言里,字符是用双字节表示的, 4096在它允许的范围之内。故本题答案是 C。 18 【正确答案】 B 【试题解析】 本题考查对位运算符的掌握。 MaskOff()函数有一个参数 N,该方法将传入的参数 N与 3进行异或运算之后的结果返回。符号 “”用于将两个参与运算的数据进行按位求异或运算,如果两个操作数对应位相同,则该位的结果为 0,否则结果为 1。即: 11=0, 10=1, 01=1, 00=0。在
30、本题中, 67的二进制数是01000011, 3的二进制数是 00000011,它们俩进行异或运算后的结果为 01000000,其十进制数为 64。故本题答案是 B。 19 【正确答案】 C 【试题解析】 本题考查对字符串对象的理解。在生成字符串的两个类 String和StringBuffer中,前者生成的字符串是不变字符串,不能直接对它的内容进行修改,而后者生成的字符串是可变的,可以对其内容进行修改。而 Character类是对字符类型的 类封装。 Vector类是 Java语言提供给用户的一种通用类,是一种链表结构的类型。故本题答案是 C。 20 【正确答案】 D 【试题解析】 本题考查数
31、组的定义和初始化。数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。不足部分的数组元素系统自动以 0填充。故本题答案是 D。 21 【正确答案】 C 【试题解析】 此题可采用排除法。由题目中的表达式,一定会得出一个有效整数,故选项 A不对。由于第 1个运算符是无符号右移运算符 ,故运算结果不可能为负 数,选项 B错误。而且,由于初始值最多会被右移 31次,故不可能产生一个运算结果等于 1024的数,选项 D也错误。此题应选 C。 22 【正确答案】 A 【试题解析】 该题考查对 switch-case-break语句的理解。该题 x=1与 case
32、 1语句匹配,执行 a+语句, a的值为 1,而 case 1语句后没有 break语句,所以程序继续向下执行 case 2语句, a+, b+, a的值为 2, b的值为 1。故本题答案选项是A。 23 【正确答案】 D 【试题解析】 本题考查 for循环和 if语句的嵌套以 及 break语句和 continue语句的用法。第 1个 if语句的意义为:当 b =10时退出 for循环。第 2个 if语句的意义为:如果 b%3=1时, b的值加 3并退出本次循环。本程序当 b的值分别为 1、4、 7的时候执行 3次循环,此时 a=3, b=10,当执行第 4次循环时, a的值为 4但b=10
33、,所以退出循环程序结束。答案 A没有考虑 for循环中的两个 if条件。 24 【正确答案】 C 【试题解析】 本题考查对 do-while循环的理解。本题完成的功能是求当20+21+22+2n 最少需要多少项时才能满足大于数值 m。 m=1000,当程序运行到第 8次时,循环测试条件仍然为真,所以继续执行 1次,当执行到第 9次时, s的值已经超过了 1000。故本题答案是 C。 25 【正确答案】 A 【试题解析】 本题考查的是线程的基本概念。选项 A正确,安排线程队列中等待 CPU时间的线程被 CPU服务,称为线程调度。 Java的线程调度采用优先级基础上的先到先服务策略;选项 B和选项
34、 C错误,其实它们是同一个意思;选项 D错误,在有些操作系统和有些语言中线程调度同时采用先到后服务和先到先服务的策略,但在 Java中采用的是先到先服务的策略。本 题的答案是 A。 26 【正确答案】 B 【试题解析】 对象串行化定义分为两个层次:部分定制串行化和完全定制串行化。在串行化类中定义两个方法实现部分串行化的定制,这两个方法是writeObject()和 readObject()。 27 【正确答案】 C 【试题解析】 本题主要考查 Java语言的 I/O流的层次结构这个知识点。选项 A错误,当文件为只读文件时会产生异常,但是这里没有说文件是只读文件,也就是说文件为可读可写的;选项
35、B错误,文件输出流可以用 FileOutputStream (filename, false)构造函数来创建,用法和 FileInputStream(String)构造函数类似,所以可以和文件名称一起指定路径。当指定写入输出流的文件时,必须小心。如果它和现存文件一样,则当开始向流中写入数据时,将删除原来的文件。可以用 FileOutputStream(string, true)构造函数创建文件输出流,它在现存文件的末尾追加数据。 filename字符串指定了文件,而 Boolean参数应该等于 true来追加数据,而不是覆盖任何现有的数据;选项 C正确,用 FileOutputStream(f
36、ilename,false)构造函数创建文件输出流时很容易覆盖现存的文件;选项 D错误,用 FileOutputStream(6lename,false)创建文件输出流时,如果是对现存文件的引用,将覆盖原来文件的内容,文件将发生变化。故本题答案是C。 28 【正确答案】 C 【试题解析】 本题主要考查集合类的特点。选项 A错误,集合类容纳的对象都是 Object类的实例。而 boolean是一个基本类型,并不是一个对象;选项 B错误,分析同上;选项 C正确;选项 D错误,分析同选项 A。故本题答案是 C。 29 【正确答案】 B 【试题解析】 Java语言的跨平台性要求 Java的图形用户界面
37、程序也要支持跨平台性,而 Java语言其他的特性在图形开发包中体现的不是很明显。 30 【正确答案】 C 【试题解析】 事件处理者不是一个构件,它可以叫做监听器,通常是一个类。当用户操作在事件源上触发了一个事件时,事件处理者就接收 Java运行时系统传递过来的事件对象,然后根据不同的事件做出相应的处理。 31 【正确答案】 A 【试题解析】 本题考查关于事件响应中 Action Listener方法 的基本知识。选项 A正确, acfionPerformed()方法是 ActionListener接口中的唯一方法;选项 B错误, focusGained()方法是 FocusListener接口
38、中的方法;选项 C错误, ActionListener接口中没有 actionMoved();选项 D错误, focusGained()方法是FocusListener接口中的方法。故本题答案是 A。 32 【正确答案】 D 【试题解析】 该题考查对 APPLET标记中最基本的属性的掌握。 APPLET标记中有 3个属性是 必不可少的,它们就是 CODE、 HEIGHT和 WIDTH。而其他属性都是可选的。 33 【正确答案】 A 【试题解析】 本题是考查 Applet的生命周期。 init()创建 Applct时执行,只执行1次。当小应用程序第 1次被支持 Java的浏览器加载时,便执行该方
39、法; start()多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行。系统在调用完init()方法之后,将自动调用 start()方法,而且,每当浏览器从图标恢复为窗口时,或者用户离开包含该小应用程序的主页后又再返回时,系统都会再执行 1遍start()方法; stop()多次执行,当浏览器变成图标时,或者是离开主页时执行,主要功能是停止一些耗用系统资源的工作。因此 A是正确的。 34 【正确答案】 A 【试题解析】 Java基本命令包括: javac、 java、 javadoc、 appletviewer、 jar、jdb、 javah、 javap、 extcheck。其中 j
40、avac为 Java语言的编译命令,其格式为:javac选项 源文件名。 35 【正确答案】 D 【试题解析】 J2EE支持高效率的基于构件的 Web开发,构件是面向 对象的,不是面向过程的。 36 【正确答案】 数据元素的集合数据元素之间的前后间关系 【试题解析】 数据的逻辑结构是指数据间 (抽象的逻辑 )关系的描述,而不管数据在计算机中的存储方式。因此,它有两个要素:数据元素的集合、数据元素之间的前后间关系。 37 【正确答案】 大于 3 【试题解析】 栈的操作原则 “后进先出 ”,队列的操作原则 “先进后出 ”。出队列顺序即为入队列顺序,而入队列顺序也就是出栈顺序是; e2、 e4、 e
41、3、 e6、 e5、 e1,为得到出栈顺序为 e2、 e4、 e3、 e6、 e5、 e1,则入栈 操作应为 e1、 e2进栈, e2出栈 (进栈后有 e1、 e2,出栈后仅有 e1)。 e3、 e4进栈, e4、 e3出栈 (进栈后有 e1、e3、 e4,出栈后仅有 e1)。 e5、 e6进栈, e5、 e6、 e1出栈 (进栈后有 e1、 e5、 e6,出栈后为空 )。 38 【正确答案】 A B D G C E H I F 【试题解析】 二叉树的遍历是很重要的知识点,先序、中序、后序 3种不同的方式要比较来掌握,注意其中的区别。此类题一定要先看清题目要求的是哪种遍历方法,然后根据不同遍历
42、的特点来计算。本题要求是先序遍历,其遍历顺序应该为 访 问根结点 先序遍历左子树 先序遍历右子树。按照定义,先序遍历序列是 A B D G C E H I F。 39 【正确答案】 用户与操作系统 【试题解析】 本题考核数据库管理系统的基本概念。数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。因此,数据库管理系统需要操作系统的支持,为用户提供服务。 40 【正确答案】 9,10 【试题解析】 本题考核自增运算符和自减运算符的使用以及常量的表示形式。程序中 i的值是八进制,代表十进制中的 8, +i是在语句运算前自身加 1,而 j-是在语 句运算结束后减 1。 41 【正确答案】
43、main 【试题解析】 每个 Java应用程序可以包括许多方法,但必须有且只有一个 main方法格式统一为: public static void main(String args)。 42 【正确答案】 自动转换 【试题解析】 Java语言的各种数据之间提供两种转换,它们是自动类型转换和强制类型转换。 43 【正确答案】 对象永久化 【试题解析】 将对象的状态以一种串行格式表示出来,并保存在外存中,以便以后读取该对象时能够将它重构出来。 44 【正确答案】 new ObjectOutputStream(ostream) 【试题解析】 本题是考查对 Vector类的使用。 Vector类是继承
44、了 Serializable接口的,这个接口就是实现串行化的接口。我们需要串行化的类其实只要简单地继承一下 Serializable接口就可以进行保存传输工作。对象读出或者写入流的主要类有两个: ObjectOutputStream与 ObjectInputStream。 ObjectOutputStream提供将对象写入输出流的 writeObject方法。 ObjectInputStream提供从输入流中读出对象的 readObject方法。 注意:使用这些方法的对象必须被串行化,这非常重要。也就是说,这些类必须实现 Serializable接口。 45 【正确答案】 FilterInpu
45、tStream 【试题解析】 使用 BufferInputStream进行输入操作时,数据首先按块读入缓冲区,然后读操作直接访问缓冲区,该类是 FilterInputStream的子类。 46 【正确答案】 Frame f=new Frame(“BorderLayout“) 【试题解析】 本题考查容器和布局管理器的基本知识,属于综合题。在本程序里面,缺少建立 Frame的语句,而且该 Frame的名字为 GUI example;而 4个按钮的布局被压缩至最小,因此是 FlowLayout布局方式。 47 【正确答案】 构件 【试题解析】 构件类是 java.awt包的核心,构件本身是一个可视化
46、的能与用户交互的对象,由它组成了 Java图形用户界面。 48 【正确答案】 paint() 【试题解析】 paint(Graphics g)是 Applet基本的绘制界面的方法, g是 Graphics类的一个实例,它包含了 Panel的图形上下文信息,利用这个实例可以向 Applet中绘制图形。 49 【正确答案】 方法名 【试题解析】 Java语言对于其名称的命名有约定的基本原则: “和 $不作为变量名和方法名的开头:变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第 1个字母大写;常量完全大写。 50 【正确答案】 final JLabel jb=new JLabel(“ok“) 【试题解析】 在匿名类中的扣对象的属性 必须是 final,否则编译会出错。