[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc

上传人:rimleave225 文档编号:503771 上传时间:2018-11-29 格式:DOC 页数:24 大小:66KB
下载 相关 举报
[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级(JAVA)笔试模拟试卷29及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、国家二级( JAVA)笔试模拟试卷 29及答案与解析 1 算法的时间复杂度是指 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法程序中的指令条数 ( D)算法执行过程中所需要的基本运算次数 2 设栈 S的初始状态为空。元素 a, b, c, d, e, f依次通过栈 s,若出栈的顺序为b, d, c, f, e, a,则栈 S的容量至少应该为 ( A) 3 ( B) 4 ( C) 5 ( D) 6 3 在最坏情况下,下列排序方法中时间复杂度最小的是 ( A)冒泡排序 ( B)快速排序 ( C)插入排序 ( D) 堆排序 4 在模块化程序设计中,按功能划分模块的原则是 (

2、A)各模块的功能尽量单一,且各模块之间的联系尽量的少 ( B)各模块的功能尽量单一,且各模块之间的联系尽量紧密 ( C)各模块应包括尽量多的功能 ( D)各模块应包括尽量多的输入输出操作 5 数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是 ( A)线性链表 ( B)二叉链表 ( C)栈与队列 ( D)循环队列 6 下列叙述中正确的是 ( A)软件就是程序清单 ( B)软件就是存放在计算机中的文件 ( C)软件应包括程序 清单以及运行结果 ( D)软件包括程序、数据和文档 7 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 ( A)概要设计 ( B)需求分析 ( C)详

3、细设计 ( D)编程调试 8 下列叙述中正确的是 ( A)程序设计过程中的主要工作足编制程序 ( B)程序设计的主要目标是编制出运行结果正确的程序 ( C)不良的程序设计风格会增加程序的复杂性 ( D)上述三种说法都不对 9 下列叙述中正确的是 ( A)用 E-R图能够表示实体集之间一对一的联系、 对多的联系、多对多的联系 ( B)用 E-R图 只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 10 关系表中的每一横行称为一个 ( A)元组 ( B)字段 ( C)属性 ( D)码 11 下列说法正确

4、的是 ( A) abstract关键字修饰的方法,不能再被子类重写 ( B)用 final关键字修饰的方法,不能再被子类重写 ( C)抽象类中一定要包含 abstract方法 ( D)某个类中包含了 abstract方法,该类可以不声明为 abstract类 12 下列基本命令中,属于类文件分解器命令的是 ( A) javadoc ( B) jar ( C) javah ( D) javap 13 按照 Java的标识符命名规则,下列表示常量的标识符规范的是 ( A) HelloWorld ( B) HELLO_WORLD ( C) hello_world ( D) helloWorld 14

5、 下列哪个数代表八进制整数 ? ( A) 0XA5 ( B) 0144 ( C) 1840 ( D) -1 15 下列关于构造方法说法正确的是 ( A)构造方法的名称可以和类不一样 ( B)构造方法必须有返回值 ( C)只能用运算符 new调用构造方法 ( D)构造方法不可以被重载 16 执行下面的程序段后 i和 j的结果为 int i=1,j=10; do if(i+ -j)continue; while(i 5); ( A) i=6,j=5 ( B) i=5,j=5 ( C) i=6,j=4 ( D) i=5,j=6 17 char变量的取值范围是 ( A) 0 32 767 ( B) 0

6、 65 535 ( C) -256 255 ( D) -32 768 32767 18 下列数组 array_test中,能在程序运行时动态调整大小的是 ( A) int array_test=new int10 ( B) String array_test ( C) ArrayList army_test=new Array List() ( D) Array array_test=new Array() 19 下面程序段; boolean a=false; boolean b=true; boolean c=(a|b) boolean result=(a|b) 执行完后,正确的结果是 (

7、A) c=false; result=false ( B) c=true; result=true ( C) c=true; result=false ( D) c=false; result=true 20 下列对继承的说法正确的一项是 ( A)子类能继承父类的所有方法和状态 ( B)子类能继承父类的非私有方法和状态 ( C)子类只能继承父类的 public方法和状态 ( D)子类只能继承父类的方法,而不能继承状态 21 表达式 1/2+“aa”+3的值为 ( A) “12aa3” ( B) “3aa3” ( C) “12aa” ( D) “aa3” 22 数据报通信协议 UDP把每个传输的

8、数据大小控制在下列哪一项之内 ( A) 8KB ( B) 16KB ( C) 64KB ( D) 128KB 23 关于下面语句的说法正确的是 Strings=new String10; ( A)该语句不合法 ( B)该语句定义了一个二维数组,它包括 10行 10列 ( C) s是一个包含 10个数组的数组 ( D) s中的每一个元素都 被设置成 “ 24 利用 File对象可以判断的是 ( A)创建子目录 ( B)荻得文件长度 ( C)删除文件 ( D)判断文件的存在 25 正确生成 RandomAccessFile对象的语句的是 ( A) File f=new File(“readFile

9、“); RandomAccessFile raF=new RandomAccessFile(f); ( B) RandomAccessFile raF=new RandomAccessFile(d:mydirFile3.txt,“rw“); ( C) RandomAccessFile raF=new RandomAccessFile(“readwriteFile“,“rw“); ( D) RandomAccessFile raF=new RandomAceessFile(“readwriteFile“ ,rw); 26 要表示表格的数据,需要继承下列哪个类 ? ( A) AbstractTab

10、leModel ( B) TableModel ( C) JTable ( D) TableModeLabel 27 下面代码的运行结果是 public class Test public static void main(String args) for(int i 0;i 3;i+) if(i 2) continue; System.out.println(i); ( A) 0 ( B) 1 ( C) 2 ( D) 3 28 下列字节输入流中,不能够被实例化的是 ( A) FilelnputStream ( B) FilterlnputStream ( C) ByteArraylnputS

11、tream ( D) ObjectlnputStream 29 Java中,类 FileInputStream和 FileOutputStream提供了对文件的读 /写方法是 ( A)跳跃 ( B)顺序 ( C)随机或顺序 ( D)随机 30 下列不是 DataOutputStream方法的是 ( A) writeDouble(double v) ( B) writelnt(int v) ( C) writeString(int v) ( D) writeChat(im v) 31 下列语句中所使用的布局管理器,当改变容器大小,组件大小不会随着一起改变的是 ( A) Frame frame1=

12、naew Frame(“FlowLayout“); ( B) Frame frame1-new Frame(“BorderLayout“); ( C) frame1=new Frame(“example“); frame1.setLayout(new BorderLayout (); ( D) frame1.setLayout(new GridLayout(2,3); 32 关于下面程序段的说法,正确的是 import javA.applet.*; import java.awt,*; public class Test extends Applet Image IMG onClick=ove

13、r(this) title=放大 ; public void init() IMG onClick=over(this) title=放大 =new Image(); public void paint(Graphics g) g.drawlmage(IMG onClick=over(this) title=放大 ,0,0,this); ( A)该程序段可以正常运行 ( B)程序中所创建的 Image为空,但可以显示 ( C)程序中所创建的 Image不为空 ( D)程序中所创建的 Image为空,不能显示 33 用 HTML文件显示 APPLET时,下面属于必不可少的属性的是 ( A) NA

14、ME、 HEIGHT和 WIDTH ( B) CODE和 NAME ( C) CODEBASE、 HEIGHT和 WIDTH ( D) CODE、 HEIGHT和 WIDTH 34 下列关于 Applet的叙述中,正确的是 ( A) Applet是 Java类,所以可以由 JDK中的解释器 java,exe直接解释运行 ( B) Applet应该定义为 javax.applet.Applet类或 java.swing.Applet类的子类 ( C) Applet与 Application的主要区别在 编译方式上 ( D)通过在 Applet中使用 getParameter可从 HTML文件中获

15、得参数 35 下列说法中错误的一项是 ( A)当线程需要在 synchronized块中等待共享数据状态改变时,则需要调用 wait()方法 ( B)当线程需要在 synchronized块中等待共享数据状态改变时,则需要调用notify()方法 ( C)线程在 synchronized块中执行完操作后,调用 notify()方法通知正在等待的线程重新占有锁 ( D) wait()和 notify()可以实现线程的同步操作 36 设一棵完全二叉树共有 700个结点,则在该二叉树中有【 】个叶子结点。 37 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 38 在结构化分析方法中,用于

16、描述系统中所用到的全部数据和文件的文档称为【 】。 39 在数据库的概念结构设计中,常用的描述工具是【 】。 40 数据库系统中实现各种数据管理功能的核心软件称为【 】。 41 Java中的方法的参数传递是【 】调用。 42 Java语言中如果要使用某个包中的类时,需要使用【 】导入。 43 执行下面 的程序段,辅出结果为上【 】。 public class Q public static void main (String argv) int anar=new int5; System.out.pfintln(anar0); 44 一个具体的线程是由【 】、代码和数据组成。 45 使得线程放

17、弃当前分得的 CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次 分得 CPU时间的方法是【 】。 46 关于文件名的处理中,测试当前文件是否目录用【 】函数。 47 sum的值为 0,则 result=sum=0?1:num/sum的值为【 】。 48 下面程序段是从对象流中读取对象,请将程序补充完整。 import java.util.*; import java.io.*; public class UnSerializaDate Date d=null; UnSerializaDate() try FilelnputStream f=new FileInputStream

18、(“date.ser“); ObjectlnputStream s=new Obi ectInput Stream( f); 【 】 f.close(); catch(Exception e) e.printStackTrace0; public static void main(String args) UnSerializaDate a-new UnSerializaDate(); System. out.println(“The date read is:“+a.d.toString0); 49 一个类只有实现了【 】接口,它的对象才是可串行化的。 50 请将程序补充完整。 import

19、 java.awt.*; public class FirstFrame extends Frame public static void main(String args) FirstFrame fr=new FirstFrame(“First container!“); fr.setSize(240,240); fr. setBackground(Color.yellow); 【 】 public FirstFrame(String str) super(str); 国家二级( JAVA)笔试模拟试卷 29答案与解析 1 【正确答案】 A 【试题解析】 算法的时间复杂度实际上就是执行算法程

20、序所需要的计算工作量。为了客观地反映算法性能,在度量算法的时间复杂度时,应该与编写算法程序所使用的程序设计语言、执行算法程序时所使用的计算工具以及程序员的水平无关。选项 A错误,因为同一算法程序在运行速度不同的计算机上运行时,其计算时间是不同的。选项 B错误。因为算法所编写的程序长度往往与程序设计语言以及程序员的水平有关,同一个算法, 用不同的程序设计语言或者不同的程序员所编写出的程序其长度可能会大不相同。选项 C错误,因为根据一个算法所编制出的程序程序中,其指令条数往往与程序设计语言以及程序员的水平有关,不能用算法程序中的指令条数来度量算法的时间复杂度。所以,本题的正确答案为 D。 2 【正

21、确答案】 A 【试题解析】 根据题中给定的条件,可以作如下的模拟操作: 元素 a, b进栈,栈中有 2个元素,分别为 a, b; 元素 b出栈后,元素 c, d进栈,栈中有 3个元素,分别为 a, c, d; 元素 d, c出栈后,元素 e, f进栈,栈中有 3个元素,分别为 a, e, f; 最后,元素 f, e, a出栈,栈为空。可以看出,进栈的顺序为 a, b, c, d, e, f,出栈的顺序为 b, d, c, f, e, a,满足题目要求。每次进栈操作后,栈中最多有 3个元素,所以,为了顺利完成这些操作,栈的容量应至少为 3。本题的正确答案为 A。 3 【正确答案】 D 【试题解析

22、】 在最坏情况下:冒泡排序需要的比较次数为 n(n-1)/2;快速排序需要的比较次数也为 n(n-1)/2:插入排序需要的比较次数也为 n(n-1)/2:堆排序需要比较的次数为 O(nlog2n)。可知,在最坏情况下,堆排序的 时间复杂度最小,本题的正确答案为 D。 4 【正确答案】 A 【试题解析】 模块化设计是指把一个大程序技人们能理解的大小规模进行分解。划分模块的基本原则是使每个模块都易于理解。按照人类思维的特点,按功能米划分模块最为自然。在按功能划分模块时,要求各模块的功能尽量单一,各模块之间的联系尽量少。所以,选项 A正确:选项 B错误:选项 c错误。本题的正确答案为 A。 5 【正

23、确答案】 C 【试题解析】 线性链表是线性表的链式存储结构;二叉链表是二叉树的链式存储结构:栈与队列分别是特殊的线性表;循环队列是 队列的一种顺序存储结构。可知,线性链表、二叉链表、循环队列均属于存储结构,而栈与队列属于逻辑结构选项 C为正确答案。 6 【正确答案】 D 【试题解析】 计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。用一个等式表示,则为:软件 =程序 +文档 +数据选项 A、 B、 C错误,正确答案是 D。 7 【正确答案】 A 【试题解析】 概要设计的任务是划分出构成系统的各物理元素以及设计出软件的结构 (如确定模块及模块间的关系 )。设

24、计过程通常分为以下几步:提出可选择方案;选 择合理方案;推荐最佳方案:功能分解;设计软件结构:制定测试计划:最后提交概要设计文档。软件功能分解属于概要设计阶段。本题的正确答案为A。 8 【正确答案】 C 【试题解析】 程序设计过程中包括很多步骤,编制程序只是其中的一步。所以,选项 A错误。程序设计的最终产品是程序,但仅设计和编制出一个运行结果正确的程序是不够的,还应养成良好的程序设计风格。所以,选项 B错误。程序设计的根本目标是要降低程序的复杂性和提高程序的可读性。而程序的复杂性主要来自以下两个方面:问题固有的复杂性:不良的设计风格人为增加了程 序的复杂性。所以,良好的设计风格对于降低程序的复

25、杂性是很重要的,并且,好的设计风格是好的程序风格的基本保证;选项 C正确。 9 【正确答案】 A 【试题解析】 用 E-R图可以简单明了地描述实体及其相互之间的联系,用 E-R图还可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。所以,选项 A正确,选项 B与 C错误。为了建立用户所要求的数据库,必须把概念结构 (用 E-R图表示的概念数据模型 )转换为某个具体的数据库管理系统所支持的数据模型,这就是逻辑结构设计所要完成的任务。在已给定数据库管理系统的情况下,数据库的逻辑设计可以分两步来进行: 将概念模型转换成一般的数据模型; 将一般的数据模型转换为特定的数据库管理系统所支持的

26、数据模型。可知,用 E-R图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。所以,选项说法错误。 10 【正确答案】 A 【试题解析】 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。关系表中的每一横行称为一个元组。本题的正确答案是 A。 11 【正确答案】 B 【试题解析】 本题考查类定义中的关键字。 abstract关键字修饰的方法称为抽象方法,该方法必须被重写,选项 A错误;抽象类中不一定要包含 abstract方法,但是,一旦某个类中包含了 abstract方法,该类就必须声明为 abstract类,选项C和选项 D错误;用

27、final修饰的方法不能再被子类重写,选项 B正确。 12 【正确答案】 D 【试题解析】 本题考查 Java的 JDK工具。 javadoc是 Java文档生成器,对Java源文件和包以 MML格式生成 AP文档。压缩程序 jar.exe的功能是把多个文件以 zip格式压缩到一个扩展名为 jar的文件中,这样可以保持程序的完整性并便于使用。 javah是头文件 (header)产生器。 javap是 Java类分解器,对 class文件提供字节代码的反汇编 ,并打印。 javac是 Java,编译俞令,能将源代码编译成字节码,以 class扩展名存入 java工作目录中。 java是 Jav

28、a解释器,执行字节码程序,该程序是类名所指的类,必须是 个完整定义的名字。正确答案是 D。 13 【正确答案】 B 【试题解析】 本题考查 Java标识符的命名规则。属于考试重点内容,应该掌握。 Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列:标识符是区分大小写的;标识符的字符数没有限制。但是 Java有一些命名约定,基本原则为: $不作为变量名、方法 名开头:变量名、方法名首单词小写,其余单词只有首字母大写;接口名,类名首单词第一个字母大写;常量完全大写。按照这些约定,可见只有选项 B正确。 14 【正确答案】 B 【试题解析】 本题考查 Java语言中的整

29、型常量。题目虽然不难,但属于学习程序设计语言的基础,应有所了解。整型常量有 3种书写格式。十进制整数,如:156, -230, 345;八进制整数:以 0开头,如: 012表示十进制的 10;十六进制整数:以 0x或 0X开头,如 0X123表示十进制数 291。由此可见,选项 A表示的是十六进制整数,选项 B是八 进制整数形式,以 0开头,为本题正确选项;选项 c和选项 D都是十进制整数。 15 【正确答案】 C 【试题解析】 本题考查构造方法的概念。构造方法用来初始化类的下个对象,构造方法具有和类一样的名称,选项 A说法错误。构造方法没有返回类型还可以重载,选项 B说法错误。构造方法只能用

30、运算符 new调用构造方法,选项 C说法正确。如果没有定义构造方法,在 Java运行时,系统会自动提供默认的构造方法,它没有任何参数,选项 D说法错误。 16 【正确答案】 D 【试题解析】 本题考查考生对自增自减运算符的理解。 +op和 op+,表示对操作数 op加 1,其中 +op表示先对 op加 1然后再取值,而 op+表示先取值,然后再对 op进行加 1。 -op和 op-也是一样,当进行到 i=5时退出循环,此时 j为 6。因此,本题正确答案为选项 D。 17 【正确答案】 B 【试题解析】 本题考查 Java中数据的取值范围。 char是字符变量类型,在内存中占 16位 bit,表

31、示范围为 0 65 535,选项 B正确。 char不能当作整数使用,char类型的值可以转换为 int类型,但反过来,血类型转换为 char类型时,必须强制执行。 18 【正确答案】 C 【试题解析】 本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容易出错的地方,应该灵活掌握。动态初始化需要使用 new操作符来分配内存空间,既可以在声明时初始化,也可以在声明以后初始化。声明时初始化:类型数组名 =new类型 数组长度 ;声明后初始化;类型数组名 ;数组名 =new类型 数组长度 ;选项 A定义了一个含有 10个元素的整型数组,不符合题意;选项 B定义了 个字符串数组。在 Java

32、语言中用一种特殊的类 Java.util.ArrayList(数组列表 )在运 行时能动态调整数组的大小。 ArrayList类在定义数组时,不必限定数组的大小。在数组列表初始化时,可用 add()方法将数组元素赋值。 19 【正确答案】 B 【试题解析】 本题考查 Java中的运算符。考试重点内容,历次考试都有题目涉及。首先要清楚, “ 【试题解析】 本题考查对象流的读取。对象输入流 ObjeetInputStream的对象 s是以一个文件输入流为基础构造的。程序中使用 ObjectInputStream的readObject()方法从对象流 s中读取 Date类型的对象。读该对象时要按照它

33、们写入的顺序读取因为 readObject()返 回的是 Object类型的对象,所以程序中使用了强制类型转化,将所读取对象的类型转换为 Date类型。 49 【正确答案】 Serializable 【试题解析】 本题考查申行化的概念。一个类只有实现了 Serializable接口,它的对象才是可串行化的。因此如果要串行化某些类的对象,这些类就必须实现Serializabie接口。实际上, Serializable是一个空接口,它的目的只是简单地标识一个类的对象可以被串行化, 50 【正确答案】 fr.setVisible(true) 【试题解 析】 本题考查容器的概念。题目所给程序段的容器是一个窗口,窗口中并没有放置其他构件,由于默认为不可见,因此需要调用 setVisible(true)宋设置窗口为可见的。需要注意题目程序只是生成一个窗口,但是并不能响应用户的操作,即使是单击窗口右上角的 “关闭 ”按钮,也不能关闭窗口。

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

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

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