1、计算机二级 JAVA-106及答案解析(总分:89.90,做题时间:90 分钟)一、选择题(总题数:50,分数:89.90)1.以下定义线程方法正确的是_。(分数:2.00)A.Public Thread();B.Public Thread(Runnable target)C.Public Thread(ThreadGroup group,Runnable target);D.以上都正确2.用来导入已定义好的类或包的语句是_。(分数:1.80)A.mainB.importC.public classD.class3.对象状态的持久是通过_实现的。(分数:2.00)A.管道B.过滤器C.文件D.
2、串行化4.软件设计一般分为两步完成,它们是_。(分数:2.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计5.下列选项中的变量已正确定义,则表达式不合法的是(分数:1.00)A.“A“%6B.“n“-3C.a=4= =blD.“a“=86.下列的变量定义中,错误的是_。(分数:2.00)A.int_a=123;B.int i=Integer.MAX_VALUE;C.long j=12345678900L;D.static i=100;7.下列关于 Applet生命周期的说法,正确的是_。(分数:1.80)A.voidinit()在 Applet
3、下载前调用B.voidstart()只在初始化之后调用C.voidstop()在关闭浏览器时调用D.stop()总在 voiddestroy()之前被调用8.下列关于构造方法的叙述中,错误的是_。(分数:2.00)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用 void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过 new自动调用9.下列代码的执行结果是_。 public class Test public static void main(String args ) int a =4,b=6,c=8; String
4、s =“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:1.00)A.ababccB.464688C.46abc8D.10abc810.Java的核心包中,提供编程应用的基本类的包是(分数:1.00)A.java.langB.java.utilC.java.appletD.java.rmi11.数据库设计中,用 E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(分数:1.80)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段12.阅读下列一个支持多线程并发操作的堆栈类代码段: p
5、ublic class MyStack private int idx=0; private int data=new int8; pubiic_void push(int i) dataidx=i; idx+; 在下画线处应填入的是_。(分数:1.00)A.synchronizedB.waitC.blockedD.interrupt13.下列对 Java源程序结构中前 3种语句的次序,正确的是(分数:2.00)A.import,package,public classB.import必为首,其他不限C.public class,import,packageD.package,import,p
6、ublic class14.下列程序的运行结果是_。 public static ArrayTest public static void main(String args) int data = 1,2,3,4,5,11,22,33,44,55,111,222,333, 444,555; for(int i=0;idata.length;i+) if(i%2=0) System.out.println(datai 4+“ “); (分数:2.50)A.5 555B.5 55C.555D.5515.有 3个关系 R、S 和 T如下: (分数:2.00)A.自然连接B交C除D并16.下列关于线程
7、和进程的说法正确的是_。(分数:1.80)A.进程结构的所有成分都在用户空间内B.用户程序能够直接访问进程涉及的数据C.线程是内核级的实体D.线程结构驻留在用户空间中17.Applet类的直接父类是_。(分数:2.00)A.Component类B.Frame类C.Container类D.Panel类18.下列关于构造方法的叙述中,错误的是_。(分数:2.00)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用 void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过 new自动调用19.当一个 Applet被加载,后续对 A
8、pplet生命周期方法的调用中,可能存在的次序是_。(分数:1.80)A.start(), stop(), destroy()B.init(), start(), stop(), start(), stop(), destroy()C.start(), init(), stop(), destroy()D.init(), start(), destroy()20.下面程序的输出结果是_。 #include stdio.h main() int x=10; int x=20; printf(“%d,“,x); printf(“%d/n“, x); (分数:2.00)A.10, 20B.20, 1
9、0C.10, 10D.20, 2021.下列选项中,不是 Applet标记的是_。(分数:2.00)A.PARAMB.BODYC.CODEBASED.ALT22.在 Java中,实现用户界面功能的包是(分数:2.00)A.java.appletB.java.transactionC.java.utilD.java.awt23.下面描述中,不属于软件危机表现的是_。(分数:1.80)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高24.Java虚拟机的执行过程有多个特点,下列不属于 JVM执行特点的是_。(分数:1.00)A.多线程B.动态连接C.异常处理D.异步处
10、理25.在长度为 z的有序线性表中进行二分查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.80)A.B.C.D.26.在关系 A(S, SN, D)和关系 B(D, CN, NM)中,A 的主关键字是 S,B 的主关键字是 D,则关系 A的外码是_。(分数:1.80)A.CNB.SNCSDD27.如果在一个关系中存在多个属性(或属性组)都能用来唯一标识关系的元组,且其任何一个子集都不具有这一特性。这些属性(或属性组)都被称为关系的_。(分数:2.00)A.连接码B.主码C.外码D.候选码28.在软件开发中,需求分析阶段
11、产生的主要文档是_。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书29._是有关国际组织的标准。(分数:1.00)A.APIB.Org包C.扩展包 JavaxD.Java核心包30.如下程序的输出结果是_。 public class Test void printValue(int m) do System.out.println(“The value is“+m); while(-m 10 ) public static void main(String args) int i=10; Test t= new Test(); t.printVa
12、lue(i); (分数:2.00)A.The value is 8B.The value is 9C.The value is 10D.The value is 1131.下列叙述中正确的是_。(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的32.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是_。(分数:1.80)A.10B.8C.6D.43
13、3.在结构化程序设计中,模块划分的原则是_。(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度34.有两个关系 R和 T如下: (分数:2.00)A.选择B.投影C交D并35.阅读下列代码片段 class InterestTest_ActionListener public void actionPerformed(ActionEvent event) double interest=balance*rate/100; balance+=interest; NumberFormat format=Num
14、berFormat. getCurrencyInstance(); System. out. printb(“balance=“+formatter. format(balance); Private double rate; 在下画线处,应填的正确选项是_。(分数:1.80)A.ImplementationB.InheritanceC.implementsD.extends36.Panel和 Applet的默认的布局管理器是(分数:1.00)A.CardLayoutB.BorderLayoutC.FlowLayoutD.GridLayout37.下面程序段的输出结果为 public clas
15、s Test public static void main(String args) boolean a,b,c; a=(35); b=(a=true); Systemoutprintln(“a=“+a+“b=“+b); c=(b=false); Systemoutprintln(“b=“+b+“c=“+c); (分数:2.00)A.a=true b=falseb=true c=falseB.a=true b=falseb=true c=trueC.a=true b=trueb=true c=falseD.a=false b=falseb=true c=false38.Java技术的 3个重
16、要分支是_。(分数:3.00)A.J2ME、J2SE 和 J2EEB.J2SDK、J2SE 和 J2EEC.J2ME、J2SED.J2SDK、J2SE 和 J2ME39.下列不是 InputStream子类的是_。(分数:2.00)A.文件输入流 FileInputStreamB.对象输入流 ObjectInputStreamC.字符输入流 CharInputStreamD.压缩文件输入流 ZipInputStream40.下面的 for语句_。 for(int x=0,y=10;(y0)(x4);x+,y-);(分数:2.00)A.是无限循环B.循环次数不定C.循环执行 4次D.循环执行 3
17、次41.在学生管理的关系数据库中,存取一个学生信息的数据单位是_。(分数:1.80)A.文件B.数据库C.字段D.记录42.给出下列的程序代码片段,m 为哪个值时将会输出 default? switch(m) case 0:System.out.println(“case0“); case 1:System.out.println(“case 1“);break; case 2:System.out.println(“case 2“);break; default:System.out.println(“default“); (分数:1.00)A.0B.1C.2D.343.结构化分析方法是面向
18、_的自顶向下逐步求精进行需求分析的方法。(分数:1.80)A.对象B.数据结构C.数据流D.目标44.下列对于线性链表的描述中正确的是(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件与元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的45.下列说法错误的是_。(分数:2.00)A.Java语言中通过#define 命令定义常量B.Java语言中无 sizeof运算符C.Java语言中所有类型的长度和表示是固定的关键字D.goto和 const不是 Java编程
19、语言中使用的关键字46.下列方法能够用来实现线程之间通信的是_。(分数:1.00)A.notify()B.run()C.sleep()D.join()47.下列对于线性链表的描述中正确的是_。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后刊:元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的48.设有图示二叉树,对此二叉树执行中序遍历的结果是_。 (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA49.下列关于类、包和源文件的描述中
20、,不正确的一项是_。(分数:2.00)A.一个文件可以属于一个包B.一个类可以属于一个包C.一个包可包含多个文件D.一个包只能含有一个类50.若类声明加上_修饰符,则表示该类不能有子类。(分数:1.80)A.closeB.finalC.downD.end计算机二级 JAVA-106答案解析(总分:89.90,做题时间:90 分钟)一、选择题(总题数:50,分数:89.90)1.以下定义线程方法正确的是_。(分数:2.00)A.Public Thread();B.Public Thread(Runnable target)C.Public Thread(ThreadGroup group,Run
21、nable target);D.以上都正确 解析:解析 Tread 类在 Java API的 java. lang包中定义,Thread 类的构造方法有多个,这些方法的一般构造可以表示如下:public Thread (ThreadGroup group,Runnable target,String name);其中参数的含义是:group指明该线程所属的线程组;target提供线程体的对象,线程启动时,该对象的run()方法将被调用;name线程名称,Java 中的每个线程都有自己的名称,如果 name为 null,则 Java自动给线程赋予惟一的名称。上述方法的每个参数都可以为 null。
22、不同的参数去 null值,就成为 Thread类的各种构造方法。所以选项 A、B、C 的构造方法都是正确的。2.用来导入已定义好的类或包的语句是_。(分数:1.80)A.mainB.import C.public classD.class解析:解析 本题考查 Java中的 import语句。Java 中使用 import语句来导入已定义好的类或包,需要注意 Java语言的 java. lang包是编译器自动导入的,编程时如果使用该包中的类,可省去 import导入。如果要使用其他包中的类,必须用 import导入。3.对象状态的持久是通过_实现的。(分数:2.00)A.管道B.过滤器C.文件D
23、.串行化 解析:解析 将 Java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串形格式表示出来,以便以后读该对象时能够把它重构出来。因此对 Java对象读、写的过程被称为对象串行化。4.软件设计一般分为两步完成,它们是_。(分数:2.00)A.概要设计与详细设计 B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计解析:解析 软件设计的步骤分为两部分,一部分是概要设计(总体设计),另一部分是详细设计。5.下列选项中的变量已正确定义,则表达式不合法的是(分数:1.00)A.“A“%6B.“n“-3C.a=4= =blD.“a“=8 解析:解析 在
24、 Java语言中,字符在计算机中是转换成数值表示的,如“a“其实在计算机中同 int型的97是同一个常量,所以选项 D)“a“=8中,即 97=8,将 8赋值给 97,这时系统会发生编译错误。还有一点,赋值表达式的组成是在赋值运算符的左边是一变量,右边是一表达式。所以选项 D)“a“=8中左端已经是个表达式(常量),因此就违背了赋值运算符的规则。选项 A)“a“6 和选项 B)“n“-3都是先将字符自动转化成在计 算机中存储的数据的值,然后再进行运算;选项 C)a=4= =b=4和 b1,这两个表达式的结果在进行比较看是否都是 true或 false,如果是,返回 true,否则返回 fals
25、e,计算结果是一个布尔型的值。6.下列的变量定义中,错误的是_。(分数:2.00)A.int_a=123;B.int i=Integer.MAX_VALUE;C.long j=12345678900L;D.static i=100; 解析:解析 选项 A、B、C 中定义的都正确,选项 D中 static是定义方法的,而不能定义变量。7.下列关于 Applet生命周期的说法,正确的是_。(分数:1.80)A.voidinit()在 Applet下载前调用B.voidstart()只在初始化之后调用C.voidstop()在关闭浏览器时调用D.stop()总在 voiddestroy()之前被调用
26、 解析:解析 本题考查 Applet生命周期的概念。Applet 生命周期是考试重点考查内容,应该加以重视。init()在 Applet下载时调用,而不是下载前调用,选项 A错误。start()在初始化之后以及在 Applet被重新访问时调用,不仅仅只是在初始化之后调用,选项 B错误。stop()在停止执行时调用,关闭浏览器时调用的是 destroy(),选项 C错误。destroy()在关闭加载 Applet的浏览器从系统中撤出时调用,此时Applet必然调用 stop()方法停止其运行,然后才能调用 destroy()方法从内存卸载并释放该 Applet的所有资源。注意理解 Applet的
27、执行过程。8.下列关于构造方法的叙述中,错误的是_。(分数:2.00)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用 void声明C.Java语言规定构造方法不可以重载 D.Java语言规定构造方法只能通过 new自动调用解析:9.下列代码的执行结果是_。 public class Test public static void main(String args ) int a =4,b=6,c=8; String s =“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:1.0
28、0)A.ababccB.464688C.46abc8D.10abc8 解析:解析 Java 语言对+运算符进行了扩展,使它能够进行字符串的链接。但是一般说来,如果+运算符的第一个操作数是字符串,则 Java系统会自动将后续的操作数类型转换成为字符串类型,然后再进行连接:如果 +运算符的第一个操作数不是字符串,则运算结果由后续的操作数决定。10.Java的核心包中,提供编程应用的基本类的包是(分数:1.00)A.java.lang B.java.utilC.java.appletD.java.rmi解析:解析 Java 的核心包一共有 12个,其中:java.lang 包中封装了所有编程应用的基
29、本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为 Applet提供执行需要的所有类,。主要是访问 Applet内容的通信类。java.rmi 包提供程序远程方法调用所需的类。因此,本题的正确答案是 A。11.数据库设计中,用 E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(分数:1.80)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段 D.物理设计阶段解析:解析 E-R 图为实体一联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。12.阅读下列一个支持多线程并发操作
30、的堆栈类代码段: public class MyStack private int idx=0; private int data=new int8; pubiic_void push(int i) dataidx=i; idx+; 在下画线处应填入的是_。(分数:1.00)A.synchronized B.waitC.blockedD.interrupt解析:解析 Java 中参与共享数据操作的并发控制采用了传统的封锁技术。一个程序中单独的、并发的线程对同一个对象进行访问的代码段称为临界区。Java 中,临界区用“synchronized”关键字标识。每个由 synchronized语句指定
31、的对象设置一个锁,称为对象锁。对象锁是一种独占的排他锁,即当一个线程获得了对象的锁后,便拥有该对象的操作权,其他任何线程不能对该对象进行任何操作。因此,本题的正确答案是 A。13.下列对 Java源程序结构中前 3种语句的次序,正确的是(分数:2.00)A.import,package,public classB.import必为首,其他不限C.public class,import,packageD.package,import,public class 解析:解析 Java 源程序的结构中,package 语句必须在文件之首;import 语句必须在所有类定义之前引入标准类。所以答案为 D
32、。14.下列程序的运行结果是_。 public static ArrayTest public static void main(String args) int data = 1,2,3,4,5,11,22,33,44,55,111,222,333, 444,555; for(int i=0;idata.length;i+) if(i%2=0) System.out.println(datai 4+“ “); (分数:2.50)A.5 555 B.5 55C.555D.55解析:解析 二维数组的长度是 3,这里从 i=0开始算,当 i%2的时候才打印结果。i 的值为 0、1、2,所以当 i=
33、0和 i=2时会打印,打印的结果是当前那个一维数组元素中下标为 4的元素,即第五个元素,因此分别是 5和 555。15.有 3个关系 R、S 和 T如下: (分数:2.00)A.自然连接B交C除 D并解析:解析 本题要求考生掌握基本的关系代数运算。其实在解答过程中并不需要真正去把 R和 S做自然连接、交集、除运算、并操作等运算,只需要了解这些运算会有什么特征即可。 如自然连接操作,会根据 R与 S的公共字段做连接操作,结果集的属性应该包含 R与 S的所有属性,但本题中 T仅有 1个属性,显然不是。 交与并操作往往是针对 R与 S有着相同属性的情况下,对记录进行交或并操作。本题 R与 S属性数量
34、不相等,所以也无法做此操作。 只有除运算,其属性为 RS,刚好符合要求,所以应为除运算。16.下列关于线程和进程的说法正确的是_。(分数:1.80)A.进程结构的所有成分都在用户空间内B.用户程序能够直接访问进程涉及的数据C.线程是内核级的实体D.线程结构驻留在用户空间中 解析:解析 本题考查线程和进程的概念。线程与进程在概念上是相关的,进程由代码、数据、内核状态和一组寄存器组成,而线程是由表示程序运行状态的寄存器,如程序计数器、栈指针以及堆栈组成,线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直
35、接访问这些数据。线程是一个用户级的实体,线程结构驻留在用户空间中,能够被普通的用户级方法直接访问。17.Applet类的直接父类是_。(分数:2.00)A.Component类B.Frame类C.Container类D.Panel类 解析:解析 Applet 类与 JApplet类在 AWT类中的层次关系如图所示。从下图中可以看出其直接父类是Panel。 18.下列关于构造方法的叙述中,错误的是_。(分数:2.00)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用 void声明C.Java语言规定构造方法不可以重载 D.Java语言规定构造方法只能通过
36、 new自动调用解析:19.当一个 Applet被加载,后续对 Applet生命周期方法的调用中,可能存在的次序是_。(分数:1.80)A.start(), stop(), destroy()B.init(), start(), stop(), start(), stop(), destroy() C.start(), init(), stop(), destroy()D.init(), start(), destroy()解析:解析 init()一般用来完成所有必需的初始化操作,start()是在初始化之后 Applet被加载时调用,stop()在 Applet停止执行时调用,destory
37、()是 Applet从系统中撤出时调用。20.下面程序的输出结果是_。 #include stdio.h main() int x=10; int x=20; printf(“%d,“,x); printf(“%d/n“, x); (分数:2.00)A.10, 20B.20, 10 C.10, 10D.20, 20解析:21.下列选项中,不是 Applet标记的是_。(分数:2.00)A.PARAMB.BODY C.CODEBASED.ALT解析:解析 本题考查 Applet标记。PARAM 标记可定义参数;CODEBASE 标记指定 Applet的 URL地址;ALT标记指定浏览器能够理解.
38、APPLET标记但不能运行 Java Applet时显示的文字;BODY 是 HTML语言标记,但不是 APPLET标记。22.在 Java中,实现用户界面功能的包是(分数:2.00)A.java.appletB.java.transactionC.java.utilD.java.awt 解析:解析 抽象窗口工具包 AWT是 Java提供的建立图形用户界面的开发包。23.下面描述中,不属于软件危机表现的是_。(分数:1.80)A.软件过程不规范 B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析 对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;
39、软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。24.Java虚拟机的执行过程有多个特点,下列不属于 JVM执行特点的是_。(分数:1.00)A.多线程B.动态连接C.异常处理D.异步处理 解析:25.在长度为 z的有序线性表中进行二分查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.80)A.B.C. D.解析:解析 对于长度为 n的有序线性表,在最坏情况下,二分法查找只需比较 lo
40、g 2 n次,而顺序查找需要比较 n次。26.在关系 A(S, SN, D)和关系 B(D, CN, NM)中,A 的主关键字是 S,B 的主关键字是 D,则关系 A的外码是_。(分数:1.80)A.CNB.SNCSDD 解析:解析 外码用于建立和加强两个关系之间的连接,通过将保存关系中主键值的一列或多列属性添加到另一个关系中,可建立两个关系之间的联系,这个列属性称为第二关系的外码。27.如果在一个关系中存在多个属性(或属性组)都能用来唯一标识关系的元组,且其任何一个子集都不具有这一特性。这些属性(或属性组)都被称为关系的_。(分数:2.00)A.连接码B.主码C.外码D.候选码 解析:解析
41、在关系中凡能唯一标识元组中最小属性集的称为该关系的单键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。28.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的软件系统时描写新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后才能够分析和寻求新系统的解决方法
42、。需求分析主要是了解用户的需求为以后的设计和测试提供依据,其最后产生的主要文档是软件需求规格说明书。29._是有关国际组织的标准。(分数:1.00)A.APIB.Org包 C.扩展包 JavaxD.Java核心包解析:30.如下程序的输出结果是_。 public class Test void printValue(int m) do System.out.println(“The value is“+m); while(-m 10 ) public static void main(String args) int i=10; Test t= new Test(); t.printValue
43、(i); (分数:2.00)A.The value is 8B.The value is 9C.The value is 10 D.The value is 11解析:解析 此题考查的是 do-while循环和“-”操作符的知识。do while 最少执行一次,在执行完do中的内容后,判断 while中的条件是否为 true。如果为 true,就再执行 do中的内容,然后再进行判断。以此类推,直到 while的判断为 false时退出循环,执行循环后面的内容。而“-“操作符的规则是,变量右边的“-“将先进行运算,然后才使变量的值减一。而在变量左边的“-“,则先将变量的值减一再运算。 本程序中
44、I的值为 10,当程序运行到 do-while循环时,程序先执行一次循环后然后再做判断,因此选C。31.下列叙述中正确的是_。(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 线性链表的节点包括节点内容以及指向下一节点的指针,因此其各个元素在存储空间的位置不一定是连续的,同样表头元素也不一定存储在其他元素的前面。32.某二叉树有 5个度为 2
45、的结点,则该二叉树中的叶子结点数是_。(分数:1.80)A.10B.8C.6 D.4解析:解析 根据二叉树的性质判定,在任意二叉树中,度为 0的叶子结点总是比度为 2的结点多一个。33.在结构化程序设计中,模块划分的原则是_。(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度 解析:解析 软件设计中通常采用结构化设计方法,模块的独立程度是评价设计好坏的重要度量标准。耦合性与内聚性是模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量;耦合性是模块间互相连接的紧密程度的度量。一
46、般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。34.有两个关系 R和 T如下: (分数:2.00)A.选择B.投影C交D并 解析:解析 关系的选择运算是指从关系 R中得到满足给定条件的元组组成新的关系。由题可以看出,T是由满足条件 R.B=T.B and R.C=T.C进行选择得到的。35.阅读下列代码片段 class InterestTest_ActionListener public void actionPerformed(ActionEvent event) double interest=balance*rate/1
47、00; balance+=interest; NumberFormat format=NumberFormat. getCurrencyInstance(); System. out. printb(“balance=“+formatter. format(balance); Private double rate; 在下画线处,应填的正确选项是_。(分数:1.80)A.ImplementationB.InheritanceC.implementsD.extends 解析:解析 继承父类应使用的关键词为 exlends。36.Panel和 Applet的默认的布局管理器是(分数:1.00)A.CardLayoutB.BorderLayoutC.FlowLayout D.GridLayout解析:解析 Panel 和 Applet的默认的布局管理器是 FlowLayout。37.下面程序段的输出结果为 public class Test public static void main(String args) boolean a,b,c;