1、国家二级( JAVA)笔试模拟试卷 44及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列关于线性表叙述不正确的是 ( )。 ( A)只有一个根节点,它无前件 ( B)只有一个终端节点,它无后件 ( C)除根节点和终端节点,其他节点都有且只有一个前件,也有且只有一个后件 ( D)线性表必须要有数据元素 3 下列关于队列的叙述中正确的是 ( )。 ( A)在 队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的
2、线性表 4 编制好的程序,确保它的正确性和可靠性的同时,还应强调良好的编程风格。在书写功能性注解时应考虑 ( )。 ( A)仅为整个程序做注解 ( B)仅为每个模块做注解 ( C)为程序段做注解 ( D)为每个语句做注解 5 在一个单链表中,若 q结点是 p结点的前驱结点,若在 q与 p之间插入结点 s,则执行 ( )。 ( A) slink=pdink ; plink=s ( B) plink =s; slink=q ( C) plink=s4ink ; slink=p ( D) qlink=s ; slink=p 6 下面几种调试方法中不适合调试大规模程序的是 ( )。 ( A)强行排错法
3、 ( B)回溯法 ( C)原因排除法 ( D)静态调试 7 在进行单元测试时,常用的方法是 ( )。 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测试 ( D)只使用黑盒测试 8 以下内容属于存储在计算机内有结构的数据集合的是 ( )。 ( A)数据库系统 ( B)数据库 ( C)数据库管理系统 ( D)数据结构 9 利用 E-R模型进行数据库的概念设计,可以分成 3步:首先设计局部 E-R模型,然后把各个局部 E-R模型综合成一个全局的模型,最后对全局 E-R模型进行( )。 ( A)简化 ( B)结构化 ( C)最小化 ( D)优化 10
4、设有关系 R及关系 S,它们分别有 p、 q个元组,则关系 R与 S经笛卡儿积后所得新关系的元组个数是 ( )。 ( A) p ( B) q ( C) p+q ( D) p*q 11 Java语言具有许 多优点和特点,下列选项中能反映 Java程序并行机制特点的是( )。 ( A)安全性 ( B)多线程 ( C)跨平台 ( D)可移植 12 Java中用于提供 Java语言、 Java虚拟机的核心的类和接口的包是 ( )。 ( A) java.io包 ( B) java.applet包 ( C) java.lang包 ( D) 包 13 下列哪个类声明是正确的 ? ( ) ( A) abstr
5、act final class H1. ( B) abstract private move(). ( C) protected private number ( D) public abstract class Car. 14 类中限定为 ( )的成员变量和成员方法可以被除了不同包中的非子类访问。 ( A) private ( B) protected ( C) public ( D) default 15 下列哪个是非法的 Java标识符 ? ( ) ( A) Tree_Glasses ( B) FirstJavaApplet ( C) _$theLastOne ( D) Two273.5
6、 16 下面哪条语句在编译时不会出现错误或警告 ( )。 ( A) float f=1.3; ( B) byte b=257; ( C) boolean b=null; ( D) int i=10; 17 下列关于自动类型转换的说法中,正确的是 ( )。 ( A) int类型数据可以被自动转换为 char类型数据 ( B) char类型数据可以被自动转换为 int类型数据 ( C) boolean类型数据不可做自动类型转换,但是可以做强制类型转换 ( D) long类型数据可以被自动转换为 short类型数据 18 定义 String s=null,会出现异常的选项是 ( )。 : if(s!
7、=null) String t=“good“; String k=s+t; : String s=“Gone with the wind“; String t; t=s3+“one“; : String s=“Gone with the wind“; String standard=s.toUpperCase(); : String s=“home directory“; String t=s-“directory“; ( A) 、 ( B) 、 ( C) 、 ( D) 、 20 执行下面的程序段后,变量 k的值为 ( )。 int k=3,s2; s0=k; k=s1*10; ( A)不定值
8、 ( B) 33 ( C) 30 ( D) 10 21 假设 a是 int类型的变量,并初始化为 1,则下列各项中属于合法条件语句的是( )。 ( A) if(A) ( B) if(a =3) ( C) if(a=2) ( D) if(true) 22 设有如下程序: import java.util.*; public class Sun public static void main (String args ) int score; String a; Random r=new Random (); score=r.nextInt (4)+5; switch(score) case 0:
9、 a=“E“; break; case 1: a=“D“; break; case 2: a=“C“; break; case 3: a=“B“; break; default: a=“A“; System.out.println (A) ; 程序运行的结果是 ( )。 ( A) a=“A“ ( B) a=“E“ a=“A“ ( C) a=“E“ ( D) a=“C“ 23 下面程序的输出结果是 ( )。 public class Sun public static void main(String args ) int n=4 ,sum=0; while(n 0) sum+=n; n-; S
10、ystem.out.println(“sum is “+sum); ( A) sum is 10 ( B) sum is 4 ( C) 10 ( D) 4 24 下列关于异常类型的说明中错误的是 ( )。 ( A) Throwable类定义了 Java语言中所有的异常情况 ( B) Exception是用户程序不能够捕获到,只能由系统捕获到的异常情况 ( C) Error定义了通常无法捕获到的情况 ( D) RuntimeException是程序运行时产生的,由 JVM进行处理 25 方法 resume()负责恢复 哪些线程的执行 ( )。 ( A)通过调用 stop()方法而停止的线程 (
11、B)通过调用 sleep()方法而停止运行的线程 ( C)通过调用 wait()方法而停止运行的线程 ( D)通过调用 suspend()方法而停止运行的线程 26 下面各项中的用于对对象加锁,从而使得对对象的访问是排他的关键字为( )。 ( A) serialize ( B) transient ( C) synchronized ( D) static 27 对象流是否和用于处理字符流的 Writer类和 Reader类相关 ? ( ) ( A)是 ( B)否 ( C)不确定 ( D)没联系 28 请选择下面 File参数书写正确的一项 ( )。 ( A) File(“d:filetest
12、3.txt“) ( B) File(“d;filetest3.txt“) ( C) File(“d:filetest3.txt“) ( D) File(“d:filetest3.txt“) 29 创建一个标识有 “关闭 ”按钮的语句是 ( )。 ( A) TextField b=new TextField(“关闭 “); ( B) Button b=new Button(“关闭 “); ( C) Checkbox b=new Checkbox(“关闭 “); ( D) Label b=new Label(“关闭 “); 30 Swing允许按自己的要求选择组件的外观和感觉, Swing是通过哪
13、一方法实现该功能的 ? ( ) ( A) setVisible() ( B) setSize () ( C) setlookAndFeel() ( D) setFont() 31 Swing组件中可以通过拖动控件来设置数值的 是 ( )。 ( A) JCheckBox ( B) JSlider ( C) JList ( D) TextField 32 在 JavaApplet程序用户自定义的 Applet子类中,一般需要重载父类的 ( )方法宋完成主类实例的初始化工作。 ( A) start() ( B) stop() ( C) init() ( D) paint() 33 Applet类的直
14、接父类是 ( )。 ( A) Component类 ( B) Container类 ( C) Frame类 ( D) Panel类 34 JDBC API主要都是定义在下列哪一个包内 ? ( ) ( A) java.sql.* ( B) java.io.* ( C) java.awt.* ( D) java.uttil.* 35 下列安全控制命令中,用于管理密钥库和证书的是 ( )。 ( A) polioytool ( B) kinit ( C) klist ( D) keytool 36 算法的空间复杂度是指算法执行过程中所需要的【 】。 37 树 L中度为 1、 2、 3、 4、 5和 6
15、的结点个数为 6、 4、 3、 3、 5、 1,则 L中叶子的个数是【 】。 38 结构化程序设计所规定的 3种基本控制结构是循环结构、选择结构和【 】。 39 软件是程序、数据和【 】的集合。 40 一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,工人和零件之间为【 】的联系。 41 在 Java语言中最基本的元素是【 】。 42 在一个类的内部嵌套定义的类称为【 】。 43 进程是一个内核级别的实体,而线程是一个【 】级的实体。 44 在下面的代码段中填入一个适当的语句,表示从输入流中能读取对象 (注:FileInputStream的形象为 the Time)。 FileInp
16、utStream in=【 】 ; ObjectInputStream s=ObjectInputStream(in); String today=(String)s.readObject(); Date data=(Date)s.readObject(); 45 向 DataOutputStream对象 dos的当前位置处写入一个保存在变量 f中的浮点数的语句是【 】。 46 下面 OneFrame类创建了一个名为 This is a Frame的窗口。 import java.awt.*; public class OneFrame extends Frame public static
17、void main(String args) OneFrame fr=new OneFrame(“This is a Frame“); fr.setSize(200,200); fr.setBackground(Color.yellow); 【 】 public OneFrame(String str) super (str);/调用父类 Frame的构造函数 在画线处添加空缺语句使程序能够正确运行。 47 在传递给实现了 java.awt.event.MouseMotionListener接口的类中,mouseDragged()方法的事件对象是【 】类。 48 如果一个 Java Apple
18、t源程序文件只定义有一个类,该类的类名为MyFirstApplet,则存储该源程序的文件名必须为【 】。 49 希望编写好的 Java程序代码,应遵守命名规则、【 】、为代码分段、适当使用空白行、遵循第 32条规则。 50 通过参数定制 Applet,请在下划线处编写适当语句【 】,使程序能正确运行。 para_duke.html HTML HEAD TITLE A Simple Program /TITLE /HEAD BODY applet code = DrawAny.class width = 100 height = 100 align = bottom param name = i
19、mage value = “duke.gif“ /applet /BODY /HTML DrawAny.java import java.awt.*; import java.applet.*; import .URL; public class DrawAny extends Applet Image im; public void init() URL url = getDocumentBase(); String imageName = getParameter(“image“); _; public void paint(Graphics g) g.drawImage(im,0,0,t
20、his); 国家二级( JAVA)笔试模拟试卷 44答案与解析 1 【正确答案】 D 【试题解析】 本题考查算法的空间复杂度,是重点考点之一。算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。 2 【正确答案】 D 【试题解析】 A、 B、 C 3个选项都是成为一个线性表的基本要求。一个线性表中可以没有数据元素,称为空线性表。 3 【正确答 案】 C 【试题解析】 队列是指允许在一端进行插入,而在另一端进行删除的线性
21、表。允许插入的一端称为队尾,允许删除的一端称为队头,在队列中既可以插入数据也能删除数据,所以选项 A、 B是错误的。在这种数据结构中,最先插入的元素最先能够被删除,因此队列又称为先进先出的线性表。答案是 C。 4 【正确答案】 C 【试题解析】 首先应该知道功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。所以它描述的是一段程序,而不是每一条语句,是为程序段做注解。 5 【正确答案】 D 【试题解析】 在单链表中插入一个元素需要执行以下步骤:首先将待插入节点的前驱结点的指针域指向待插入节点,然后将待插入节点的指针域指向待插入节点的前驱结点原先
22、的后继节点。 6 【正确答案】 B 【试题解析】 本题考查对几种调试方法的掌握。其中,强行排错法是最常用也是最低效的,主要思想是通过计算机找错,适合调试大规模程序。回溯法是从出现错误征兆处开始,人工沿控制流程往回追踪,直至发现出错的根源。这是在小程序中常用的一种有效的调试方法。程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯变得不可能。原因排除法是靠演绎、归纳以及二分法来实现的,适合调试大规模程序。静态调试也是一种调试手段,主要是指通过人的思维来分析源程序代码和排错。 7 【正确答案】 A 【试题解析】 本题考核软件测试 方法的应用。白盒测试是测试程序内部的逻辑结构及有关信息,黑盒测试
23、只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。从程序内部的逻辑结构对系统进行测试才是测试的根本,即比较深层次的测试,更容易发现和解决程序中的问题,因此单元测试时应以白盒测试为主,而黑盒测试只能作辅助。 8 【正确答案】 B 【试题解析】 本题考查考生对几个概念的理解。其中数据库系统是数据库和数据库管理系统软件的合称。数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。数据结构描述数据的类型、内容、性质以及数 据间的联系。数据库是指存储在计算机内有结构的数据集合。 9 【正确答案】 D 【试题解析】 本题考核实体联系模型。在概念设计中按照模块的划分画出每个模块的 E-
24、R图,然后把这些图合成一张 E-R图作为全局模型,最后应该对全局 E-R图进行优化,看看是否有重复和不合理的地方。不能只是进行简单的合并。 10 【正确答案】 D 【试题解析】 本题考核对笛卡儿积运算的掌握。笛卡儿积是两个关系的合并操作,关系 R的每行依次跟关系 S的每行组成一个新元组,因此关系 R与 S经笛卡儿积后所得新关系的元组个数是 pq。 11 【正确答案】 B 【试题解析】 本题考查对 Java基本特点理解。选项 A错误, Java通过删除了指针和内存分配,并在解释器执行字节代码之前检查和一系列安全措施等保障 Java程序及用户数据的安全;选项 B正确,多线程使可执行程序具有同时保持
25、几个线程执行的能力,从而使 Java实现并行机制;选项 C错误, Java的跨平台性在于其解释器生成的字节码结构的文件格式与硬件体系无关,可以在任何种类的处理器上运行;选项 D错误,可移植性是指 Java程序及系统可以被放置在任何计算环境下。 12 【正确答案】 C 【试题解析】 本题是考查考生对 Java语言中类和接口的理解。 java.lang包提供了构成 Java语言、 Java虚拟机核心的类和接口。例如,类 Object、 String和Thread等。对任何一个 Java程序来说,这些类几乎都是必不可少的。 Java.lang还包含了许多由 Java虚拟机发出的异常,这些异常也是类的
26、一种。另外,java.lang包还包含一些用于访问系统资源的类,例如 ClassLoader等。 Java.lang包具有极其重要的作用,在程序开头可以不必明文编写装载它的代码。 13 【正确答案】 D 【试题解析】 本题考查对类声明的掌握程度。选项 A错误, abstract与 final不能同时出现在类声明中;选项 B错误,类不能声明为 private,缺少 Class关键字;选项 C错误,类不能声明为 protected和 private两种属性,且不以 “;”结尾,也缺少 Class关键字;选项 D正确,声明了一个可以公有继承的抽象类。 14 【正确答案】 D 【试题解析】 本题考查
27、Java中类权限限定词的作用范围。 public、 protected、default和 private用于限 定类成员变量和方法的访问权限,从而实现成员可以在一定范围内的信息隐藏。选项 A错误,限定为 public的成员变量和成员方法可以被所有的类访问;选项 B错误,限定为 protected的成员变量和成员方法可以被这个类本身、自己的子类以及同一个包中的所有其他类访问;选项 C错误,限定为pnvate的成员只能被这个类本身访问;选项 D正确,如果类中不加任何访问权限的限定词,表示所修饰的成员属于默认的访问状态,也就是 default权限状态,这时该成员可以被这个类本身和同一个包中的类访问。
28、 15 【正确答案】 D 【试题解析】 本题主要考查 Java语言的标识符这个知识点。 Java语言的标识符必须由字母、下划线 (_)、美元符号 ($)开始,其余字符可以是上述 3种符号或数字(0 9)。 Java语言使用 Unicode字符集,所以标识符中使用的字母包括下面几种: A Z; a z; Unicode字符集中序号大于 0xC0的所有符号。选项 A是正确的,下划线 “”是可以在标识符里面出现的;选项 B是正确的;选项 C是正确的,符号 $也是可以在标识符里面出现的;选项 D是错误的,符号 “.”不能在标识符里面出现。故本题答案是 D。 16 【正 确答案】 D 【试题解析】 该题
29、考查对基本数据类型定义和初始化的理解。基本数据类型在定义时都可以对其赋初值。选项 A是错误的,与 C语言不同,在 Java语言中,对于实型数值,默认的类型是 double型,若要把它赋给 float型变量,必须对它进行类型转换,对于赋初值的话,必须在实型数后面加上 f或 F字母,给浮点型变量定义并且赋初值;选项 B是错误的,因为 byte是 8个字符的,它所表示的范围是 -128 127,而右边的 257已经超出其所能表示的范围了;选项 C是错误的,对于布尔型变量,它的值只有 true与 false两种,系统默认的是 false,没有 null这种取值;选项 D是正确的,对整型变量定义并且赋初
30、值。故本题答案是 D。 17 【正确答案】 B 【试题解析】 根据自动类型转换的优先级顺序, int类型的数据不可以自动转换为 char类型数据, long类型也不可以自动转换为 short类型, boolean的值只有true和 false两个值,不能做类型转换,包括自动和强制。 18 【正确答案】 C 【试题解析】 本题是考查对逻辑运算符的理解。逻辑运算符 public File(String parentStr,String childStr); public File(File parentStr,String childStr)。 选项 A错误, text3.txt前应为 “”;选项
31、 B正确;选项 C错误,应将 “”换成 “”:选项 D错误, file前应为 “”。故本题答案是 B。 29 【正确答案】 B 【试题解析】 本题考查对 AWT基本组件的了解。选项 A错误,创建的是一个初始显示为 “关闭 ”的文本框;选项 B正确,创 建的是一个标识有 “关闭 ”的按钮;选项 C错误, Checkbox为复选框类,只能设定是否含标签;选项 D错误,创建的是一个标记为 “关闭 ”的标签。故本题答案是 B。 30 【正确答案】 C 【试题解析】 本题考查 Swing组件外观设置方面的基本知识。选项 A错误,setVisible()用于设置容器是否可见;选项 B错误, setSize
32、()用于设置容器的大小;选项 C正确, Swing中调用 setlookAndFeel()能设置组件的外观和感觉;选项 D错误, setfont()用于设置组件显示的字体格式;故本题答案 是 C。 31 【正确答案】 B 【试题解析】 本题考查关于 Swing组件滑块 JStider的基本知识。选项 A错误,复选框用于提供多项选择,不能通过拖动控件来设置数值;选项 B正确,滑块Jslider能通过拖动控件来设置数值;选项 C错误,列表 JList通过列表,选择多项选项;选项 D错误,文本框 TextField只能通过输入来设置数值。故本题答案是B。 32 【正确答案】 C 【试题解析】 该题考
33、查对 Applet必须要重载的几个方法的理解。选项 A错误,start()方法使得程序从初始态进入运 行态,当浏览器从图标状态恢复为窗口时,或者当用户离开包含 Applet的主页后又再返回时,系统都会自动再执行一遍 start()方法;选项 B错误, stop()方法和 start()方法相对应,当浏览器变成图标或者是用户离开 Appkt所在页面时,浏览器都会调用 stop()方法,该方法也是可以被多次调用的;选项 C正确,当创建 Java Applet且第一次使用支持 Java的浏览器载入该 Applet时,就会执行 init()方法,通常在这方法中执行一次性的初始化操作;选项 D错误, p
34、aint()方法是画图时必须要重载的方法 。故本题答案是 C。 33 【正确答案】 D 【试题解析】 Java语言中, Applet是 java.awt.panel类的直接子类。 34 【正确答案】 A 【试题解析】 java.sql.*包给出了一些类和方法,共同组成了 JDBC API,在 Java程序中通过调用 JDBC API和 JDBC Driver Manager进行交互。 35 【正确答案】 D 【试题解析】 Java语言的安全控制命令包括: keytool、 jarsigner、 policytool、kinit、 klist、 ktab。其中, keytool命令用于管理密钥库
35、和证书。 36 【正确答案】 存储空间 【试题解析】 本题考查算法的空间复杂度,也是本章重点考点之一,应该理解记忆。算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中,包括算法程序所占的空间、输入的初始数据所占的空间以及算法执行过程中所需要的额外空间。其中,额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。 37 【正确答案】 45 【试题解析】 结点的度一结点拥有子树的个数。树中结点总数为1*6+2*4+3*3+4*3+5*5+6*1=66 与根结点之和,即 66+1=67。 树中非叶子结点数为 6+4+3+3+5+1=22。 树中叶子结点数为 67-2
36、2=45。 38 【正确答案】 顺序结构 【试题解析】 任何一个大型的程序都由 3种基本结构所组成,由这些基本结构顺序地构成了一个结构化的程序。事实上,程序设计语言仅仅使用顺序、选择和循环 3种基本结构就足以表达出其他形式结构的程序设计方法。 39 【正确答案】 文档 【试题解析】 本题是基础题。计算机软件是计算机系统中与硬件相互依存的 另一部分,是程序、数据以及相关文档的完整集合。 40 【正确答案】 多对多 【试题解析】 联系是指现实世界中事物间的关联,在概念世界中联系反映了实体集间的关系。一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,因此它们之间的联系属于多对多的联系。 4
37、1 【正确答案】 对象 【试题解析】 作为面向对象的编程语言, Java语言中最基本的元素就是对象,一切概念都是以对象为基础的。而类是程序的基本单位。 42 【正确答案】 内部类 【试题解析】 在一个类的内部嵌套定义的类称为 内部类 (Inner Class)。 43 【正确答案】 用户 【试题解析】 进程运行于系统的内核空间中,普通用户程序对其数据进行访问,但是线程运行于用户空间中,一般的用户级方法就可以对其进行直接访问。 44 【正确答案】 new FilelnputStream(“the Time“); 【试题解析】 题中对象输入流 ObiectInputStream的对象 s是以一个文
38、件输入流为基础构造的。程序中使用 readObiect()方法从对象流 s中读取一个 Date类型的对象。读对象时要按照它们写入 的顺序读取,因为 readObject()返回的是 Obieot类型的对象,所以程序中使用了强制类型转换,将所读取对象的类型转换为 Date类型。 45 【正确答案】 dos.writeDouble(f) 【试题解析】 DamOutputStream类支持对不同的基本数据类型的判断,要写入一个浮点数,只需要调用该类提供的相应的方法 writeDouble()即可。 46 【正确答案】 fr.setVisible(true); 【试题解析】 本题考查 lava组件中容
39、器的基本知识。 Java中容器默认 是隐藏的,要将 setVisible()参数设置为 true才会显示。 47 【正确答案】 MouseEvent 【试题解析】 Java语言中,传递给实现了 java.awt.evem.MouseMotionListener接口的类中 mouseDragged()方法的事件对象是 MouseEvent类。 48 【正确答案】 MyFirstApplet.java 【试题解析】 该题考查对 Applet类的继承、原文件名与字节码文件名的理解。Applet小程序一般都继承 Applet类,其源文件名与任 何别的 Java程序文件名一样,都为 java文件。编译后产生的字节码文件名为 .class文件。 49 【正确答案】 为代码写文档和注释 【试题解析】 成功编写代码的几点建议:遵守命名规则、为代码写文档和注释、为代码分段、适当使用空白行、遵循第 32条规则。 50 【正确答案】 im=getImage(url,imageName) 【试题解析】 在 Applet中加载图像使用 Applct类提供的 getImage()方法,获得该图像的一个 Image类的对象。该方法的定义方式为: public Image getImage(URL url,String name)。