[计算机类试卷]2007年9月国家二级(JAVA)笔试真题试卷及答案与解析.doc
《[计算机类试卷]2007年9月国家二级(JAVA)笔试真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2007年9月国家二级(JAVA)笔试真题试卷及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、2007 年 9月国家二级( JAVA)笔试真题试卷及答案与解析 1 软件是指 ( A)程序 ( B)程序和文档 ( C)算法加数据结构 ( D)程序、数据与相关文档的完整集合 2 软件调试的目的是 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)验证软件的正确性 3 在面向对象方法中,实现信息隐蔽是依靠 ( A)对象的继承 ( B)对象的多态 ( C)对象的封装 ( D)对象的分类 4 下列叙述中,不符合良好程序设计风格要求的是 ( A)程序的效率第一,清晰第二 ( B)程序 的可读性好 ( C)程序中要有必要的注释 ( D)输入数据前要有提示信息 5 下列叙述中正确的是
2、 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上三种说法都不对 6 下列叙述中正确的是 ( A)数据的逻辑结构与存储结构必定是一一对应的 ( B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 ( C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)以上三种说法都不对 7 冒泡排序在最坏情况下的比较次数是 ( A) n(n+1)/2 ( B) n1og2n ( C) n(n-1)/2 ( D) n/2 8 一棵二叉树中共有 70个叶
3、子结点与 80个度为 1的结点,则该二叉树中的总结点数为 ( A) 219 ( B) 221 ( C) 229 ( D) 231 9 下列叙述中正确的是 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上三种说法都不对 10 下列叙述中正确的是 ( A)为了建立一个关系,首先要构造数据的逻辑关系 ( B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 ( C)一个关系的属性名表称为关系模式 ( D)一个关系可以包括多个二维表 11 下列关于 System类的叙述中,错误的是
4、( A) System类是一个 final类 ( B) System类不能实例化 ( C) System类中没有定义属性 ( D) System类主要提供了系统环境参数的访问 12 下列布尔变量定义中,正确并且规范的是 ( A) BOOLEAN canceled=false; ( B) boolean canceled=false; ( C) boolean CANCELED=false; ( D) boolean canceled=FALSE; 13 数组中各个元素的数据类型是 ( A)相同的 ( B)不同的 ( C)部分相同的 ( D)任意的 14 内部类不可直接使用外部类的成员是 ( A
5、)静态成员 ( B)实例成员 ( C)方法内定义 ( D)以上 A、 B, C都不是 15 阅读下面程序 public class Test1 public static void main(String args) System.out.println(34+56-6); System.out.println(26*2-3); System.out.println(3*4/2); System.out.println(5/2); 程序运行结果是 ( A) 84 49 6 2 ( B) 90 25 6 2.5 ( C) 84 23 12 2 ( D) 68 49 14 2.5 16 在 JDK
6、目录中, Java程序运行环境的根目录是 ( A) bin ( B) demo ( C) lib ( D) jre 17 阅读下面程序 public class ConcatTest public static void main(String args) String strl = “abc“; String str2 = “ABC“; String str3 = str1.concat(str2); System.out.println(str3); 程序的运行结果是: ( A) abe ( B) ABC ( C) abcABC ( D) ABCabc 18 下列运算符中属于关系运算符的是
7、 ( A) = ( B) = ( C) += ( D) -= 19 下列语句中执行跳转功能的语句是 ( A) for语句 ( B) while语句 ( C) continue语句 ( D) switch语句 20 下列适配器类中不属于事件适配器类的是 ( A) MouseAdapter ( B) KeyAdapter ( C) ComponentAdapter ( D) FrameAdapter 21 下列运算符中不能进行位运算的是 ( A) ( B) ( C) ( D) 22 阅读下面程序 public class Test2 public static void main(String a
8、rgs) int a=1O, b=4, c=20, d=6; System.out.println(a+*b+c*-D) ; 程序运行的结果是 ( A) 144 ( B) 160 ( C) 140 ( D) 164 23 阅读下面程序 public class Test3 public static void main(String args) int x=3, y=4, z=5; String s=“xyz“; System.out.primln(s+x+y+z); 程序运行的结果是 ( A) xyzl2 ( B) xyz345 ( C) xyzxyz ( D) 12xyz 24 下列类中属
9、于字节输入抽象类的是 ( A) FileInputStream ( B) ObjectInputStream ( C) FiterInputStream ( D) InputStream 25 能向内存直接写入数据的流是 ( A) FileOutputStream ( B) FileInputStream ( C) ByteArrayOutputStream ( D) ByteArrayInputStream 26 下面程序中需要对 Employee的对象进行存储,请在下划线处填入正确选项。 class Employee implements_ ( A) Comparable ( B) Ser
10、ializable ( C) Cloneable ( D) Datalnput 27 阅读下面程序 public class Test4 public static Void main(String args) int i=10, j=3; float m=213.5f, n=4.0f; System.out.println(i%j); System.out.println(m%n); 程序运行的结果是 ( A) 1.0和 1.5 ( B) 1和 1.5 ( C) 1.0和 2.5 ( D) 1和 2.5 28 阅读下面程序 import java.io.*; public class Byt
11、eStreamTest public static void main(String A) int myArray = 10,20,30,40 ; try DataOutputStream dos = new DataOutputStream ( new_ (“ints.dat“); for (int i=0; i myArray, length; i+) dos.writelnt( myArrayi ); dos.close(); System.out.println(“Have written binary file ints.dat“); catch (IOException ioe)
12、Sy stem.out.println(“IO Exception“); 为保证程序正确运行,在程序中下划线处应填入的代码是 ( A) FileOutputStream ( B) ByteArrayOutputStream ( C) BufferedOutputStream ( D) FileWriter 29 要在 HTML文件中嵌入 Applet,在 applet标记中必须定义的是 ( A) Applet字节码文件的 URL ( B) Applet显示区域的高度和宽度 ( C) Applet字节码的文件名 ( D) B和 C 30 如果要在 Applet中显示特定的文字、图形等信息,可以在
13、用户定义的 Applet类中重写的方法是 ( A) paint() ( B) update() ( C) drawstring() ( D) drawLine() 31 如果用户定义的 Applet类中没有 init()方法,则该程序 ( A)必须定义一个 main()方法 ( B)无法通过编译 ( C)可以通过编译,但运行时将出错 ( D)可以通过编译,并且能够正常运行 32 阅读下面程序 class Test implements Runnable public static void main(String args) Test t = new Test(); t.startO; pub
14、lic void run() 下列关于上述程序的叙述正确的是 ( A)程序不能通过编译,因为 start()方法在 Test类中没有定义 ( B)程序编译通过,但运行时出错,提示 start()方法没有定义 ( C)程序不能通过编译,因为 run()方法没有定义方法体 ( D)程序编译通过,且运行正常 33 如果使用 Thread t=new Test()语句创建一个线程,则下列叙述正确的是 ( A) Test类一定要实现 Runnable接口 ( B) Test类一定是 Thread类的子类 ( C) Test类一定是 Runnable的子类 ( D) Test类一定是继承 Thread类并
15、且实现 Runnable接口 34 下列方法中,声明抛出 InterruptedException类型异常的方法是 ( A) suspend() ( B) resume() ( C) sleep() ( D) start() 35 如果线程正处于运行状态,可使该线程进入阻塞状态的方法是 ( A) yield() ( B) start() ( C) wait() ( D) notify() 36 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【 】。 37 在两种基本测试方法中,【 】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。 38
16、线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环 队列是队列的【 】存储结构。 39 对下列二叉树进行中序遍历的结果为【 】。 40 在 E-R图中,矩形表示【 】。 41 在 Java中,所有数据类型的长度都固定,因此没有保留字【 】。 42 布尔逻辑运算符包括: !、 public class DirTest public static void main(String args) File myDir = new File(“C:/Program Files/“); System.out.println (myDir+(【 】 .isDirectory()
17、?“is“: “is not“) +“ a directory.“); 47 一个 Applet在被加载到浏览器并完成初始化后,将被调用的方法是【 】 ()。 48 Java中的线程体是由线程类的【 】 ()方法进行定义的,线程运行时,也是从该方法开始执行。 49 AWT中的布局管理器包括 BorderLayout、【 】、 CardLayout、 OridBagLayout和 GridLayout。 50 Java中线程模型由虚拟的 CPU,代码与数据构成。该模型是由 java.lang.【 】类进行定义和描述的。 2007 年 9月国家二级( JAVA)笔试真题试卷答案与解析 1 【正确答
18、案】 D 【试题解析】 本题考查软件的定义。软件是计算机系统中与硬件相互依存得另一部分,它包括程序、相关数据及其说明文档得总和。因此,本题得正确答案是选项 D。 2 【正确答案】 B 【试题解析】 本题考查软件工程调试。调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题;测试是一个有计划的,可 以重复的过程,它的目的是为了发现软件中的问题。因此,软件调试的目的是为了改正软件中的错误。本题的正确答案是选项 B。 3 【正确答案】 C 【试题解析】 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大
19、特点,为软件开发提供了一种新的方法学。 封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中 (对象中 )。简单地说,封装就是隐藏信息。这是面向对象方法的中心,也是面向对象程序设计的基础。 继承性:子类具有派生它的类的全部属性 (数据 )和方法,而根据某一类建立的 对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。 多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具
20、有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。 经过上述分析可知,在面 向对象方法中,实现信息隐蔽是依靠对象的封装。正确答案是选项 C。 4 【正确答案】 A 【试题解析】 本题考查软件工程的程序设计风格。软件在编码阶段,力求程序语句简单、直接,不能只为了追求效率而使语句复杂化。除非对效率有特殊的要求,程序编写要做到清晰第一、效率第二。 人们在软件生存期要经常阅读程序,特别是在软件测试和维护阶段,编写程序的人和参与测试、维护的人都要阅读程序,因此要求程序的可读性要好。 正确的注释能够帮
21、助读者理解程序,可为后续阶段进行测试和维护提供明确的指导。 所以注释 不是可有可无的,而是必须的,它对于理解程序具有重要的作用。 I/O 信息是与用户的使用直接相关的,因此它的格式应当尽可能方便用户的使用。在以交互式进行输入 /输出时,要在屏幕上使用提示符明确提示输入的请求,指明可使用选项的种类和取值范围。经过上述分析可知,选项 A是不符合良好程序设计风格要求的。 5 【正确答案】 A 【试题解析】 本题考查程序效率。程序效率是指程序运行速度和程序占用的存储空间。影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。在确定数据逻辑结构的基础上, 选择一种合适的存储结构,可
22、以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。因此,本题选项 A的说法是正确的。 6 【正确答案】 D 【试题解析】 本题考查数据结构的基本知识。数据之间的相互关系称为逻辑结构。通常分为凹类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机中有两种,即顺序存储结构和链式存储结构。顺序存储结构是把数据元素存储在一块连续地址空间的内存中;链式存储结构是使用指针把 相互直接关联的节点链接起来。因此,这两种存储结构都是线性的。可见,逻辑结构和存储结构不是一一对应的。因此,选项 A和选项
23、 B的说法都是错误的。 无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。程序设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。可以用数组来实现树型逻辑结构的存储,比如二叉树。因此,选项 C的说法是错误的。 7 【正确答案】 C 【试题解析】 冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一 趟排序后,最大值的元素移动到最后的位置,其它值较大的元素也向最终位置移动,此过程称为一趟冒泡。对于有 n个数据的序列,共需 n-1趟排序,第 i趟对从 1到 n-i个数据进行比较、交换。冒泡排序的最坏情况是待排
24、序序列逆序,第 1趟比较 n-1次,第 2趟比较 n-2次,依此类推,最后一趟比较 1次,一共进行 n-1趟排序。因此,冒泡排序在最坏情况下的比较次数是 (n-1)+(n-2)+.+1,结果为 n(n-1)/2。本题的正确答案是选项 C。 8 【正确答案】 A 【试题解析】 本题考查数据结构中二叉树的性质。二叉 树满足如下一条性质,即:对任意一棵二叉树,若终端结点 (即叶子结点 )数为 n0,而其度数为 2的结点数为 n2,则 n0=n2+1。 根据这条性质可知,若二叉树中有 70个叶子结点,则其度为 2的结点数为 70-1,即 69个。二叉树的总结点数是度为 2、度为 1和叶子结点的总和,因
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2007 国家 二级 JAVA 笔试 答案 解析 DOC
