全国计算机二级考试Java模拟试题(二)答案及解析
在日常学习和工作生活中,我们经常跟考试题打交道,借助考试题可以更好地考核参考者的知识才能。什么样的考试题才是好考试题呢?下面是小编为大家整理的全国计算机二级考试Java模拟试题(二)答案及解析,仅供参考,大家一起来看看吧。

全国计算机二级考试Java模拟试题(二)答案及解析 1
一、选择题
1.A。【解析】线性表的存储结构有顺序存储结构和链式存储结构。
2.C。【解析】根据满二叉树的定义,一棵深度为k且有
2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数。根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
3.C。【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。
4.B。【解析】在数据库系统中,需要对数据进行集合、统一的管理,以达到被多个应用程序共享的目标。
5.D。【解析】程序设计中,程序不要求长度,以结构清晰、易于理解为标准,程序员可以添加注释来助于理解,同时要尽量少用goto语句,否则会破坏程序的结构。
6.C。【解析】结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。
7.A。【解析】二叉树的遍历有3种:前序、中序和后序。中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点。分析本题二叉树,对其进行中序遍历,结果为ACBDFEG。
8.B。【解析】耦合性和内聚性是模块独立性的两个定性标准,软件设计应该遵循高内聚低耦合的准则。
9.A。【解析】算法的有穷性是指算法必须在执行有限的步骤后终止。
10.D。【解析】关系R与S经过交运算后所得到的关系是由那些既在R内又在S内的有序组组成的。记作R∩S。
11.B。【解析】若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。
12.D。【解析】根据快速排序的算法,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)为字符序列(Q,H,C,Y,P,A,M,s,R,D,F,x)经过快速排序的算法第一趟扫描后的结果。
13.D。【解析】算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量,也就是算法分析,因此选项D错误。算法设计一般采用由粗到细、由抽象到具体的初步求精的方法。
14.B。【解析】数据的存储结构是逻辑结构在计算机存储器中的实现。为了全面表示一个逻辑结构,它在存储器中的影响包括数据元素自身值的表示和数据元素的表示两方面。
15.B。【解析】顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[0]~R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mid].key 16.D。【解析】本题考查虚拟机执行过程的特点。Java虚拟机是编译器生成的字节码,不用考虑具体的硬件环境,实现一次编写,随处运行,实现其可移植性。虚拟机执行过程的特点有:多线程、动态连接、异常处理。代码安全检查是Java语言的一个突出特点,但不属于虚拟机执行过程特点。
17.A。【解析】本题考查考生对Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。Java语言是分大小写的,这一点在初学Java时需要特别注意,这一点与C语言有所不同,B选项错误。以//开始的应该是单行的注释语句,因此选项C错误。Java中有三类注释语句:文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信患。Java程序源文件名必须和public类名相同,否则编译出错,因此选项D错误。只有选项A说法正确。
18.C。【解析】本题考查实型变量科学计算格式的书写。在科学计算格式中,e或E是指数符,要求在e/E之前必须有数字,选项A错误。同时还要求在e/E之后必须是整数,选项B和选项D错误。虽然题目非常简单,但是不容易正确回答。正确答案为选项C。
19.C。【解析】本题考查Java语言中的进制换算。考生首先要清楚各种进制的表示方法,整型常量有3种书写格式:十进制整数,如156,-230,345;八进制整数:以0开头,如012表示十进制的l0;十六进制整数:以0x或0X开头,如0X123表示十进制数291。选项A是十进制的.15,选项B和选项D都是十六进制中的F相当于十进制的15,选项C为八进制,以0开头,此处Ol5相当于十进制的13,与其他选项不同。
20.D。【解析】本题考查考生对位运算符中无符号右移运算符的掌握。无符号右移运算符>>>,也叫逻辑右移,用于将一个数的各二进制位全部无符号右移若干位,与运算符>>不同的是左补0,而>>则是最高位移入原来高位的值。在本题中,8的二进制表示是1000,右移一位后变成了0100,对应的十进制数是4。可见,正确答案为选项D。
21.A。【解析】本题考查考生对Java类的掌握。在Java中java.lang包封装着所有编程应用的基本类。Object是所有类的根,它所包含的属性和方法被所有类集成;Class类是由编译器自动生成对象的一个特殊类,它伴随每个类;Strin9是字符串常量的类;System类是一个final类,所有的方法都用类变量来调用,即对System类不可能实例化,主要提供了标准输入/输出和系统环境信息的访问、设置.
22.A。【解析】本题考查Java的运算和类型转换。题目中变量x、y、z是int类型,由于括号的优先级要高,所以语句(float)(x/y)的结果为0.0,分母已经成为0,编译肯定无法通过。另外,由于2是int型,不能将float型强制转化为int型。
23.B。【解析】本题考查int类型的取值范围。int类型是最常用的整数类型,存储时占32位bit,能表示的范围是-2的31次方至2的31次方-1,选项B正确。而short类型在存储时占l6位bit,能表示的范围是-2的16次方至2的16次方-1。long类型存储时占64位bit,数据范围是-2的64次方至2的64次方-1。正确答案为选项B。
24.B。【解析】本题考查对子类与父类关系的理解。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,子类方法不能产生比父类更多的异常。子类拥有的成员数目小于等于父类拥有的成员数目,选项A说法错误;父类代表的对象范围比子类广,选项B说法正确;子类要调用父类的方法,可以使用super关键字,也可以将父类的方法进行重写,选项C说法错误。在Java中一个类只能有一个父类,选项D说法错误。
25.A。【解析】本题考查Java中表达式的运算。程序段main( )方法中的前3行是基本的赋值语句,第4行是算术运算语句,该语句执行的过程是:首先是对Y取负值,得到-2,然后乘以2得到-6,再除以n得到-1,最后和n做加法得到3,从而根据赋值运算将3赋值给变量n。
26.C。【解析】本题考查Java中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器(Adapter)定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器,它包装的对象就是适配者(Adaptee),适配器提供客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确。同步主要用在多线程程序设计中。
27.B。【解析】本题考查Java中数据类型的取值范围。应该掌握常用的数据类型的取值范围,char类型在内存中占16位,取值范围是0~65535也就是O~2的16次方减1,选项B正确。
28.D。【解析】本题考查Java中的注释语句。注释是程序设计的重要组成部分,应熟练掌握。Java中有三类注释语句:文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件,所以本题正确答案是选项D;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信息。
29.A。【解析】本题考查Java语言中的进制换算。首先要清楚各种进制的表示方法。整型常量有3种书写格式:十进制整数,如156,-230,345;八进制整数,以0开头,如012表示十进制的l0;十六进制整数,以0x或OX开头,如0X123表示十进制数291。十进制数16相当于十六进制的10,所以选项A正确。
30.D。【解析】本题考查Java中变量的声明。选项A虽然按照题目要求定义了一个变量,但没有满足保持为常数的要求,该变量可以被改变;选项B没有满足题目要求的public成员变量;选项C与C语言混淆,const是C语言用来定义常值变量的关键字;Java中定义常值变量使用的是final属性,说明该值赋值以后永不改变,所以选项D为正确答案。
31.B。【解析】本题考查Java I/O流中的过滤流。过滤流是Java对I/O访问提供的同步处理机制,保证某时刻只有一个线程访问一个I/O流。过滤流是FilterInputStream和FiherOutputStream。因此,本题的正确答案是选项B。
32.D。【解析】程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start( )方法,才能运行该线程。
33.B。【解析】Swing的按钮上还可以同时显示文字和图标,甚至只有图标都是可以的,这样就构成了图形按钮。而AwT中的Button类不能显示图标,只能显示文本。
34.D。【解析】FlowLayout布局管理器是Panel类和Applet类默认的布局管理器。向JApplet中增加构件,是把构件添加到Japplet的内容面板中,而不是直接添加到JApplet中。JApplet的内容面板的默认布局管理器是BorderLayout,而Applet默认的布局管理器是FlowLayout。
35.D。【解析】构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法的名字必须与类名相同,并且构造方法不返回任何数据。
36.A。【解析】表格是Swing新增加的构件,主要功能是把数据以二维表格的形式显示出来。使用表格,依据M-V-C的思想,最好生成一个MyTableModel类型的对象来表示数据,这个类是从AbstractTableModel类继承来的。
37.A。【解析】该程序经过编译、运行后,在屏幕上显示:l 2 3 4。public class Hello中Hello为类名,public staticvoid main(String args[])有关参数的解释如下:public表示该方法可以被任意代码所调用,包括Java解释器;static告诉编译器,main( )方法是一个类方法,可以通过类名直接调用,调用时不需要该类的实例对象;void表示main( )方法没有返回值,这是非常重要的,因为Java类型检查非常严格,包括检查这些方法返回值的类型是否与声明的一致;Stringargs[]声明一个字符串类型的数组,它是命令行传递给main( )方法的参数,参数在命令行中出现在类名称后面。包含main( )方法的类(Hello为包含main( )方法的类名)名称必须与其文件名相同,也就是说,其文件名必须为Hello.java。 经过编译,在当前文件夹下将出现一个Hello.class文件,这就是编译后的字节码文件。在程序段最后有两个大括号,分别说明结束main( )方法和Hello类。在本程序中由于有 count= =5这个条件判断,因此当count= =5时,程序结束,输出为1 2 3 4。
38.B。【解析】在Java Applet的生命周期中,共有4种状态和4个方法:init( )、start( )、stop( )和destroy( )。在Applet装载时,由浏览器或appletviewer调用init( )方法,通知该Applet已被加载到浏览器中,使Applet执行一些基本初始化。
39.B。【解析】JDBC中定义了一组标准的应用程序接口(API),这些APl是一种面向对象的封装和重新设计的接口,使得用户能够编写不依赖于数据库厂商的数据库应用程序。
40.C。【解析】J2SDK的下载按下列步骤进行操作:①进入http://java.sun.com;②单击左侧Download链接,进入下载页面;③单击页面中的Java 2 Platform,StandardEdition链接,进入J2SE下载页面;④单击页面中J2SE l.4.2链接,进入J2SEl.4.2下载页面;⑤找到Download J2SE v1.4.2_02栏目,在其下找到Windows offline Installation类别,其右有两个下载选项,一个是JRE,一个是"SDK",单击SDK选项下面的download,进入J2SDK-1_4_2_02-win-dows-i586.exe文件的下载页面;⑥选择accept,接受SUN的协议;⑦单击页面中的Downloadj2sdk-1_4_2_02-win-dows.i586.P.exe下载链接,自动进行浏览器下载,也可使用下载工具进行下载。
二、基本操作题
第1处:int a,int b
第2处:int sum
第3处:return sum
【解析】第1处是add方法的两个整型的形参;第2处是声明一个整型的变量sum;第3处是求得sum值后,返回sum。
三、简单应用题
第1处:flash
第2处:System.exit(0)
【解析】第1处是作为Dialog对话框的参数,第2处表示系统关闭退出整个应用程序,参数0表示正常关闭。
四、综合应用题
第1处:File f—new File(".").getAbsoluteFile( )
第2处:int i=0;i 第3处:private class FileListDragSoureeListener ex-
tends DragSourceAdapter
【解析】第1处是通过绝对路径创建一个File对象f;第2处是files中f文件所在目录下的所有文件名列表,此处就是遍历这些文件名;第3处是定义了一个FileListDragSoureeListener类继承用于接收拖动源事件的抽象适配器类 DragSoureeAdapter。
全国计算机二级考试Java模拟试题(二)答案及解析 2
选择题
1). 下面( )是合法的标识符。
A.$persons
B.2Users
C.*poi nt
D.this
正确答案:A
答案解析:本题考查Java 标识符的命名,属于考试重点内容,应该掌握。Java 中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java 中标识符不能以数字开头,所以选项B错误;不能以“*”开头,选项C错误;this 是专用标识符,具有专门的意义和用途,选项D 错误,只有选项A 正确。
2). 设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。
A.s =b
B.s>b
C.s
D.s>=b
正确答案:B
答案解析:顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[O]~R[n -1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mi d]. key>k,则说明待查找的结点只可能在左子表R[O]~R[mi d -1]中,我们只需在左子表中继续进行折半查找,若R[mi d]. key
3). 定义一个表示10个值为null的字符串数组,下面选项正确的是( )。
A.String []a;
B.String a[];
C.char a[10][];
D.String a[]=new String[10];
正确答案:D
答案解析:本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为null。
4). Thread类中能运行线程的方法是( )。
A.resume( )
B.start( )
C.run( )
D.init( )
正确答案:C
答案解析:resume( )是Thread类提供的用于线程控制的方法;start( )是Thread类中的方法,新建的线程不会自动运行,必须调用线程的start( )方法才能运行该线程;run( )是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run( )方法开始执行的,就像Java应用程序从main( )开始、Applet从init( )开始一样;init( )不是Thread类中的方法。
5). 在面向对象的'方法中,一个对象请求另一个对象为其服务的方式是通过发送
A.调用语句
B.命令
C.口令
D.消息
正确答案:D
6). 下列的( )原始类型在使用流时可以互换。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正确答案:B
答案解析:本题考查Java语言中字节类型的概念。在Java语言中,byte是字节类型,用1字节表示.boolean是布尔类型,用true和false表示,它们的表示方法并不一样,也不提供它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句中互换使用char和int,选项B正确。char用2字节表示,byte字节类型用l字节表示,Java内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的一系列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中提供的类都是以大写字母开头,基本类型都用小写字母表示。
【全国计算机二级考试Java模拟试题(二)答案及解析】相关文章:
全国计算机二级考试Java模拟试题(一)答案及解析04-21
计算机二级JAVA考试模拟试题及答案10-16
全国计算机二级考试Java模拟试题08-19
全国计算机等级考试《二级Java》模拟试题(含答案)06-10
计算机考试二级考试Java模拟试题附答案11-14
计算机二级JAVA考试模拟试题06-24