1、二级 JAVA 笔试-215 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于如下这段代码的说法中正确的是( )。public class testpublic static void throwit()throw new RuntimeException();public static void main(String args)trySystem.out.println(“你好吗”);throwit();System.out.println(“出错!”);finallySystem.out.println(“结束”);(分数:2
2、.00)A.以上程序段不会编译B.程序输出“你好吗”,然后有 RuntimeException 异常发生,输出“出错!”,输出“结束”C.程序输出“你好吗”,然后有 RuntimeException 异常发生,然后输出“结束”D.程序输出“你好吗”,然后输出“结束”,然后有 RunthneException 异常发生2.下列命令中用于为远程对象生成 stub 和 skeleton 的是( )。(分数:2.00)A.rmicB.rmiregistryC.rmidD.serialver3.向 Applet 中画图、画图像、显示字符串,都要用的方法是( )。(分数:2.00)A.paint()B.i
3、nit()C.start()D.destroy()4.java.lang.object 类中实现线程通信的两个方法是( )。(分数:2.00)A.wait()和 notify()B.write()和 read()C.output()和 input()D.start()和 stop()5.设有整形数组的定义 int a=new int8,则 a.length 的值为( )。(分数:2.00)A.8B.9C.7D.66.VisualFoxPro 是一种( )。(分数:2.00)A.数据库管理系统软件B.操作系统软件C.文字处理软件D.CAD 软件7.线程组是一个 Java 特有的概念,在 Java
4、 中,线程组是类 ThreadGronp 的对象,每个线程都隶属于( )个线程组。(分数:2.00)A.0B.1C.2D.可以多于 28.以下各项中不属于 FlowLayout 构造方法的是( )。(分数:2.00)A.FlowLayout(FlowLayout.RIGHT,20,40)B.FlowLayout(FlowLayout.LEFT)C.FlowLayout()D.FlowLayout(20,40)9.以下程序的运行结果为( )。public class Sunpublic static void main(String args)String x=“A“,y=“B“,z=“C“;f
5、or(int m=1;m=2;m+)x=y;y=z;z=x;System.out.println(x+y+z);(分数:2.00)A.ABCB.BCAC.BCBD.CBC10.运行下面程序后,正确的输出结粜是( )。public class Sunpublic static void main(String args)int x=6;if(x6)System.out.printin(“x6“);elseif(x8)System.out.println(“X8“);elseif(x=6)System.out.println(“x=6“);(分数:2.00)A.x8x=6B.x8C.x=6D.x8
6、 或 x=611.以下方法不属于结构化分析方法的是( )。(分数:2.00)A.面向数据流的结构化分析方法B.面向数据结构的 Jackson 方法C.面向数据结构的结构化数据系统开发方法D.面向对象的分析方法12.继承就是创建一个具有别的类的( )的新类的能力。(分数:2.00)A.名字和地址B.属性和行为C.数据和指针D.属性和引用13.阅读下列代码段,选出该代码段的正确文件名( )。class Avoid methodl()System.out.println(“methodl in class A“);public class Bvoid method2()System.out.prin
7、tln(“method2 in class B“);public static void main(String args)System.out.println(“main in class B“);(分数:2.00)A.javaB.classC.classD.java14.在编写 JavaApplet 程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上( )语句。(分数:2.00)A.importjava.awt.*;B.importjava.applet.*;C.importjava.io.*;D.importjava.awt.event.*;15.对建立良好的程序设计风格
8、,下面有关语句结构描述错误的是( )。(分数:2.00)A.在一行内只写一条语句B.程序编写应优先考虑清晰性C.程序编写要做到效率第一,清晰第二D.避免不必要的转移16.以下过程设计工具不属于图形工具的是( )。(分数:2.00)A.程序流程图B.PADC.HIPOD.PDL17.以下各项中不属于 Java 语言的数据类型的是( )。(分数:2.00)A.指针类型B.类C.数组D.浮点数类型18.下列各项关于变量的描述中正确的是( )。(分数:2.00)A.变量名不是标识符B.变量名的字符是不区分大小写的C.变量名的定义必须符合标识符的定义规则D.变量属性分为基本类型和复合类型19.需求分析阶
9、段最后提供的文档是软件的( )。(分数:2.00)A.功能说明书B.加工说明书C.可行性分析报告D.需求规格说明书20.下列哪一项不是 J2ME 中的 Profile 所定义的内容? ( )(分数:2.00)A.应用系统的生命周期模型B.用户界面的特性C.访问设备的特性D.使用 X.509 认证21.在一个长度为 n 的线性表中插入一个元素,最好情况下需要移动的数据元素数目为( )。(分数:2.00)A.0B.1C.nD.n/222.在类作用域中说明的标识符在( )可见。(分数:2.00)A.类外B.类中C.类外和类中D.对象中23.Java 程序的解释执行过程分为( )。(分数:2.00)A
10、.代码的装入、校验、执行B.代码的校验、装入、执行C.代码的校验、装入、执行D.代码的装入、执行、校验24.下面对形参的说法,正确的是( )。(分数:2.00)A.必须有多个B.至少有一个C.可以没有D.只能是简单变量25.以下叙述中不正确的是( )。(分数:2.00)A.在一个函数中,可以有多条 return 语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用相同名字的变量26.在 Java 中,byte 变量的最大值和流中的无符号字节的最大值( )。(分数:2.00)A.都是 255B.前者是 127,后者是 1024C.都是 1024D.对于 b
11、yte 变量是 127,对于无符号字节是 25527.Bitset 这个类实际是由( )构成的一个 Vector。(分数:2.00)A.二进制位B.字符串C.Object 类D.整数型28.下列代码段执行结果为( )。public class Testpublic static void main(String args)System.out.println(“abc“+3+4+5);System.out.println(3+4+5+“abc“);(分数:2.00)A.编译出错B.abc345 abc345C.abc 和 12D.abc345 和 12abc29.下列循环执行的次数为( )。i
12、nt y=2,x=4;while(-x!=x/y)(分数:2.00)A.1B.2C.3D.030.在关系数据库中,用来表示实体之间联系的是( )。(分数:2.00)A.树结构B.网结构C.线形表D.二维表31.下面这个程序段的时间复杂度是( )。for (i=1; in; i+)y=y+1;for (j=0;3-(2*n);j+)x+;(分数:2.00)A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)32.下面代码段的输出结果为( )。public class Testpublic static void main(String sss)int i=0xFFFFFFFl;i
13、nt j=i;(分数:2.00)A.0B.1C.14D.-1533.在 init()函数里得到 applet 窗口的宽度的语句是( )。(分数:2.00)A.int width=this.getY();B.int width=getSize();C.int width=getSize().w;D.int width=getWidth();34.下列叙述中不正确的是( )。(分数:2.00)A.线形表是线性结构B.栈与队列是线性结构C.线性链表是线性结构D.二叉树是线性结构35.下列方法中能产生确认对话框 ConfirmDialog 的是( )。(分数:2.00)A.showInputDialo
14、g()B.InputDialog()C.showMessageDialog()D.showOptionDialog()二、填空题(总题数:15,分数:30.00)36.设有二维数组 A09,019,其每个元素占两个字节,第 1 个元素的存储地址为 100,若按行优先顺序存储,则元素 A6,6的存储地址为 【1】 。(分数:2.00)填空项 1:_37.软件工程概念的出现源自 【2】 。(分数:2.00)填空项 1:_38.数据流图的类型有 【3】 和事务型。(分数:2.00)填空项 1:_39.一个学生关系模式为(学号,姓名,班级号,),其中学号为关键字;一个班级关系模式为(班级号,专业,教室
15、,),其中班级号为关键字。则学生关系模式中的外关键字为 【4】 。(分数:2.00)填空项 1:_40.从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是 【5】 。(分数:2.00)填空项 1:_41.要引入 包中的 URL 公有类,需要使用语句 【6】 。(分数:2.00)填空项 1:_42.在 Java 语言中,如果数字后没有任何字母,计算机默认为 【7】 类型。(分数:2.00)填空项 1:_43.方法 【8】 将对象的 wait pool 中的所有线程都移到 lock pool 中。(分数:2.00)填空项 1:_44.Java 线程的线程体是一个线程类的 【9】
16、方法。(分数:2.00)填空项 1:_45.Java 中流是一个流动的 【10】 ,数据从数据源流向数据目的地。(分数:2.00)填空项 1:_46.Java 图形用户界面技术的发展经历了两个阶段,具体体现在开发包 AXVT 和 【11】 。(分数:2.00)填空项 1:_47.下面类中,有两个下拉列表,一个可以选择月份,一个可以选择 2000-2009 年之间的年份。import javax.swing*;public class Expiration extends JFrameJComboBox monthBox=new JComboBox();JComboBox yearBox=new
17、 JComboBox();public Expiration()super(“Expiration Date“);setSize(240,90);setDefaultCloseOperation(JFrame.EXIT ON CLOSE);JPanel pane=new JPanel();JLabel exp=new JLabel(“Expiration Date:“);for(int i=0;i13;i+)monthBox.addItem(“ “+i);for (int i=2000;i2010;i+)yearBox.addItem(“ “+i);pane.add(exp);pane.add
18、(monthBox)【12】 ;setContentPane(pane);public static void main(String arguments)Expiration expiration=new Expiration();expiration.show();请在画线处填入正确的语句使得程序完整。(分数:2.00)填空项 1:_48.Applct 生命周期中的关键方法包括:init()、stsrt()、stop()和 【13】 。(分数:2.00)填空项 1:_49.用来填充几何图形的方法是 【14】 。(分数:2.00)填空项 1:_50.下列 Applet 在窗口中放置一个按钮,
19、并用这个按钮控制弹出窗口的显示和隐藏。请在横线处填写正确的程序。import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class Test15.extends AppletFrame frm=new Frame(“Test15“);public void init()Button btn=new Button(“窗口”);btn.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)if( 【
20、15】 )frm.setVisible(false);elsefrm.setSize(200,200);frm.setVisible(true););add(btn);(分数:2.00)填空项 1:_二级 JAVA 笔试-215 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于如下这段代码的说法中正确的是( )。public class testpublic static void throwit()throw new RuntimeException();public static void main(String args)try
21、System.out.println(“你好吗”);throwit();System.out.println(“出错!”);finallySystem.out.println(“结束”);(分数:2.00)A.以上程序段不会编译B.程序输出“你好吗”,然后有 RuntimeException 异常发生,输出“出错!”,输出“结束”C.程序输出“你好吗”,然后有 RuntimeException 异常发生,然后输出“结束”D.程序输出“你好吗”,然后输出“结束”,然后有 RunthneException 异常发生 解析:解析 此程序没有语法错误,可以通过编译,所以选项 A 错误。程序首先从执行
22、try 块开始,输出“你好”,然后执行 throwit()方法。在 throwit()方法中导致 Runtime Exception 异常的发生,因此,不会执行 by 块中 throwit()方法后的语句。由于 by 块的后面存在 finally 块,在 Java 中,一旦定义了finally 块,就保证一定会执行它,而不管是否发生了异常,所以执行 finally 块中的语句,从而输出“结束”。由于没有 catch 块来捕获发生的异常,程序的执行被中止。2.下列命令中用于为远程对象生成 stub 和 skeleton 的是( )。(分数:2.00)A.rmic B.rmiregistryC.r
23、midD.serialver解析:解析 Java 语言的 RMI 命令包括;rmic、 rmiregistry、rmid、serialver。其中,命令 rmic 为远程对象生成 stub 和 skeleton。3.向 Applet 中画图、画图像、显示字符串,都要用的方法是( )。(分数:2.00)A.paint() B.init()C.start()D.destroy()解析:解析 Applet 是工作在图形方式下的,向 Applet 中画图、画图像、显示字符串,都要用 paint()方法。每当 Applet 初次显示或更新时,浏览器都将调用 paint()方法。4.java.lang.o
24、bject 类中实现线程通信的两个方法是( )。(分数:2.00)A.wait()和 notify() B.write()和 read()C.output()和 input()D.start()和 stop()解析:解析 Java 语言引入方法 wait()和 notify(),这两个方法是 java.lang.object 类的方法,是实现线程通信的两个方法。5.设有整形数组的定义 int a=new int8,则 a.length 的值为( )。(分数:2.00)A.8 B.9C.7D.6解析:解析 数组在 Java 语言中是当作对象来处理的,它包含一个很重要的变量 length,用来表示
25、数组的长度。6.VisualFoxPro 是一种( )。(分数:2.00)A.数据库管理系统软件 B.操作系统软件C.文字处理软件D.CAD 软件解析:解析 Visual FoxPro 属于小型数据库管理系统软件,它是微软的产品,只具备数据库管理系统的一些简单功能。7.线程组是一个 Java 特有的概念,在 Java 中,线程组是类 ThreadGronp 的对象,每个线程都隶属于( )个线程组。(分数:2.00)A.0B.1 C.2D.可以多于 2解析:解析 本题是对线程组概念的考查。线程组是一个 Java 特有的概念,在 Java 中,线程组是类ThreadGroup 的对象,每个线程都隶
26、属于唯一一个线程组,这个线程组在线程创建时指定并在线程的整个生命期内都不能更改。可以通过调用包含 ThreadGroup 类型参数的 Thread 类构造函数来指定线程所属的线程组,若没有指定,则线程默认地隶属于名为 system 的系统线程组。在 Java 中,除了预建的系统线程组外,所有线程组都必须显式创建。在 Java 中,除系统线程组外的每个线程组又隶属于另一个线程组,可以在创建线程组时指定其所隶属的线程组,若没有指定,则默认地隶属于系统线程组。这样,所有线程组组成了一棵以系统线程组为根的树。Java 允许对一个线程组中的所有线程同时进行操作,比如可以通过调用线程组的相应方法来设置其中
27、所有线程的优先级,也可以启动或阻塞其中的所有线程。Java 的线程组机制的另一个重要作用足线程安全。线程组机制允许通过分组来区分有不同安全特性的线程,对不同组的线程进行不同的处理,还可以通过线程组的分层结构来支持不对等安全措施的采用。Java 的 ThreadGroup 类提供了大量的方法来方便我们对线程组树中的每一个线程组以及线程组中的每一个线程进行操作。8.以下各项中不属于 FlowLayout 构造方法的是( )。(分数:2.00)A.FlowLayout(FlowLayout.RIGHT,20,40)B.FlowLayout(FlowLayout.LEFT)C.FlowLayout()
28、D.FlowLayout(20,40) 解析:解析 FlowLayout 的构造方法主要有 3 种,它们分别是:FlowLayout(FIowLay out.RIGHT,20,40)、FlowLayout(FlowLayout. LEFT)和 FlowLayout()。9.以下程序的运行结果为( )。public class Sunpublic static void main(String args)String x=“A“,y=“B“,z=“C“;for(int m=1;m=2;m+)x=y;y=z;z=x;System.out.println(x+y+z);(分数:2.00)A.ABCB
29、.BCAC.BCBD.CBC 解析:解析 本题考查对 for 循环语句的理解。 for 循环语句在循环中分别将变量 x、y、z 的初值“A”、“B”、“C”重新赋值,第 1 次循环分别赋给变量 x、y、z 的值为“B”、“C”和“B”,第 2 次循环分别赋给变量 x、y、z 的值为“C”、“B”和“C”。故本题答案是 D。10.运行下面程序后,正确的输出结粜是( )。public class Sunpublic static void main(String args)int x=6;if(x6)System.out.printin(“x6“);elseif(x8)System.out.pri
30、ntln(“X8“);elseif(x=6)System.out.println(“x=6“);(分数:2.00)A.x8x=6B.x8 C.x=6D.x8 或 x=6解析:解析 本题考查对 if-else 条件语句的理解。本题是 if-else 语句的嵌套结构。x=6 时,不满足if 条件,执行 else 语句,满足 x8 的条件,输出 x8。故本题答案是 B。11.以下方法不属于结构化分析方法的是( )。(分数:2.00)A.面向数据流的结构化分析方法B.面向数据结构的 Jackson 方法C.面向数据结构的结构化数据系统开发方法D.面向对象的分析方法 解析:解析 常见的需求分析方法有:结
31、构化分析方法和面向对象的分析方法。其中,结构化分析方法包括面向数据流的结构化分析方法、面向数据结构的 Jackson 方法和面向数据结构的结构化数据系统开发方法。12.继承就是创建一个具有别的类的( )的新类的能力。(分数:2.00)A.名字和地址B.属性和行为 C.数据和指针D.属性和引用解析:解析 本题考查继承的基本概念。特殊类的对象拥有其一般类的全部属性与方法,称做特殊类对一般类的继承。或者说是一个对象类可以获得另一个对象类的属性和行为。13.阅读下列代码段,选出该代码段的正确文件名( )。class Avoid methodl()System.out.println(“methodl
32、in class A“);public class Bvoid method2()System.out.println(“method2 in class B“);public static void main(String args)System.out.println(“main in class B“);(分数:2.00)A.javaB.classC.classD.java 解析:解析 Java 源程序文件是以.java 为后缀的,Java 字节码文件以.class 为后缀,而且 Java 源文件中只能有一个 public 类,该类的名字为源文件名,程序段中类 B 是以 public 修
33、饰的,因此源程序文件名为 B.java。14.在编写 JavaApplet 程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上( )语句。(分数:2.00)A.importjava.awt.*;B.importjava.applet.*;C.importjava.io.*;D.importjava.awt.event.*; 解析:解析 本题考查事件响应的基本知识。选项 A 错误,引入的是 awt 下级的类;选项 B 错误,引入的是关于 applet 的类;选项 C 错误,引入的是系统输入输出包;选项 D 正确,对事件做出响应,需要引入 java.awt. event.*包。15
34、.对建立良好的程序设计风格,下面有关语句结构描述错误的是( )。(分数:2.00)A.在一行内只写一条语句B.程序编写应优先考虑清晰性C.程序编写要做到效率第一,清晰第二 D.避免不必要的转移解析:解析 语句结构的风格对建立良好的程序设计风格很重要,选项 A、B、D 都是良好的语句结构的风格,考生应在编程中注意;选项 C 是错误的,好的语句结构风格要求程序编写要做到清晰第一,效率第二。16.以下过程设计工具不属于图形工具的是( )。(分数:2.00)A.程序流程图B.PADC.HIPOD.PDL 解析:解析 常用的过程设计工具有图形工具、表格工具和语言工具,其中,图形工具包括程序流程图、N-S
35、、PAD、HIPO;表格工具有判定表;语言工具有 PDL(伪码)。17.以下各项中不属于 Java 语言的数据类型的是( )。(分数:2.00)A.指针类型 B.类C.数组D.浮点数类型解析:解析 指针类型不属于 Java 语言的数据类型;类和数组是 Java 语言的复合数据类型;浮点数类型属于 Java 语言的简单数据类型。18.下列各项关于变量的描述中正确的是( )。(分数:2.00)A.变量名不是标识符B.变量名的字符是不区分大小写的C.变量名的定义必须符合标识符的定义规则 D.变量属性分为基本类型和复合类型解析:解析 变量名必须是合法的标识符,否则程序在编译过程中会出错,故 A 选项是
36、错误的;C 选项是正确的;选项 D 错误,变量类型可以分为基本类型和复合类型,而变量属性不能如此分类。19.需求分析阶段最后提供的文档是软件的( )。(分数:2.00)A.功能说明书B.加工说明书C.可行性分析报告D.需求规格说明书 解析:解析 选项 A、B、C 都是需求分析前段时间的文档。需求分析阶段最后成果就是软件需求规格说明书,它是软件开发的重要文档之一。20.下列哪一项不是 J2ME 中的 Profile 所定义的内容? ( )(分数:2.00)A.应用系统的生命周期模型B.用户界面的特性C.访问设备的特性D.使用 X.509 认证 解析:解析 使用 X.509 认证是 J2SE 的附
37、加安全中的一部分,不是 Profile 中定义的内容。21.在一个长度为 n 的线性表中插入一个元素,最好情况下需要移动的数据元素数目为( )。(分数:2.00)A.0 B.1C.nD.n/2解析:解析 在一般情况下,要在第 i 个元素之前插入一个新元素时,首先是从最后一个元素开始,直到第 i 个元素之间共 n-i+1 个元素依次向后移动一个位置,移动结束后,第 i 个位置就被空出,然后将新元素插入到第 i 项。最好情况指的是在线性表的最后插入一个新元素,则不需要移动表中元素。答案为 A。22.在类作用域中说明的标识符在( )可见。(分数:2.00)A.类外B.类中 C.类外和类中D.对象中解
38、析:解析 在类作用域中说明的标识符是局部的,只能在本类中可见,类外及对象中是不可见的。23.Java 程序的解释执行过程分为( )。(分数:2.00)A.代码的装入、校验、执行 B.代码的校验、装入、执行C.代码的校验、装入、执行D.代码的装入、执行、校验解析:解析 该题考查考生对 Java 程序的解释执行过程的掌握。解释执行过程分 3 步进行:代码的装入,装入代码的工作由“类装载器”完成;代码的校验,被装入的代码由字节码校验器进行检查;代码的执行,通过校验后,代码便开始执行了。24.下面对形参的说法,正确的是( )。(分数:2.00)A.必须有多个B.至少有一个C.可以没有 D.只能是简单变
39、量解析:解析 Java 语言中方法的形参可以没有。25.以下叙述中不正确的是( )。(分数:2.00)A.在一个函数中,可以有多条 return 语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值 D.不同的函数中可以使用相同名字的变量解析:解析 选项 A 是正确的,例如在一个包含 goto 语句的函数中,就可以有多条 return 语句。选项B 是正确的,函数的定义不能嵌套,否则进入死循环,但函数的调用可以嵌套,如在一个递归算法中。选项 C 是错误的,函数不一定有返回值。选项 D 是正确的,在函数中定义的变量属于局部变量,生存期在函数内部,因此不同的函数中可以使用相同名字的
40、变量。26.在 Java 中,byte 变量的最大值和流中的无符号字节的最大值( )。(分数:2.00)A.都是 255B.前者是 127,后者是 1024C.都是 1024D.对于 byte 变量是 127,对于无符号字节是 255 解析:解析 本题主要考查 Java 语言的字节类型这个知识点。无符号字节的值范围从 0255。这和Java 的 byte 变量类型不同,它的范围是从-128127。按照相同的思路,无符号(short)数值的范围从065535,而不是 Java 的 short 类型支持的-3276832767。故本题答案是 D。27.Bitset 这个类实际是由( )构成的一个
41、Vector。(分数:2.00)A.二进制位 B.字符串C.Object 类D.整数型解析:解析 本题主要考查 Bitset 类。选项 A 正确;选项 B、C、D 错误,Bitset 类这个类实际是由“二进制位”构成的一个 Vector,并不是由字符串构成的一个 Vector。28.下列代码段执行结果为( )。public class Testpublic static void main(String args)System.out.println(“abc“+3+4+5);System.out.println(3+4+5+“abc“);(分数:2.00)A.编译出错B.abc345 abc
42、345C.abc 和 12D.abc345 和 12abc 解析:解析 Java 语言对“+”运算符进行了扩展,使它能够进行字符串的连接。但是一般来说,如果“+”运算符的第一个操作数是字符串,则 Java 系统会自动将后续的操作数类型转换成为字符串类型,然后再进行连接;如果“+”运算符的第一个操作数不是字符串,则运算结果由后续的操作数决定。29.下列循环执行的次数为( )。int y=2,x=4;while(-x!=x/y)(分数:2.00)A.1B.2C.3 D.0解析:解析 首先判断终止条件,执行-x 之后, x=3,x/y=1,满足条件,执行第 1 次循环;再判断终止条件,执行-x 之后
43、,x=2,x/y=1,满足条件,执行第 2 次循环;依此类推可知一共执行了 3 次循环。30.在关系数据库中,用来表示实体之间联系的是( )。(分数:2.00)A.树结构B.网结构C.线形表D.二维表 解析:解析 数据库中的关系模型采用二维表来表示实体与实体之间的联系。31.下面这个程序段的时间复杂度是( )。for (i=1; in; i+)y=y+1;for (j=0;3-(2*n);j+)x+;(分数:2.00)A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2) 解析:解析 语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本例
44、算法中,其中语句“y=y+1;”的频度是 n-1,语句“x+;”的频度是(n-1)(2n+1)=2n2-n-1。则该程序段的时间复杂度是 T(n)=n-1+n2-n-1=O(n2)。32.下面代码段的输出结果为( )。public class Testpublic static void main(String sss)int i=0xFFFFFFFl;int j=i;(分数:2.00)A.0B.1C.14 D.-15解析:解析 本题考查对位运算符的理解和掌握。j 的值是将 i 的值按位取反得到的,所以,将0xFFFFFFF1 取反得到 0x0000000E,十进制数值为 14。故本题答案是
45、C。33.在 init()函数里得到 applet 窗口的宽度的语句是( )。(分数:2.00)A.int width=this.getY();B.int width=getSize();C.int width=getSize().w;D.int width=getWidth(); 解析:解析 applet 是一种窗口,它从父类里面继承了与窗口尺寸、大小、位置等有关的各种函数。选项 A,getY()函数是用来得到窗口的 y 坐标,此方法是错误的;选项 B,getSize()函数是用来得到窗口的尺寸,包括宽度与高度,但是它返回的是一个 Dimension 类的对象,此方法是错误的;选项 C,通过
46、 getSize()函数返回 Dimension 对象,企图调用它的表示宽度的成员变量,但是写错了, Dimension 类有两个成员变量,Width 和 Height,前者表示宽度,后者表示高度,此种方式也是错误的;选项D,getWidth()函数可以用来得到窗口的宽度,因此该方法是正确的。故本题答案是 D。34.下列叙述中不正确的是( )。(分数:2.00)A.线形表是线性结构B.栈与队列是线性结构C.线性链表是线性结构D.二叉树是线性结构 解析:解析 一个线性结构需要满足以下两个条件:一是有且只有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线形表、栈与队列、线性链表
47、都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。35.下列方法中能产生确认对话框 ConfirmDialog 的是( )。(分数:2.00)A.showInputDialog() B.InputDialog()C.showMessageDialog()D.showOptionDialog()解析:解析 本题考查关于 swing 组件确认对话框的基本知识。选项 A 正确,对话框 ConfirmDialog 可通过 showInputDialog()或 showC
48、onfirmDialog()方法来生成;选项 B 错误,InputDialog()可用于生成输入对话框 InputDialog;选项 C 错误,showMessage -Dialog()可用于生成消息对话框 Message -Dialog;选项 D 错误,showOptionDialog()可用于生成选项对话框 OptionDialog。故本题答案是 A。二、填空题(总题数:15,分数:30.00)36.设有二维数组 A09,019,其每个元素占两个字节,第 1 个元素的存储地址为 100,若按行优先顺序存储,则元素 A6,6的存储地址为 【1】 。(分数:2.00)填空项 1:_ (正确答案:352)解析:解析 行优先:Loc=100+(6*(19+1)+6)*2 =352。若列优先:Loc=100+(6*(9+1)+6)*2 =232。37.软件工程概念的出现源自 【2】 。(分数:2.00)填空项 1:_