1、国家二级( JAVA)笔试模拟试卷 85及答案与解析 1 下列叙述正确的是 ( )。 ( A)非空循环队列的队尾指针等于排头指针时,也可以进行入队运算 ( B)循环队列为空时可以进行退队运算 ( C)退队运算后队列长度减 1 ( D)入队运算就是将新元素插入到队尾指针指向的位置 2 下列叙述不属于线性链表较之线性表顺序存储结构的优点的是 ( )。 ( A)线性链表存储方式简单 ( B)线性链表运算效率高 ( C)线性链表的存储空间易于扩展 ( D)线性链表便于存储空间的动态分配 3 设有下列二叉 树 (如下图所示 ): 对此二叉树中序遍历的结果是 ( )。 ( A) ABDGCEHIF ( B
2、) DGBAHEICF ( C) GDBHIEFCA ( D) ABCDEFGHI 4 若要求尽可能快地对实数数组进行稳定的排序,则应选 ( )。 ( A)快速排序 ( B)堆排序 ( C)归并排序 ( D)基数排序 5 在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 ( )。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D)选择排序 6 函数重载是指 ( )。 ( A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 ( B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 ( C)两个以上的函数名字不同,但形参的个数或类型相同 (
3、 D)两个以上的函数取相同的函数名,并且函数的返回类型相同 7 在结构化方法中,软件功能分解属于下列软件开发中的哪个阶段 ? ( ) ( 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) jdb ( B) javap ( C) javac ( D) java 13 Java程序中的路径设置是 ( )。 ( A) set Path ( B) set e
5、nv ( C) set ClassPath ( D) set Class 14 有如下程序; public class MethTest static int Varl=100; int Var2=200; public static void main(String args) Varl=10; MethTest Obj1=new MethTest(); MethTest Obj2=new MethTest(); Obj1.Varl+; System.out.println(Objl.Varl); Obj2.Varl+; System.out.println(Obj2.Varl); Meth
6、Test.Varl+; System.out.println(Objl.Varl); Obj1.Var2+; System.out.println(Obj1.Var2); Obj2.Var2+; System.out.println(Obj2.Var2); 程序的运行结果为 ( )。 ( A) 11 12 13 201 201 ( B) 101 102 103 201 201 ( C) 11 12 13 201 202 ( D) 10 10 10 201 201 15 在没有为类定义任何构造方法时, Java编译器会自动建立一个 ( )的构造方法。 ( A)不带参数 ( B) 带一个参数 (
7、C)带多个参数 ( D)默认参数 16 以下说法正确的是 ( )。 ( A) protected定义的内容允许被对象存取 ( B) private定义的内容允许被对象存取 ( C) public定义的内容允许被对象存取 ( D) public定义的内容不允许被对象存取 17 下列有关变量的描述中不正确的是 ( )。 ( A)变量属性是用来描述变量作用域的 ( B)局部变量作用域只能是它所在方法的代码段 ( C)类变量能在类的方法中声明 ( D)类变量的作用域是整个类 18 按照 运算符的功能划分,运算符二二属于 ( )。 ( A)扩展赋值运算符 ( B)二元运算符 ( C)算术运算符 ( D)
8、关系运算符 19 下列代码段的输出结果为 ( )。 public class priority public static void main(String args) int a=10, b=4, c=20, d=6; System.out.println(a+c b); System.out.println(a+*b+c-d); ( A) 1040 ( B) 1096 ( C) 8060 ( D) 96 60 20 有如下数组声明 “intvalue30; “,下标值引用错误的是 ( )。 ( A) value30 ( B) value0 ( C) value10 ( D) value20
9、 21 以下选项中,属于合法语句的是 ( )。 ( A) char nm10; nm=“C Program“; ( B) char str110=“computer“,str210; str2=str1; ( C) char str7=“siring!“; ( D) char sp=“Hello!“; 22 以下程序输出结果为 ( )。 class test 2 public static void main(String args) int n=7; n =3; n=n&n+1 |n+2n+3; n=2; System.out.println(n); ( A) 0 ( B) -1 ( C)
10、14 ( D) 64 23 以下各项中不属于 Java语言流程控制结构的是 ( )。 ( A)分支语句 ( B)跳转语句 ( C)循环语句 ( D)赋值语句 24 下列程序运行后的输出结果是 ( )。 public class Sun public static void main(String args) int a, b; a=0; b=0; for(int m=1; m=10; m+) a=a+1; b=0; for(int j=1; j =10; j+) a=a+1; b=b+2; System.out.println(a+“,“+b); ( A) 10,20 ( B) 20110 (
11、 C) 110,20 ( D) 200110 25 下列有关线程的描述中错误的是 ( )。 ( A) Java中的每一个线程都属于某个线程组 ( B)线程只能在其创建时设置所属的线程组 ( C)线程创建之后,可以从一个线程组转移到另一个线程组 ( D)新建的线程默认情况下属于某父线程所属的线程组 26 下面程序输出的结果是什么 ? ( ) public class Quiz2 public static void main(String args) try throw new MyException(); catch(Exception e) System.out.println(“Its c
12、aught!“); finally System.out.println(“Its finally caught!“); class MyExeeption extends Exception ( A) Its finally caught! ( B) Its caught! ( C) Its caught!/Itsfinally caught! ( D)无输出 27 以下各项说法中错误的是 ( )。 ( A)可串行化的类必须实现 Serializable接口 ( B)可串行化的类中的静态变量可以不被串行化 ( C) private数据访问权限能够限制数据不被串行化 ( D)对象串行化使用 J
13、ava语言提供的默认机制 28 如要求读取大文件的中间 一段内容,最方便的是采用下列哪种流来操作 ? ( ) ( A) File stream ( B) Pipe stream ( C) Filter stream ( D) Random stream 29 下列方法中不属于 KeyListener接口中方法的是 ( )。 ( A) keyPressed(KeyEvent) ( B) keyPushed(KeyEvent) ( C) keyTyped(KeyEvent) ( D) keyReleased(KeyEvent) 30 下列组件中不能用 addItemListener()方法注册 I
14、temListener监听器的是 ( )。 ( A) JButton ( B) JCheckBox ( C) JRadioButton ( D) JTextField 31 Swing比 AWT新增的一个布局管理器为 ( )。 ( A) FlowLayout ( B) BorderLayout ( C) CardLayout ( D) BoxLayout 32 容器 Panel和 Applet默认使用的布局编辑策略是 ( )。 ( A) BorderLayout ( B) FlowLayout ( C) GridLayout ( D) CardLayout 33 Applet不能继承以下哪个类
15、的方法 ? ( ) ( A) Component类 ( B) Container类 ( C) Panel类 ( D) Window类 34 下列说法中错误的是 ( )。 ( A) Applet不能使用 JDBC访问数据库 ( B)在 Applet中使用 JDBC访问数据库,要求数据库服务器和 HTTP服务器在同一机器上 ( C)在 Applet中使用 JDBC访问数据库,要求使用一个代理来重新定位数据库请求 ( D) JDBC通常应用于 Servlet或者普通的应用,也可以被 Applet使用 35 下列关于 J2SE体系结构的说法中错误的是 ( )。 ( A)该体系结构的最底层是操作系统,包
16、括 Linux和 Windows等 ( B)该体系结构的最上层是由开发工具构成的 ( C)基本类库包括核心 APIs、集成 APIs和 AWT/Swing和 JDBC等 ( D)多媒体支持基本软件中的声音、图形和图像等 36 在数据结构中,从逻辑上可以把数据结构分成线性结构和【 】。 37 在双链表中,每个结点有两个指针域 ,一个指向前驱结点,另一个指向【 】。 38 【 】是当前软件开发环境中富有特色的研究工作和发展方向。 39 数据库是指按照一定的规则存储在计算机中的【 】的集合,它能被各种用户共享。 40 模块的独立性一般用两个准则来度量,即模块间的【 】和模块的内聚性。 41 要引入
17、包中的 URL公有类,需用语句【 】。 42 赋值表达式的组成是:在赋值运算符的左边是【 】,右边是一表达式。 43 Java线程模型中的数据和【 】构成了线程体。 44 在 Java中 ,字符是作为 Unicode码来处理的,每个字符用【 】个字节表示。 45 在 Java新的 I/O功能中,通过文件锁定来实现多个线程的【 】,避免了可能存在的安全隐患。 46 【 】是 Swing新增加的组件,主要功能是把数据以二维表格的形式显示出来。 47 阅读下面程序段, SelectItem应用程序显示从文本域的组合框中进行选择,请在程序中的画线处添上正确的语句使得程序能够正确运行。 JTextFie
18、ld result=new JTextField(); JComboBox pick=new JComboBox(); public Selectltem() super(“Select Item“); pick.addItemListener(this); pick.addItem(“Navigtor“); pick.addItem(“Internet Explorer“); pick.addItem(“Opera“); pick.setEditable(false); result.setHorizontalAlignment(SwingConstants.CENTER); result.
19、setEditable(false); pane.setLayout(new BorderLayout(); 【 】 pane.add(pick, “Center“): pane.add(result, “South“); setContentPane(pane); public void itemStateChanged(ItemEvent evt) Object source=evt.getSource(); if(source=pick) Object newPick=evt.getItem(); result.setText(newPick.toString()+“is the sel
20、ection.“); repaint(); 48 每个 Applet必须定义为【 】的子类。 49 Java源程序是由类定义 组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在 Java Application中,这个主类是指包含【 】方法的类:在 Java Applet里;这个主类是一个系统类 Applet的子类。 50 下列 Applet在窗口中实现一个不可编辑的 TextField,并且显示 “ok“。请填写正确的程序在横线处。 import java.applet.Applet; import java.awt.*; public class Testl4 extends A
21、pplet TextFiled tf; public void init() setLayout(new GridLayout(1, 0); tf=new TextField(“Ok“); 【 】 add(tf); 国家二级( JAVA)笔试模拟试卷 85答案与解析 1 【正确答案】 C 【试题解析】 非空循环队列的队尾指针等于排头指针时,说明循环队列已满,不能进行入队运算, A是错误的 。循环队列为空时不可以进行退队运算,否则产生“下溢 ”, B是错误的。入队运算首先将队尾指针加 1,然后将新元素插入到队尾指针指向的位置, D是错误的。 2 【正确答案】 A 【试题解析】 线性链表存储方式要
22、求每个数据节点由两个部分组成,比线性表的顺序存储结构复杂, A是错误的。在平均情况下线性表的顺序存储结构插入和删除元素需要移动线性表中约一半的元素,效率低。而线性链表只需改变有关节点的指针,效率较高, B是正确的。线性表的顺序存储存储空间必须是连续的,因此不利于存储空间扩展。线性链表不需要连续的存储空间, 存储空间易于扩展, C是正确的。为保证线性表的存储空间连续且顺序分配,会导致在对某个线性表进行动态分配存储空间时必须要移动其他线性表中的数据元素,不便于存储空间的动态分配, D是正确的; 3 【正确答案】 B 【试题解析】 选项 A、 D中,根节点排在最前,因此可以断定不是中序遍历。选项 C
23、中根节点排在最后,因此也可以断定不是中序遍历。其中选项 A、 C分别为前序遍历和后序遍历的结果。 4 【正确答案】 C 【试题解析】 这里要用到的知识几乎都是要记忆的。此类题目可以采用排除法,首先,稳定的排序这里有 C和 D,其次, D不适用于实数的排序,因此只可用C。 5 【正确答案】 D 【试题解析】 希尔排序和冒泡排序都属于插入排序,它们通过数据元素的交换来逐步消除线性表中的逆序,所以关键字比较的次数与记录的初始排列次序有关。而选择排序是指扫描整个线性表,从中选出最小的元素,将它交换到表的前面,然后对剩下的字表采用同样的办法,所以关键字比较的次数与记录的初始排列次序无关。 6 【正确答案
24、】 A 【试题 解析】 函数重载指的是两个或两个以上的函数具有相同的函数名,但是形参的个数或类型不同。程序中通过判断主调函数传过来的参数的个数和类型来决定选择调用哪个具体的函数。 7 【正确答案】 C 【试题解析】 软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节 ;并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等
25、方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述,软件功能分解只能发生在总体设计阶段。 8 【正确答案】 C 【试题解析】 本题考查对投影操作的掌握。投影操作是从表中选出某些列而丢弃另一些列。如果只对一个关系中的某些属性感兴趣,那么就 需要使用投影操作在这些属性上投影该关系,而元组个数是指一个表中的行的数目,因此,对一个关系进行投影操作以后,新关系的元组个数跟原来关系的元组个数相等。 9 【正确答案】 B 【
26、试题解析】 本题考查关系数据库的概念模型。数据库的概念模型体现了数据之间的关系,它是各种数据之间相互关系的集合。关系数据库的概念模型是关系模式的集合。关系子模式是指关系数据库模式中用户所见到的那部分数据模式。 10 【正确答案】 B 【试题解析】 本题考查对几种关系代数运算的掌握。其中选择和投影的区别在于:如果将一 个关系看作一张表,那么选择操作就是从这张表中选出一些行而丢弃另一些行;而投影操作则是从这张表中选出某些列而丢弃另一些列。如果只对一个关系中的某些属性感兴趣,那么就需要使用投影操作。并操作的结果表示为RU S,它是一个关系,包括或者在 R中、或者在 S中、或者同时在 R和 S中的所有
27、元组,新的关系中属性个数多于原来关系中属性个数。连接操作用于将两个关系中的相关元组组合成单个元组。 11 【正确答案】 B 【试题解析】 该题考查考生对 Java程序代码安全性的掌握。 Java程序运行的过程是这样的:类加载器加载程 序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,执行文件的内存划分就固定了,在这个时候,特定的内存地址被分配给对应的符号引用,查找表也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护,防止未授权的访问;然后字节码校验器进行校验,主要执行下面的
28、检查,类是否符合 JVM规范的类文件格式,有没有违反访问限制,代码有没有造成堆栈的上溢或者下溢,所有操作代码的参数类型是否都是正确的,有没有非法的数 据类型转换 (例如将整型数转换成对象类型 )发生;校验通过的字节码被解释器执行,解释器在必要时通过运行时系统执行对底层硬件的相应调用。 12 【正确答案】 A 【试题解析】 本题是考查考生对 Java语言中的调试器的理解。 Java调试器 jdb是命令行方式的调试器, jdb通过 Java调试器应用程序 API,帮助用户发现和确定在 Java语言中的故障和错误。该命令的格式为: Jdboptions。 Java调试器jdb有两种调试方法。最常用的
29、方法是使 jdb启动 Java解释器 java来对类进行调试。 13 【正确答案】 A 【试题解析】 本题是考查考生对 Java程序中路径设置的掌握。设置环境变量path的作用是使 DOS操作系统可以找到 IDK命令。如果用户没有在 Path中设置,且当前文件夹不是安装文件夹,那么编译和运行时会出现错误。 IDK程序在寻求环境变量 ClassPath所在文件夹中的由用户生成的 .class文件。 14 【正确答案】 A 【试题解析】 本题考查实例成员和类成员用法的不同。在给出的程序中,声明一个类变量 Var1、实例变量 Var2和类方法 main。在类方法 main中访问类变 量Var1和实例
30、变量 Var2,在 main方法中还实例化了 MethTest类的两个对象 Obi1和 Obi2,通过这两个对象访问类变量和实例变量。我们知道,可以通过类名直接访问类变量,而且,所有实例对象将共享同一个类变量,每个实例对象对类变量的改变都会直接影响到其他实例对象,但一个对象对实例变量的改变不会影响其他实例对象。因此 Var1的值每次都会增 1,并且保持已经改变的值, Var2的值由于是分别调用,故值并不会改变。 15 【正确答案】 A 【试题解析】 本题考查对默认构造方法的理解。要熟记构造方法的几 个特点: 构造方法用来初始化类的一个对象。 构造方法具有和类一样的名称,并且没有返回类型还可以重
31、载。 只能用运算符 new调用构造方法。 如果没有定义构造方法,在 Java运行时,系统会自动提供默认的构造方法,它没有任何参数。 16 【正确答案】 C 【试题解析】 类中成员定义时前面可加修饰符 (如 public、 private、 protected等 )。加 public修饰指明成员为公有,可以被对象访问;加 protected指明成员为保护成员,不允许被对象访问和存取:加 private表明为私有成员,只能 被类自己访问和调用,不能被对象访问。所以只有 C选项的描述是正确的。 17 【正确答案】 C 【试题解析】 类变量在类中声明,作用域是整个类,它不能在类的方法中声明。局部变量在
32、类的方法中声明,作用域只能是它所在的方法中。 18 【正确答案】 D 【试题解析】 题目给出的分类条件是运算符的功能,因此选项 B首先排除;选项 C也容易排除;选项 A看上去是正确的答案,其实是不正确的,运算符虽然在形式上很像扩展赋值运算符,但它是关系运算符。 19 【正确答案】 A 【试题解析】 本题考查算术 运算符的优先级。算术运算符中 +和 -的级别最高,然后就是 *和 /以及,而 +和 -的级别最低。掌握算术运算符的优先级就易得出此题的输出为 10和 40。 20 【正确答案】 A 【试题解析】 本题考查对数组的引用,在 Java语言中,数组的下标是从 0开始的,最大的下标值比所定义的
33、数组长度的值小 1。 21 【正确答案】 D 【试题解析】 本题考查字符串数组的定义和初始化,属于概念考查类型的题目。A选项中, “C Program“这个字符串常量在赋值过程中给出的是这个字符串在内存中所占连续存储单元 的首地址,而 nm是不可直接赋值的数组名,因此 A选项中的语句不合法。 B选项, C+不支持数组之间的直接赋值,所以也不正确。 C选项,表面上没有错,但仔细看一下会发现,定义时数组长度为 7,而赋值的字符串常量的个数为 8,最终导致越界,所以也不合法。 22 【正确答案】 C 【试题解析】 第 1个赋值语句使得 n的值为 ?, 7的二进制形式为 00000111,第2个赋值语
34、句可写为 n=n 3, n左移 3位的结果为 00111000,即第 3个赋值语句的运算顺序为 (n&n)+(1|n)+(2n)+3,运算 结果为 57(十进制 ),其二进制形式为 00111001,第 4个赋值语句使 n的值右移 2位,由于 n的符号位为 0,因此,在右移时左边填充位为 0,即 00001110,其十进制形式为 14。 23 【正确答案】 D 【试题解析】 Java语言的流程控制结构包括分支语句、跳转语句、循环语句等,但是赋值语句是由赋值表达式构成的不能用于流程控制。 24 【正确答案】 C 【试题解析】 本题考查对 for循环语句理解。本题是两重 for循环,第 1重循环是
35、将 a的值加 1, b清零,第 2重循环是将 a的值加 1, b的值加 2,第 1重和第二重循环都是 10次,每次 a的值增加 11,执行 10次所以 a的值为 110;由于第 1个 for循环将 b赋 0,所以 b的值只是最后一次循环的值,即 20。故本题答案是C。 25 【正确答案】 C 【试题解析】 线程只能在创建的时候设置所属的线程组,创建之后不可以从一个线程组转移到另一个线程组,在创建线程组时,若没有指定所属的线程组,线程自动属于其父线程的线程组。 26 【正确答案】 C 【试题解析】 本题是对异常处理基本知识的考查。本程序中创建了一个异常类MyExce-ption,它的 祖先类是
36、Exception。在程序中,程序先发出异常MyException,下面是 catch捕获异常,但是 catch列表中并没有与之对应的MyException,但是有一个 Exception,它是 MyException的祖先类。如果有多种异常需要捕获,在安排 catch语句的顺序时要注意,应该首先捕获最特殊的类,然后逐渐一般化。 例如, IOException类是 FileNotFoundException类的父类,就应该首先捕获 FileNotFoundException异常,然后捕获 IOException异 常。所以运行结果是 Ifs caught!/Its finally caught
37、! 27 【正确答案】 C 【试题解析】 一般的数据访问权限,如 public、 protected、 package或 private等,对数据的串行化没有影响。只有 static和 transient关键字修饰的数据才可以不被串行化。 28 【正确答案】 D 【试题解析】 Random stream最便于读取大文件的中间一段内容。 29 【正确答案】 B 【试题解析】 本题考查常用监听器接口中基本方法的知 识。选项 A错误,KeyListener接口中有 keyPressed(KeyEvent),当按下键时被调用;选项 B正确,KeyListener接口中没有该方法;选项 C错误, Key
38、Listener接口中有 keyTyped(KeyEvent),当敲键时被调用到;选项 D错误, KeyListener接口中有key- Released(KeyEvent),当释放键时被调用到。故本题答案是 B。 30 【正确答案】 D 【试题解析】 本题考查事件响应中基本组件所能产生的事件。选项 A错误,JButton能产生项目 事件,因此可以用 addItemListener()方法注册 ItemListener监听器;选项 B错误, JCheckBox也可注册 ItemListener监听器;选项 C错误,JRadioButton组件也可以;选项 D正确, JTextField不能产生
39、项目事件。故本题答案是 D。 31 【正确答案】 D 【试题解析】 Swing继续沿用了 AWT中的布局管理器,包括 FlowLayout、BorderLayout、 CardLayout、 GridLayout、 CridBagLayout,另外 Swing新 增了一个 BoxLayout布局管理器。 32 【正确答案】 B 【试题解析】 该题考查 Appict布局方面的知识。选项 A错误,边界布局管理器(BorderLayout)将容器按上北下南左西右东划分为东、南、西、北、中 5部分,分别用英文词 East、 South、 North、 West、 Center来表示:选项 B正确,流式
40、布局管理器 (FlowLayout)简单的将组件由左到右排列,排满一行,自动移到下一行,Panel 和 Applet的默认 Layout为 FlowLayout;选项 C错误,网格布局管理器 (GridLayout)把容 2g划分为指定的几行几列的网格,把组件放在一个网格内,组件位置从上到下,从左到右排列,组件大小一致,容器大小改变时,组件位置不变,大小改变;选项 D错误, CardLayout是卡片布局。故本题答案是 B。 33 【正确答案】 D 【试题解析】 Applet是 Panel的直接子类,而 Panel的直接父类是 Container,Container的父类是 Component
41、,因此可以继承这 3个类的方法。 34 【正确答案】 A 【试题解析】 JDBC通常应用于 Servlet或者普通的应用,也可以被 Applet使用。 Applet若要使用 JDBC访问数据库,就需要按照 B和 C中给出的策略进行操作。 35 【正确答案】 C 【试题解析】 JDBC的支持是在体系结构第 2层给出的。 36 【正确答案】 非线性结构 【试题解析】 逻辑结构即数据元素之间的逻辑关系,是从逻辑关系上描述数据,与数据的存储无关。因此根据数据元素与数据元素之间的关系,逻辑结构被分为两大类,线性结构和非线性结构。而集合结构与非集合结构、树形结构和图状结构指的都是特定的数据结构类型。 37
42、 【正确答案】 后续结点 (后继结点 ) 【试题解析】 链式存储结构的结点中,只有一个指示直接后继的指针域,因此从某个点出发,只能顺指针往后寻查其他结点。若要寻查结点的直接前驱,则需要从表头指针出发,影响查找效率。为了克服单链表这种单向性的缺点,可利用双向链表。双向链表的结点中,有两个指针域,其一指向直接后继,另一个指向直接前驱。 38 【正确答案】 计算机辅助软件工程 (CASE) 【试题解析】 CASE将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。 39 【正确答案】 数据 【试题解析】 数据库是由一个互相关联的数据的集合和一组用以访问这些数据的程序
43、组成,这些数据按一定的数据模型组织、描述和储存。 40 【正确答案】 耦合性 【试题解析】 模块的独立性是评价设计好坏的重要标准,衡量软件的模块独立性使用耦合性和内聚性两个定型的度量标准。内聚性是一个模块内部各个元素之间彼此结合的紧密程度。耦合性是模块间互相连接的紧密程度。 41 【正确答案】 import .URL 【试题解析】 本题考查 Java语言中引入包的方 法。引入所有直接公有类须在所引包名后加 *,而直接引用某个类只需直接引入包名即可。 42 【正确答案】 一变量 【试题解析】 本题考查赋值表达式的组成。在赋值运算符的左边是一变量,右边是一表达式。 43 【正确答案】 代码 【试题
44、解析】 在 Java线程模型中,一个具体的线程是由虚拟的 CPU、代码和数据组成的,其中,数据和代码构成了程序中的线程体。 44 【正确答案】 2个 【试题解析】 在 Java中,字符是以 16位 Unicode码的形式表示的。 45 【正确答案】 访问同步 【试题解析】 当一个线程在访问一个文件时,该文件被锁定,不允许其他线程访问,这样实现了同步访问。 46 【正确答案】 表格 【试题解析】 本题是考查 swing组件中的 JTable的基本用法。表格是 swing新增加的组件,主要功能是把数据以二维表格的形式显示出来。使用表格,依据 M-V-C的思想,最好先生成一个 MyTableMode
45、l类型的对象来表示数据,这个类是从 AbstractTableModel类中继承来的,其中有几个方法是一定要重写的,例如getColumnCount、 getRowCount、 getColumnName、 getValueAt。因为 JTable会从这个对象中自动获取表格显示所必需的数据, AbstractTableModel类的对象负责表格大小的确定 (行、列 ),内容的填写、赋值,表格单元更新的检测等等一切跟表格内容有关的属性及操作。 JTable类生成的对象以该 TableModel为参数,并负责将 TableModel对象中的数据以表格的形式显示出来。 JTable类常用的方法是:
46、getModel(),该方法表示获得表格的数据来源对象;JTable (TableModel dm),该方法的 dm对象中包含了表格要显示的数据。 下面两个构造方法,第 1个参数是数据,第 2个参数是表格第 1行中显示的内容。 JTable(objectrowData,objectcolumnNams) Yrable(VectorrowData,VectorcolumnNams) 47 【正确答案】 JPanel pane=new JPane() 【试题解析】 本题考查项目事件及响应中的基本知识。在 SelcctItem()中给接收器添加 pick对象,并将 pick和 result添加到帧中
47、。缺少创建 pane的语句。itemStateChanged(ItemEvent evt)中具体实现响应的方法, evt对象的 getSource()方法决定了事件的来源,当它等于 pick时做出响应。 Opera项是组合框中当前选择的项目。对象的 toString()方法用于检索 getItem()所返回的对象文本。 48 【正确答案】 Applet 【试题解析】 Java语言种每个 Applet必须定义为 Applet的子类。 49 【正确答案】 main() 【试题解析 】 该题考查对 Java应用程序 (Application)与小程序 (Applet)的理解。 Application带有 main()方法,可以独立解释执行,而 Applet则不行,它继承自系统的 Applet类,必须由浏览器或 appletviewer执行。 50 【正确答案】 tf.setEditable(false) 【试题解析】 通过调用 TextField构件的 setEditable(boolean b)方法,可以设置文本区的可编辑属性,参数 b为 false时,文本为不可编辑。