二级JAVA真题2006年4月答案.doc

上传人:刘芸 文档编号:1473707 上传时间:2020-07-12 格式:DOC 页数:12 大小:71KB
下载 相关 举报
二级JAVA真题2006年4月答案.doc_第1页
第1页 / 共12页
二级JAVA真题2006年4月答案.doc_第2页
第2页 / 共12页
二级JAVA真题2006年4月答案.doc_第3页
第3页 / 共12页
二级JAVA真题2006年4月答案.doc_第4页
第4页 / 共12页
二级JAVA真题2006年4月答案.doc_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、二级JAVA真题2006年4月答案真题 120一、选择题(每小题2分,共70分) 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。 第1题:参考答案:D答案解析:结构化程序设计方法的主要原则有4点:自顶向下(先从最上层总目标开始设计,逐步使问题具体化)、逐步求精(对于复杂问题,设计一些子目标作为过渡,逐步细化)、模块化(将程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,每个小目标作为一个模块)、限制使用GOTO语句。没有可复用原则,所以选项D为答案。第2题:参考答案:A答案解析:本题考核模块独立性的评价。评价模块独立性的主要标准有两个;一是模块之间的耦合,它表明两个模块之

2、间互相独立的程度,也可以说是两个或两个以上模块之间关联的紧密程度(所以,本题的正确答案为选项A) ;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。第3题:参考答案:D答案解析:本题考核软件测试、软件调试和软件维护的概念。软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。软件测试具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;

3、一个成功的测试是发现了至今未发现的错误。由于测试的这一特征,一般应当避免由开发者测试自己的程序。所以,选项A的说法错误。 调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试,以检查调试的效果,同时也可防止在调试过程中引进新的错误。所以,选项B的说法错误。 软件维护通常有4类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。文档可以分为用户文档和系统文档两类。但无论是哪类

4、文档,都必须与程序代码同时维护。只有与程序代码完全一致的文档才有意义和价值。所以,选项C的说法错误。 综上所述,选项A、B、C的说法都错误,所以,选项D为正确答案。第4题:参考答案:B答案解析:“后进先出”表示最后被插入的元素最先能被删除。选项A中,队列是指允许在一端进行插入、而在另一端进行删除的线性表,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除,队列又称为“先进先出”的线性表,它体现了“先来先服务”的原则;选项B中,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素,栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。队列和栈都属

5、于线性表,它们具有顺序存储的特点,所以才有“先进先出”和“后进先出”的数据组织方式。双向链表使用链式存储方式,二叉树也通常采用链式存储方式,它们的存储数据的空间可以是不连续的,各个数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。所以选项C和选项D错误。第5题:参考答案:A答案解析:一个非空的数据结构如果满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件,则称为线性结构。线性链表是线性表的链式存储结构,选项A的说法是正确的。栈与队列是特殊的线性表,它们也是线性结构,选项B的说法是错误的:双向链表是线性表的链式存储结构,其对应的逻辑结构也是线性结构,

6、而不是非线性结构,选项C的说法是错误的;二叉树是非线性结构,而不是线性结构,选项D的说法是错误的。因此,本题的正确答案为 A。第6题:参考答案:D答案解析:二叉树后序遍历的简单描述如下:若二叉树为空,则结束返回。否则(1)后序遍历左子树:(2)后序遍历右子树;(3)访问根结点。 也就是说,后序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。根据后序遍历的算法,后序遍历的结果为DEBFCA。第7题:参考答案:C答案解析:在二叉树的第k层上,最多有2k-1(k1)个结点。

7、对于满二叉树来说,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点。因此,在深度为7的满二叉树中,所有叶子结点在第7层上,即其结点数为 2k-1=27-1=64 因此,本题的正确答案为C。第8题:参考答案:D答案解析:本题考核实体集之间的联系。实体集之间的联系有3种:一对一、一对多和多对多。因为一类商品可以由多个顾客购买,而一个顾客可以购买多类商品;所以,“商品”与“顾客”两个实体集之间的联系一般是“多对多”,选项D正确。第9题:参考答案:A答案解析:在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下:用矩形框表示实体,框内标明实体名;用椭圆状框表示实体

8、的属性,框内标明属性名;用菱形框表示实体间的联系,框内标明联系名。所以,选项A正确。第10题:参考答案:C答案解析:数据库管理系统DBMS是数据库系统中实现各种数据管理功能的核心软件。它负责数据库中所有数据的存储、检索、修改以及安全保护等,数据库内的所有活动都是在其控制下进行的。所以,DBMS包含数据库DB。操作系统、数据库管理系统与应用程序在一定的硬件支持下就构成了数据库系统。所以,DBS包含DBMS,也就包含DB。综上所述,选项C正确。第11题:参考答案:D答案解析:选项A,Java语言中,垃圾回收机制对系统中不使用的内存进行回收,从而使程序员从繁忙的内存管理中解放出来。选项B,Java编

9、写好的程序首先由编译器转换为标准字节代码,然后由虚拟机执行。虚拟机把字节代码程序与各操作系统和硬件分开,使Java程序独立于平台。选项C,Java的代码安全检测体现在多个层次上,在编译层、解释层、平台层分别作不同的安全检查。选项D,多线程是Java程序的并发机制,它能同步共享数、处理不同的事件。因此,本题的正确答案是D。第12题:参考答案:A答案解析:选项A,为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。选项B,Java的代码安全检测体现在多个层次上,在编译层、解释层、平台层分别作不同

10、的安全检查。选项C,Applet本身不能运行,但能够嵌入到Web浏览器中运行。选项D,多线程是Java程序的并发机制,它能同步共享数、处理不同的事件。因此,本题的正确答案是A。第13题:参考答案:A答案解析:Java2平台包括;J2ME平台、J2SE平台和J2EE平台。其中:J2ME是为嵌入式和移动设备提供的Java平台,它的体系结构由Profiles、Configuration和 OptionalPackages组成;J2SE是面向企业级应用与服务的综合性标准开发平台:J2EE是面向大型企业级用容器管理专用构件的应用平台。而JDK5.0是一个Java开发软件包。因此本题的正确答案是A。第14

11、题:参考答案:C答案解析:在JDK中:java.exe是Java解释器,直接从类文件执行Java字节码程序。 javap.exe是Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。javadoc.exe是文档生成器,对Java源码和包以MML格式产生AP文档。 javaprof.exe是Java剖析工具,提供解释器剖析信息。 因此,本题的正确答案是C。第15题:参考答案:D答案解析:选项A,Java语言跨平台的特点,保证了软件的可移植性。此外,Java本身的编译器也用Java语言编写,运行系统的虚拟机用C语言实现,这样,Java系统本身也具有可移植性。选项B,Java

12、语言用字节码进行解释执行,字节本身带有许多编译时产生的信息。选项C,健壮性也称为鲁棒性。Java语言在编译和运行时都有比较严格的检查。选项D,Java语言在运行程序时,有严格的访问权限检查。对字节代码执行前要检查,不允许使用指针,可防止对内存的非法入侵。 因此,本题的正确答案是D。第16题:参考答案:C答案解析:Swing中的大多数构件名称都是在AWT构件名前面加了一个“J”。因此,很容易判断选项C不是Swing中的构件。 JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器。因此选项A、B、D都是Swing中的构件。第17题:参考

13、答案:D答案解析:Window Listener接口包含的方法是: windowActivated (WindowEvent) windowOpened (WindowEvent) windowClosed (WindowEvent) windowCloshlg (WindowEvent) windowDeactivated (WindowEvent) windowDeiconified (WindowEvent) windowlconified (WindowEvent) 因此不属于WindowListener接口的方法是D。 补充:在AWT中,接口的命名是与事件相对应的,比如WindowE

14、vent事件所对应的接口就是WindowListener,而MouseEvent事件所对应的接口就是WouseListener。同时,接口中方法的命名也是与事件相对应的,比如WindowListener接口中包含的方法的名称都是以window开头,而WouseListener接口中包含的方法的名称都是以 mouse开头。 针对本题,在不知道具体WindowListener接口中包含的方法时,根据AWT中接口和接口中方法的命名原则,也可以答对本题。第18题:参考答案:B答案解析:do while语句和for语句是循环语句;if语句和switch语句是分支语句。而 if语句称为条件语句,switc

15、h语句称为多分支语句。 因此,本题的正确答案是B。第19题:参考答案:D答案解析:程序中只有一个switch语句,因此本题考查switch语句的用法。switch语句是多分支语句,即根据表达式的值来执行多个操作中的一个。其一般格式为: switch(表达式) case value l:语句1; break; case value2:语句2; break; case value N:语句N; break; default:语句N+1; 在switch语句中,“表达式”的返回值类型必须是这几种类型之一:int,byte,char, short。本题中,switch的表达式s是一个字符串String

16、类型的值,它不是血、byte、 char、short中的任意一个。因此表达式s的类型不对,编译时报错。因此,本题的正确答案是D。第20题:参考答案:B答案解析:这段程序代码非常简单,就是在屏幕上输出表达式(Oxa5)&Oxaa的结果。“”和“&”是位逻辑运算符:按位取反运算符“”的运算规则是对数据的每个二进制位取反,即把1变为0,把0变为1;按位与运算符“&”的运算规则是,如果两个操作数中,相应位都为1,则该位的结果为1,否则为0。 解答这道题,首先要把十六进制数Oxa5和Oxaa转换为二进制数的形式,转换的方法是把一位十六进制用四位二进制表示。因此,Oxa5的二进制形式为10100101,O

17、xaa的二进制形式为10101010。在位运算符中,“”的优先级高于“&”。所以首先计算10100101,其结果为01011010。然后再计算01011010&10101010,其结果为 00001010。最后将二进制数00001010转换为十进制数,即为10。因此,本题的正确答案是10。第21题:参考答案:C答案解析:这段程序代码非常简单,就是在屏幕上输出表达式(32)?4:5的结果。显然,?:是条件运算符。它的一般形式为:表达式?语句1:语句2。其中,表达式应该是关系或布尔逻辑表达式,其计算结果为布尔值。如果该值为true,则计算语句1,并将计算结果作为整个条件表达式的结果;如果为fals

18、e,则计算语句2,并将计算结果作为条件表达式的结果。本题中关系表达式(32)的结果是true,因此表达式(32)94:5的运算结果为4。 因此,本题的正确答案是C。第22题:参考答案:A答案解析:这段程序代码非常简单,就是在屏幕上输出表达式“891”的结果。“”是算数右移运算符。“891”是将89的各二进制位右移1位,移到右端的低位被舍弃,最高位则移入原来高位。Java使用补码来表示二进制数,因此89的二进制补码是01011001,则891=00101100,00101100对应的十进制数为44。除此之外,还有一个简便算法。算数右移一位相当于除2取商。89除以2,商是44。所以891的结果是4

19、4。因此,本题的正确答案是A。第23题:参考答案:A答案解析:选项A中的paint()是与Applet显示相关的方法,由它来具体执行Applet的绘制功能。选项B中的init()方法用于初始化Applet,它在Applet的生命周期中,只在最初执行一次。选项C中的start()方法用于激活Applet。在init()方法完成后,将调用start()方法,并且在Applet每次显示时都要调用。选项D中的destroy()方法用于彻底终止Applet,从内存卸载并释放该Applet的所有资源。因此,正确答案是A。第24题:参考答案:C答案解析:线程的状态与生命周期如下图所示: 第25题:参考答案:

20、D答案解析:选项A,start()是Thread类中的方法。新建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。选项B,resume()是Thread类提供的用于线程控制的方法。调用该方法,用于恢复因调用suspend()而暂停的线程继续执行。选项C,init()不是Thread类中的方法。选项 D,run()是Thread类中的方法,在该方法中定义了线程的具体行为。线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从 init()开始一样。因此正确答案是D。第26题:参考答案:C答案解析:选项A,Applet自身不能

21、够运行,它必须嵌入在其他应用程序(如Web浏览器或Java appletviewer中运行。选项B,Java中引入了灵活的安全体系,它允许为每个Applet和Application指定安全策略,该安全策略可以设置Applet对本地资源的访问权限。在安全策略的控制下,Applet可以读写本地磁盘中的文件。选项C, Applet获取参数是通过在HTML文件中采用PARAM标记来定义参数。Java中还定义了相应的方法,用来从HTML中获取参数。选项D,任何嵌入在Web浏览器或Java appletviewer中的Applet必须是java.applet.Applet类的子类。Applet类定义了Ap

22、plet与其运行环境之间的一个标准接口。因此,本题的正确答案是C。第27题:参考答案:B答案解析:必须使用特殊的HTML标记APPLET实现Applet或者JApplet的嵌入运行。 APPLET标记格式 APPLET标记的一般格式是: APPLET CODEBSE=codebaseURL CODE=appletFile ALT=altemate Text NAME=appletInstanceName WIDTH=pixels HEIGHT=pixels ALIGN=alignment CVSPACE=pixels HSPACE=pixels ARCHIVE=archiveFiles PAR

23、AMNAME=appletParameter1 VALUE=value PARAMNAME=appletParameter2VALUE=value? altemateHTML 从上面格式可以看出,PARAM、CODEBASE、ALT都是APPLET标记。因此,本题的正确答案是B。第28题:参考答案:B答案解析:ODBC,即开放数据库联接(Open Datebase Connectivity),它是用C语言定义的。由于J2EE要求与Java绑定,因此出现了JDBC,作为Java与数据库连接的技术。因此,本题的正确答案是B。第29题:参考答案:A答案解析:由于面向对象技术的封装要求,应该尽量少用公

24、共变量,而是通过公共方法间接访问类的成员变量,从而提高程序的稳定性。因此,本题的正确答案是B。第30题:参考答案:B答案解析:继承是Java语言的一个特性,允许将一个类定义为一个更通用类的特例。特殊类称为子类,通用类称为父类。特快订单类和订单类,这两者有显著的类似性,共享很多属性及方法。除了订单类的属性外,特快订单类可能还有其他一些特殊属性。显然,订单类是通用类,即父类;而特快订单类是定单类的一个特例,是子类。订单类和特快订单类是继承关系。因此,本题的正确答案是C。第31题:参考答案:B答案解析:二维数组可以有如下的两种定义方式: type array Name; type arrayName

25、; 由此可见,题目中的语句定义了一个二维数据。 因此,本题的正确答案是B。第32题:参考答案:D答案解析:Java语言使用的是Unicode字符集。而ASCII是国际上使用最广泛的字符编码:BCD是一种数字压缩存储编码方法。因此,本题的正确答案是D。第33题:参考答案:A答案解析:FileReader、BufferedReader是字符类输入流。FileInputStream是字节输入流。对象串行化时,需要使用ObjectInputStream类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流FileReader或BufferedReader。但是 FileRead的参

26、数是读入的文件,而BufferedReader的参数是FileRead流的一个对象。因此,本题的正确答案是A。第34题:参考答案:B答案解析:Java的io包中的类可以处理不同类型的流,比如字节流、字符流、对象流、非流类等等。File类就是一个重要的非流类,它是以一种系统无关的方式表示一个文件对象的属性。因此,本题的正确答案是D。第35题:参考答案:C答案解析:在java.io包中,接口Serializable是实现对象串行化的工具。实际上,Serializable接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。Serializable接口的目的只是简单地标识一个类的对象是可以被串

27、行化的。因此,本题的正确答案是C。二、填空题(每空2分,共30分)第36题:参考答案:45详细解答:在冒泡排序中,最坏情况下,需要比较的次数为n(n-1)/2,也就是: 10*(10-1)/2=45第37题:参考答案:类详细解答:在面向对象方法中,类描述的是具有相似属性与操作的一组对象。第38题:参考答案:关系详细解答:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。 因此,本题的正确答案是关系。第39题:参考答案:静态分析详细解答:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。第40题:参考答案:

28、逻辑独立性详细解答:数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性。第41题:参考答案:类或class详细解答:Java是面向对象的语言,面向对象的思想是将客观事物都作为实体,而对象通过实体抽象得到。在Java程序中,并不是直接去构造对象,而是通过定义一个类,对类再创建对象。因此Java程序中基本的结构单位是类或class。第42题:参考答案:详细解答:Java语言中定义了三个移位运算符:算数右移运算符、算数左移运算符和逻辑右移运算符。因此,本题的正确答案是。第43题:参考答案:容器详细解答:构件是Java

29、图形用户界面最基本的组成部分,它是一个可以以图形化方式显示并且能够和用户进行交互的对象,比如一个按钮、一个标签等。这些构件不能独立显示出来,必须将它们放在定的容器中才可以显示出来。因此,本题的正确答案是容器。第44题:参考答案:CardLayout详细解答:布局管理器分为下面几类: (1)FlowLayout布局管理器:构件在容器中的放置规律是从上到下,从左到右进行放置,如果当前行已经放置不下该构件,则放置到下一行的最左边。 (2)BorderLayout布局管理器:构件在容器中的放置规律是把容器分为东、南、西、北、中五个区域,每个区域只能放一个构件。 (3)GridLayout布局管理器:构

30、件在容器中的放置规律是各个构件呈网格状布局,从上到下,从左到右平均占据容器的空间。 (4)CardLayout布局管理器c构件布局规律是把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面。 因此,本题的正确答案是CardLayout或卡片布局管理器。第45题:参考答案:HTML详细解答:Applet是Java与Web相结合而引入的一种重要的Java应用形式。Applet是能够嵌入到HTML页面中,并能够在浏览器中运行的Java类。因此,本题的正确答案是HTML。第46题:参考答案:Applet详细解答:JApplet

31、是一个使Applet能够使用Swing构件的类,包含Swing构件的Applet必须是JApplet的子类。因此,本题的正确答案是JApplet。第47题:参考答案:数据详细解答:Java中的线程模型包含三个部分:一个虚拟的CPU、该CPU执行的程序和程序代码所操作的数据。因此,本题的正确答案是数据(也可以是程序的数据或程序数据)。第48题:参考答案:键盘详细解答:数据源顾名思义就是数据的来源。显然,屏幕上输出的信息来源于键盘的输入,因此,数据源是键盘。第49题:参考答案:Lang详细解答:Java语言的java.lang包是编译器自动导入的。因此,本题的正确答案是lang。第50题:参考答案:Object详细解答:Java语言中,Object类是所有类或接口的根类。因此,本题的正确答案是 Object。更多试卷请见麦多课文库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1