1、国家二级(JAVA)笔试-试卷 33 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.在待排序的元素序列基本有序的前提下,效率最高的排序方法是 ( )(分数:2.00)A.冒泡排序B.选择排序C.快速排序D.归并排序3.非空的循环单链表 head 的尾结点(由 p 所指向),满足 ( )(分数:2.00)A.pnext=NULLB.p=NULLC.pnext=headD.p=head4.线性表的顺序存储结构和线性
2、表的链式存储结构分别是 ( )(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构5.结构化程序设计所规定的三种基本控制结构是 ( )(分数:2.00)A.输入、处理、输出B.树形、网形、环形C.顺序、选择、循环D.主程序、子程序、函数6.下列不属于软件调试技术的是 ( )(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法7.软件生命周期中花费时间最多的阶段是 ( )(分数:2.00)A.详细设计B.软件编码C.软件测试D.软件维护8.软件设
3、计中,有利于提高模块独立性的一个准则是 ( )(分数:2.00)A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合9.数据库的故障恢复一般是由 ( )(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的D.PAD 图完成的10.下列关系运算的叙述中,正确的是 ( )(分数:2.00)A.投影、选择、连接是从二维表行的方向进行的运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表列的方向进行的运算D.以上 3 种说法都不对11.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将 ( )(分数:2.00)A.等于原来关系中的元组个
4、数B.大于原来关系中的元组个数C.小于原来关系中的元组个数D.不能确定元组个数12.下列说法不正确的是 ( )(分数:2.00)A.Java 语言不支持分布式计算B.Java 是跨平台的语言C.Java 是面向对象语言D.Java 是具有多线程并发机制的语言13.下列_命令是 Java 的编译命令? ( )(分数:2.00)A.javacB.javaC.javadocD.appletviewer14.若所用变量都已正确定义,则在以下选项中,非法的表达式是 ( )(分数:2.00)A.a!=4|b=1B.a3C.a=1/2D.a+3215.下列属于合法的 Java 标识符是 ( )(分数:2.0
5、0)A.“ABC”B.SalerC. Panel p=new Panel(); p.add(new label (“one“); p.add(new Checkbox(“two“); add (“North“,p); add (“Center“, new TextArea (“three“, 3,10); Dialog d=new Dialog(this,“a cat“, 1); d.add(“North“,new Label (“Modal dialog“); d.add(“Center“,new TextArea(“hello“); d.pack (); d.show(); public
6、static void main(String args ) DialogDemo f=new DialogDemo(); f.pack(); f.show (); (分数:2.00)填空项 1:_50. 1 类定义了 Applet 与其运行环境之间的一个标准接口。(分数:2.00)填空项 1:_51.在需要自定义 Swing 构件的时候,首先要确定使用哪种构件作为所定制构件的 1,建议继承 JPanel 类或更具体的 Swing 构件类。(分数:2.00)填空项 1:_52.下列 Applet 在坐标(20,20)处显示一幅 GIF 图像,请填写正确的程序在横线处。 import java.
7、awt.*; import java.applet.*; import .URL; public class Test13 extends Applet Image i; public void init() URL url=getDocumentBase(); String name=“IMG onClick=over(this) title=放大 0.gif“; 1; public void paint(Graphics g) g.drawImage( i,20,20, this); (分数:2.00)填空项 1:_国家二级(JAVA)笔试-试卷 33 答案解析(总分:104.00,做题时
8、间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.在待排序的元素序列基本有序的前提下,效率最高的排序方法是 ( )(分数:2.00)A.冒泡排序 B.选择排序C.快速排序D.归并排序解析:解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项 A。3.非空的循环单链表 head 的尾结点(由 p
9、 所指向),满足 ( )(分数:2.00)A.pnext=NULLB.p=NULLC.pnext=head D.p=head解析:解析:循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点),即 pnext=head。4.线性表的顺序存储结构和线性表的链式存储结构分别是 ( )(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构解析:解析:该题考查的是线性表存储结构的基本知识。顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通
10、过公式 LOC(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。5.结构化程序设计所规定的三种基本控制结构是 ( )(分数:2.00)A.输入、处理、输出B.树形、网形、环形C.顺序、选择、循环 D.主程序、子程序、函数解析:解析:顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的 3 种基本结构。6.下列不属于软件调试技术的是 ( )(分数:2.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:解析:我们严格区分调试与测试,调试是已知有错误而来找错误
11、,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找 BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。所以答案是选项 B。 A、C、D 都是具体的程序调试方法,而 B 是宏观的程序测试方法。测试有单元测试、集成测试、确认测试、系统测试。比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D 的方法来找错误。7.软件生命周期中花费时间最多的阶段是 ( )(分数:2.00)A.详细设计B.软件编码C.软件测试D.软件维护 解析:解析:软件生命周期分为软件定义、软件开发及软件运行维护 3 个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生
12、命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。8.软件设计中,有利于提高模块独立性的一个准则是 ( )(分数:2.00)A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合解析:解析:模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。一般优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。9.数据库的故障恢复一般是由 ( )(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的
13、 D.PAD 图完成的解析:解析:一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS 一般都提供此种功能,并由 DBA负责执行故障恢复功能。10.下列关系运算的叙述中,正确的是 ( )(分数:2.00)A.投影、选择、连接是从二维表行的方向进行的运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表列的方向进行的运算 D.以上 3 种说法都不对解析:解析:在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡尔积等),还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的。
14、后者是从二维表的列的方向来进行运算的。11.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将 ( )(分数:2.00)A.等于原来关系中的元组个数B.大于原来关系中的元组个数C.小于原来关系中的元组个数D.不能确定元组个数 解析:解析:投影:按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。如果有重复的元组,投影操作去掉重复的元组,则得到的新关系的元组个数将会少于原来的元组个数;如果没有重复的元组,则新关系的元组个数等于原来的元组个数。所以不能确定元组个数。12.下列说法不正确的是 ( )
15、(分数:2.00)A.Java 语言不支持分布式计算 B.Java 是跨平台的语言C.Java 是面向对象语言D.Java 是具有多线程并发机制的语言解析:解析:本题考查 Java 语言的特点。 Java 语言是一种高级语言,它具有简单、面向对象、分布式、解释型、鲁棒性、安全、结构中立、可移植、高效率、多线程、动态等特点。13.下列_命令是 Java 的编译命令? ( )(分数:2.00)A.javac B.javaC.javadocD.appletviewer解析:解析:javac 程序是 Java 的编译器。它把.java 文件编译成.class 文件。Java 是 Java 解释器,用于
16、直接从类文件执行 Java 应用程序字节代码。Javadoc 用于生成 API 文档,根据 Java 源码及说明语句生成 HTML 文档。Appletviewer 是一种执行 HTML 文件上的 Java Applet 的 Java 浏览器。14.若所用变量都已正确定义,则在以下选项中,非法的表达式是 ( )(分数:2.00)A.a!=4|b=1B.a3C.a=1/2 D.a+32解析:解析:选项 C 中的a是单字节它是不允许被赋值的。所以选项 C 是非法的表达式。选项 A 是逻辑表达式,是正确的。选项 B 是字符a的值与 3 进行求余运算。是正确的。选项 D 参加运算的也是字符a的值,所以这
17、个表达式也是正确的。15.下列属于合法的 Java 标识符是 ( )(分数:2.00)A.“ABC”B.Saler C. Panel p=new Panel(); p.add(new label (“one“); p.add(new Checkbox(“two“); add (“North“,p); add (“Center“, new TextArea (“three“, 3,10); Dialog d=new Dialog(this,“a cat“, 1); d.add(“North“,new Label (“Modal dialog“); d.add(“Center“,new TextA
18、rea(“hello“); d.pack (); d.show(); public static void main(String args ) DialogDemo f=new DialogDemo(); f.pack(); f.show (); (分数:2.00)填空项 1:_ (正确答案:正确答案:true)解析:解析:本题是考查对话框的有关属性和使用方法。Dialog 是 Window 的子类,它表示一个对话窗口。与 Frame 不同,它的存在依赖于其他窗口,当它所依赖的窗口被关闭时,对话框也消失。当指定的对话框为 modal,这时当对话框出现时,用户只能对它进行操作,而不能对其他窗口
19、进行操作。Dialog 的构造方法如下 Dialog(Frame parent,Boolean modal); Dialog(Frame parent,String title,Boolean modal);50. 1 类定义了 Applet 与其运行环境之间的一个标准接口。(分数:2.00)填空项 1:_ (正确答案:正确答案:Applet)解析:解析:Applet 类包括了 Applet 生命周期及其与环境交互的许多方法,支持用户自己定义 Applet应用。51.在需要自定义 Swing 构件的时候,首先要确定使用哪种构件作为所定制构件的 1,建议继承 JPanel 类或更具体的 Swin
20、g 构件类。(分数:2.00)填空项 1:_ (正确答案:正确答案:父类)解析:解析:在需要自定义 Swing 构件的时候,必须选择一个父类。52.下列 Applet 在坐标(20,20)处显示一幅 GIF 图像,请填写正确的程序在横线处。 import java.awt.*; import java.applet.*; import .URL; public class Test13 extends Applet Image i; public void init() URL url=getDocumentBase(); String name=“IMG onClick=over(this) title=放大 0.gif“; 1; public void paint(Graphics g) g.drawImage( i,20,20, this); (分数:2.00)填空项 1:_ (正确答案:正确答案:i=getImage(url,name))解析:解析:通过调用 getImage(URL url,String name)方法获得在 url 中的名为 name 的图像文件。