NCRE二级JAVA真题2014年03月(附带答案)_第1页
NCRE二级JAVA真题2014年03月(附带答案)_第2页
NCRE二级JAVA真题2014年03月(附带答案)_第3页
NCRE二级JAVA真题2014年03月(附带答案)_第4页
NCRE二级JAVA真题2014年03月(附带答案)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级JAVA真题2014年03月(总分100, 做题时间90分钟)一、选择题1. 下列叙述中正确的是_。 A.栈是“先进先出”的线性表 B.队列是“先进后出”的线性表 C.循环队列是非线性结构 D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 A B C D 该题您未回答: 该问题分值: 1答案:D解析 栈是“先进后出”的线性表,而队列是“先进先出”的线性表,循环队列自然也是线性结构的,有序线性表即可以采用顺序存储结构,也可以采用链式存储结构。2. 支持子程序调用的数据结构是_。 A.栈 B.树 C.队列 D.二叉树 A B C D 该题您未回答: 该问题分值: 1答案:A解析 在

2、题目选项中,栈是一种只允许在一端进行插入和删除的线性表。在高级语言中,函数的调用是通过栈来实现的。在进行函数调用时,系统将所需的信息存放在栈中,如函数的局部变量、返回值等。在系统中,每个函数的状态是由函数中的局部变量、函数参数值、函数的返回值地址决定的。存储这些信息的数据区域称为活动记录,或称为栈帧,它是运行时系统栈上分配的空间,只要函数是正在执行的,它的记录就一直存在,只有当函数退出时才释放其空间。3. 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是_。 A.10 B.8 C.6 D.4 A B C D 该题您未回答: 该问题分值: 1答案:C解析 由二叉树的性质得。对于一个非空的二

3、叉树,叶子结点数等于度为2的结点数目+1。4. 下列排序方法中,最坏情况下比较次数最少的是_。 A.冒泡排序 B.简单选择排序 C.直接插入排序 D.堆排序 A B C D 该题您未回答: 该问题分值: 1答案:D解析 考查各种排序方法的时间复杂度,冒泡排序,简单选择排序,直接插入排序在最坏的情况下比较次数都是O(n2)的,而堆排序的时间复杂度为O(nlog2n),这也是堆排序的最大优点。5. 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。 A.编译程序 B.操作系统 C.教务管理系统 D.汇编程序 A B C D 该题您未回答: 该问题分值: 1答案

4、:C解析 操作系统属于系统软件,编译程序与汇编程序都属于支撑软件,而教务管理系统是属于应用软件的。6. 下列叙述中错误的是_。 A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤 C.程序调试通常也称为Debug D.软件测试应严格执行测试计划,排除测试的随意性 A B C D 该题您未回答: 该问题分值: 1答案:A解析 软件测试目标是发现软件中的错误,但发现错误不是最终目的,根本目的是开发出高质量的完全符合用户需要的软件。7. 耦合性和内聚性是模块独立性度量的两个标准下列叙述中正确的是_。 A.提高耦合性降低内聚性有利于提高模块的独立性 B.降低

5、耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D.内聚性是指模块间互相连接的紧密程度 A B C D 该题您未回答: 该问题分值: 1答案:B解析 耦合性是指模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此结合的紧密程度。提高内聚性,降低耦合性有利于提高模块的独立性。8. 数据库应用系统中的核心问题是_。 A.数据库设计 B.数据库系统设计 C.数据库维护 D.数据库管理员培训 A B C D 该题您未回答: 该问题分值: 1答案:A解析 在数据库应用系统中的一个核心问题,就是设计一个能满足用户要求、性能良好的数据库。因此,数据库

6、设计是数据库应用系统中的核心问题。9. 有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为_。 R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 A.选择 B.投影 C.插入 D.连接 A B C D 该题您未回答: 该问题分值: 1答案:B解析 由专门的关系运算:选择、投影、插入、连接的定义可知,本题操作中所使用的运算是投影。10. 将E-R图转换为关系模式时,实体和联系都可以表示为_。 A.属性 B.键 C.关系 D.域 A B C D 该题您未回答: 该问题分值: 1答案:C解析 在数据库的逻辑设计阶段,将E-R图转换为关系模式时,

7、实体和联系都可以表示为关系。11. Java虚拟机(JVM)运行Java代码时,不会进行的操作是_。 A.加载代码 B.校验代码 C.编译代码 D.执行代码 A B C D 该题您未回答: 该问题分值: 1答案:A解析 Java中,类加载器把一个类装入Java虚拟机需要经过3个步骤来完成:装载、链接、初始化,其中链接又分为校验、准备、解析过程。装载:查找和导入类和接口的.class文件。连接:检查装入.class文件的正确性,然后.Java虚拟机为变量分配内存,设黄默认值。初始化:把符号引用变成直接引用。由以上分析,可以看出虚拟机(JVM)运行时不需要加载代码,选择A。12. Java程序的并

8、发机制是_。 A.多线程 B.多接口 C.多平台 D.多态性 A B C D 该题您未回答: 该问题分值: 1答案:A解析 Java是通过多线程来实现并发机制的;Java中最多只能继承一个类,但是可以实现多个接口;多平台是指Java运行的平台无关性;多态性是面向对象编程的一个重要特点。因此,选择A。13. 在方法内部使用,代表对当前对象自身引用的关键字是_。 A.super B.This C.Super D.this A B C D 该题您未回答: 该问题分值: 1答案:D解析 super代表父类对象的引用;this代表当前对象的引用。因此,选择D。14. 阅读下列程序: public cla

9、ss VariableUse public static void main(String args) int a; if(a=8) int b=9; System.out.println("a="+a); System.out.println("b="+b); System.out.println("a="+a); System.out.println("b="+b); 该程序在编译时的结果是_。 A.变量a未赋值 B.第二个System.out.println("b="+b)语句中,变量b作

10、用域有错 C.第二个System.out.println("a="+a)语句中,变量a作用域有错 D.第一个System.out.println("b="+b)语句中,变量b作用域有错 A B C D 该题您未回答: 该问题分值: 1答案:B解析 程序中局部变量a定义时没有赋初值,Java会赋值一个随机值,第二个Systern.out.println("b="+b)语句中,变量b作用域有错,因为变量b是在if语句中定义的,执行完if语句时,变量b已经不存在。因此,选择B。15. 下列不属于Swing的构件是_。 A.JButton B

11、.JLabel C.JFrame D.JPane A B C D 该题您未回答: 该问题分值: 1答案:D解析 Swing常用组件包含JLabel组件(标签)、JButton组件(按钮)、JTextField组件(单行文本)、JTextArea组件(多行文本)、JcheckBox组件(复选按钮)、JRadioButton组件(单选按钮)、JComboBox组件(下拉列表框)、JList组件(列表)、JTablc组件(表格)、JTree组件(树)等。选项D中JPane写错了。选择D。16. 对鼠标单击按钮操作进行事件处理的接口是_。 A.MouseListener B.WindowListene

12、r C.ActionListener D.KeyListener A B C D 该题您未回答: 该问题分值: 1答案:A解析 WindowListener是监听窗口事件的接口;ActionListener是监听按钮、文本框、列表框等组件的动作事件的接口;KeyLitener是监听键盘事件的接口。因此,本题选择A。17. AWT中用来表示颜色的类是_。 A.Font B.Color C.Panel D.Dialog A B C D 该题您未回答: 该问题分值: 1答案:B解析 Font是字体类;Panel是面板类;Dialog是对话框类。因此,本题选择B。18. 下列运算符中,优先级最高的是_

13、。 A.+ B.+ C.* D. A B C D 该题您未回答: 该问题分值: 1答案:A解析 由以下表格得出应选A。 优先级 运算符 结合性 1 (). 从左到右 2 !+(正)-(负)+- 从右向左 3 */% 从左向右 4 +(加)-(减) 从左向右 5 从左向右 6 -=instanceof 从左向右 7 =!= 从左向右 8 &(按位与) 从左向右 9 从左向右 10 | 从左向右 11 && 从左向右 12 | 从左向右 13 ?: 从右向左 14 =+=-=*=/=%=&=|= 从右向左 19. Java语言中属于跳转语句的是_。 A.try B.

14、catch C.finally D.break A B C D 该题您未回答: 该问题分值: 1答案:D解析 try-catch-finally语句是处理异常的语句,因此选择D。20. 阅读下列利用递归来求n!的程序_。 class FactorialTest static long Factorial(int n)/定义Factorial()方法 if(n=1) return 1; else return n*Factorial(_); public static void main(String a)/main()方法 int n=8; System.out.println(n+"

15、;!="+Factorial(n); 为保证程序正确运行,在下画线处应该填入的参数是_。 A.n-1 B.n-2 C.n D.n+1 A B C D 该题您未回答: 该问题分值: 1答案:A解析 很明显,n!要求应该是n-1。选择A。21. 阅读下列代码: public class Person static int arr=new int10; public static void main(String args) System.out.println(arr 9); 该代码的运行结果是_。 A.编译时将产生错误 B.编译时正确,运行时将产生错误 C.输出零 D.输出空 A B

16、C D 该题您未回答: 该问题分值: 1答案:C解析 若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值,如下表所示: 基本类型 默认值 boolean false char u0000(nun) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d 22. 在Java中若要使用一个包中的类时,首先要求对该包进行导入,其关键字是_。 A.import B.package C.include D.packet A B C D 该题您未回答: 该问题分值: 1答案:A解析 inaport语句

17、可以导入类;package语句可以定义一个类所在的包。因此选择A。23. 继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码_。 A.可读性好 B.可重用 C.可跨包访问 D.运行更安全 A B C D 该题您未回答: 该问题分值: 1答案:B解析 Java通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且同时拥有旧的成员。因此选择B。24. 阅读下列代码片段: class InterestTest_ActionListener public void actionPerformed(ActionEvent event) doub

18、le interest=balance*rate/100; balance+=interest; NumberFormat format=NumberFormat.getCurrencyInstance(); System.out.printlb("balance="+Formatter.format.(balance); Private double rate; 在下画线处,应填的正确选项是_。 A.Implementation B.Inheritance C.implements D.extends A B C D 该题您未回答: 该问题分值: 1答案:C解析 实现接口

19、要用implements关键字,继承类要用extends关键字。因此本题选择C。25. 下列方法中,不属于类String的方法是_。 A.toLowerCase() B.valueOf() C.charAt() D.append() A B C D 该题您未回答: 该问题分值: 1答案:D解析 string类的方法不包括append(),aploend()方法是StringBuffer类的方法。具体可以参考String类的函数。因此选择D。26. grid95捕述的是_。 A.二维数组 B.一维数组 C.五维数组 D.九维数组 A B C D 该题您未回答: 该问题分值: 1答案:A解析 二维

20、数组的定义方式为:type arrayName;对二维数组中每个元素,引用方式为arrayNameindex1index2其中index1、index2为下标,可为整型常数或表达式,如a23等,同样,每一维的下标都从0开始。题中grid95显然是二维数组,Java中没有多维数组,要表示多维数组可以使用数组的嵌套。因此,本题选择A。27. Java类库中,将信息写入内存的类是_。 A.java.io.FileOutputstream B.java.io.ByteArrayOutputStream C.java.io.BufferedOutputstream D.java.io.DataOutpu

21、tStream A B C D 该题您未回答: 该问题分值: 1答案:C解析 用FileOutputstream定义一个输出流文件;ByteArrayOutputSrream定义一个字节数组输出流;DataOutputStream定义一个数据输出流;它们都不带有缓冲功能。BuferedOutputStream生成一个缓冲输出流,在内存中开辟缓冲区。因此选择C。28. 阅读下列Java语句: ObjectOutputStream out=new ObjectOutputStream(new_("employee.dat"); 在下画线处,应填的正确选项是_。 A.File B

22、.FileWritcr C.FileOutputStream D.OutputStream A B C D 该题您未回答: 该问题分值: 1答案:C解析 对象序列化(“串行化”):将对象转换为字节流保存起来,并在日后还原这个对象,这种机制称做对象序列化。本题也可以填写ByteArrayOutputStream,这两种是Java中很经典的模式。选择C。29. 使新创建的线程参与运行调度的方法是_。 A.run() B.start() C.init() D.resume() A B C D 该题您未回答: 该问题分值: 1答案:B解析 Thread调用start()方法时,start()方法自动调

23、用run()方法。Applet在启动时自动调用init()方法。经过以上分析,本题选择B。30. Java中的线程模型由三部分组成,与线程模型组成无关的是_。 A.虚拟的CPU B.程序代码 C.操作系统的内核状态 D.数据 A B C D 该题您未回答: 该问题分值: 1答案:C解析 Java内在支持多线程,它的所有类都是在多线程下定义的.Java利用多线程使整个系统成为异步系统。Java中的线程由三部分组成,(1)虚拟的CPU,封装在Java.lang.Thread类中。(2)CPU所执行的代码,传递给Thread类。(3)CPU所处理的数据,传递给Thread类。由以上分析,本题选择C。

24、31. 当Applet需要更新显示内容时,应该调用的方法是_。 A.paint() B.update() C.start() D.repaint() A B C D 该题您未回答: 该问题分值: 1答案:D解析 repaint()方法会执行:update()方法先刷新屏幕(以背景填充),在调paint()方法重画。因此选择D。32. 向Applet传递参数的正确捕述是_。 A.param name=age,value=20 B.applet code=Try.class width=100,height=100,age=33 C.name=age,value=20 D.applet code=

25、Try.class name=age,value=20 A B C D 该题您未回答: 该问题分值: 1答案:A解析 典型的标记语言,Applet程序嵌入在网页里边执行。 applet code="paramdemo"width=300 height=100 param name=author value="作者" param rame=purpose value="向applet程序传递参数" param name=version value=8 /applet 因此本题选择A。33. Applet的默认布局管理器是_。 A.Bor

26、derLayout B.FlowLayout C.GridLayout D.PanelLayout A B C D 该题您未回答: 该问题分值: 1答案:B解析 Applet的默认布局管理器是FlowLayout,AWT的默认布局管理器是FlowLayout,Swing的默认布局管理器是BorderLayout。因此本题选择B。34. 阅读下列代码段: class Test implements Runnable public int run() int i=0; while(true) i+; System.out.println("i="+i); 上述代码的编译结果是_

27、。 A.程序通过编译并且run()方法可以正常输出递增的i值 B.程序通过编译,调用run()方法将不显示任何输出 C.程序不能通过编泽,因为while的循环控制条件不能为“true” D.程序不能通过编译,因为run()方法的返回值类型不是void A B C D 该题您未回答: 该问题分值: 1答案:D解析 定义线程包括两种办法: 扩展java.lang.Thread类。如果线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。 实现java.lang.Runncable接口。实现接口Runnable的对象创建一个线程时

28、,启动该线程将导致在独立执行的线程中调用对象的run方法。方法run的常规协定是,它可能执行任何所需的操作。本题应该选择D。35. 如果线程调用下列方法,不能保证使该线程停止运行的是_。 A.sleep() B.stop() C.yield() D.wait() A B C D 该题您未回答: 该问题分值: 1答案:A解析 sleep方法可以使低优先级的线程得到执行的机会,当然也可以让同优先级和高优先级的线程有执行的机会。而yield()方法只能使同优先级的线程有执行的机会。stop()方法可以使线程停止,但是不推荐使用该方法。当线程执行了对一个特定对象的wait()调用时,那个线程被放到与那

29、个对象相关的等待池中。此外,调用wait()的线程自动释放对象的锁标志。本题选择A。36. 下列关于Java语言中线程的叙述中,正确的是_。 A.线程是由代码、数据、内核状态和一组寄存器组成 B.线程间的数据是不共享的 C.用户只能通过创建Thread类的实例或定义,创建Thread子类的实例建立和控制自己的线程 D.因多线程并发执行而引起的执行顺序的不同定性可能造成执行结果的不稳定 A B C D 该题您未回答: 该问题分值: 1答案:D解析 线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。因此,选项A的说法是错误的。选顶B,代码所操作的

30、数据是.Java线程模型中的一个组成部分,数据与代码是独立的。数据可以被多个线程共享,也可不共享。因此,选项B的说法是错误的。选项C,在Java语言中提供两种创建线程的方法,一种是通过继承Thread类创建线程,另一种是通过实现Runnable接口来创建线程。因此,选项C的说法是错误的。选项D,在多线程的程序中,当多个线程并发执行时,虽然各个线程中语句的执行顺序是确定的,但线程的相对执行顺序是不确定的。这种线程运行顺序的不确定性将会产生执行结果的不确定性。因此,本题的正确答案为D。37. 阅读下面程序: import javax.swing.JOptionPang; public class

31、BreakLabelTest public static void main(String args) String output="" stop: for(int row=1;row=10;row+) for(int column=1;column=5;column+) if(row=5) break stop; output+="*" output+="n" output+="nLoops terminated normally" JOptionPane.showMessageDialog( Null,outp

32、ut,"用一个标志测试break语句", JOptionPane.INFORMATION_MESSAGE); System.exit(0); 程序运行结果是_。 A.窗口中有5行* B.窗口中有5行* C.窗口中有4行* D.窗口中有6行* A B C D 该题您未回答: 该问题分值: 1答案:C解析 外层for语句的循环变量是row,范围是1到10。内层for循环,当row不等于5时,在字符串output后面连接五个“*”。内层循环结束后,再在output的后面加一个换行符“/n”。然后再返回到外层for循环执行,即把row的值加1。当row不等于5时,仍然在字符申out

33、put后面连接五个“*”和一个换行符“/n”。当row的值为5时,执行breakstop语句,就跳出stop所指定的代码块,执行JOPtionPane.showMessageDialog语句。经过上述分析可知,内层循环在字符串output后面连接五个“*”和一个换行符“/n”的操作一共进行了四次。因此,后面输出output结果时是四行“*”。因此,本题的正确答案是C。38. 处理对象传输的接口是_。 A.Serializable B.Cloneable C.ItemListener D.ActionListener A B C D 该题您未回答: 该问题分值: 1答案:A解析 处理对象传输就是

34、把对象串行化。在Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口。因此,本题的正确答案是A。39. 在读取二进制数据文件的记录时,为了提高效率常常使用一种辅助类_。 A.InputStTeam B.FilelnputStream C.StringBuffer D.BufferedReader A B C D 该题您未回答: 该问题分值: 1答案:C解析 题目中要求读取二进制数据文件的记录,因此要使用字符输入流。选项A的InputStream是java.io包中的抽象类,是所有字节输入流的父类。题目要求的是字符输入流,显然,选项A不对。选项B的FikInpu

35、tstream是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项A一样,选项B是错的。选项C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增的字符,这提高了读取的效率。所以,StringBuffer是一个可以提高读取文件效率的辅助类。故选项C是正确答案。选项D的BufreredReader虽然是一个字符输入流,用于从字符输入流中读取文本并将字符存入缓冲区。但是,BuffeadReader直接用于文件的读取,不起辅助作用。所以,选项D是错误的。40. 可以使当前同级线

36、程重新获得运行机会的方法是_。 A.sleep() B.join() C.yield() D.interrupt() A B C D 该题您未回答: 该问题分值: 1答案:C解析 Thread类提供的基本线程控制方法包括:(1)sleep()一使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;(2)yield()一使具有与当前线程相同优先级的线程有运行的机会;(3)join()一使当前线程暂停执行,等待调用该方法的线程结束后,再恢复执行;(4)interrupt()一中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方

37、法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。二、基本操作题1. 注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹中存有文件名为Java_1.java文件,请完善Java_1.java文件,并进行调试,使程序结果为 a b c d e f g h i 由于Java_1.java文件不完整,请在注释行“/*Found*”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import java.io.*; public class Java_1 publ

38、ic static void main(String args) char charArray='a','b','c','d','e','f','g','h','i' char c; try /*Found* DataOutputStream out=new_( new FileOutputStream("test.dat"); for(int i=0;icharArray.length;i+) out.writeChar(char

39、Arrayi); out.close(); DataInputStream in=new DataInputStream( /*Found* new FileInputStream("_"); while(in.available()!=0) c=in.readChar(); System.out.print(c+""); System.out.println(); /*Found* in._(); catch(10Exception e) 该题您未回答: 该问题分值: 18答案:DataOutputStream test.dat close解析 创建数

40、据输出流,需填入DataOutputStream;文件输入流的文件名,需填入test.dat;关闭数据输入流,需填入close。三、简单应用题1. 注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹中存有文件名为Java_2.java文件,本题功能是在1n之间的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为 n*(n-1)*(n-2)*(n-k+1)/1*2*3*k 请完善Java_2.java文件,并进行调试,使程序先显示如下输入窗口: 然后从自然数120中,每次抽3个数,计算中奖几率,并将最终结果在命令行中显示,其形式类似: 你中奖的几率是1/1140 Good luck! 由于Java_2.java文件不完整,请在注释行“/*Found*”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: import javax.swing.*; public class Java_2 public static void main(Stringargs) /*Found* String input=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论