全国计算机等级考试二级Java语言程序设计试题及答案五.docx

上传人:b****1 文档编号:15243872 上传时间:2023-07-02 格式:DOCX 页数:26 大小:34.30KB
下载 相关 举报
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第1页
第1页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第2页
第2页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第3页
第3页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第4页
第4页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第5页
第5页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第6页
第6页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第7页
第7页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第8页
第8页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第9页
第9页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第10页
第10页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第11页
第11页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第12页
第12页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第13页
第13页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第14页
第14页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第15页
第15页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第16页
第16页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第17页
第17页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第18页
第18页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第19页
第19页 / 共26页
全国计算机等级考试二级Java语言程序设计试题及答案五.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国计算机等级考试二级Java语言程序设计试题及答案五.docx

《全国计算机等级考试二级Java语言程序设计试题及答案五.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Java语言程序设计试题及答案五.docx(26页珍藏版)》请在冰点文库上搜索。

全国计算机等级考试二级Java语言程序设计试题及答案五.docx

全国计算机等级考试二级Java语言程序设计试题及答案五

 一、选择题(每小题1分,共40小题,共40分)

  1.常采用的两种存储结构是()。

  A.顺序存储结构和链式存储结构

  B.散列方法和索引方式

  C.链表存储结构和数组

  D.线性存储结构和非线性存储结构

A。

【解析】线性表的存储结构有顺序存储结构和链式存储结构。

  2.在深度为5的满二叉树中,叶子结点的个数为()。

  A.32

  B.31

  C.16

  D.15

C。

【解析】根据满二叉树的定义,一棵深度为k且有

  2k-1个结点的二叉树为满二叉树。

满二叉树的叶子结点为最后一层的结点数。

根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。

因此深度为5的满二叉树的叶子结点数为25-1=16个。

  3.下列叙述中错误的是()。

  A.线性表是由n个元素组成的一个有限序列

  B.线性表是一种线性结构

  C.线性表的所有结点有且仅有一个前件和后件

  D.线性表可以是空表

C。

【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。

但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。

  4.数据库技术的根本目标是要解决数据的()。

  A.存储问题

  B.共享问题

  C.安全问题

  D.保护问题

B。

【解析】在数据库系统中,需要对数据进行集合、统一的管理,以达到被多个应用程序共享的目标。

  5.在设计程序时,应采纳的原则之一是()。

  A.不限制goto语句的使用

  B.减少或取消注解行

  C.程序越短越好

  D.程序结构应有助于读者理解

D。

【解析】程序设计中,程序不要求长度,以结构清晰、易于理解为标准,程序员可以添加注释来助于理解,同时要尽量少用goto语句,否则会破坏程序的结构。

  6.结构化程序设计的核心和基础是()。

  A.结构化分析方法

  B.结构化设计方法

  C.结构化设计理论

  D.结构化编程方法

C。

【解析】结构化程序设计的核心和基础是结构化设计理论,其中包括:

结构化分析方法、结构化设计方法和结构化编程方法。

  7.对下列二叉树进行中序遍历的结果是()。

  

  A.ACBDFEG

  B.ACBDFGE

  C.ABDCGEF

  D.FCADBEG

A。

【解析】二叉树的遍历有3种:

前序、中序和后序。

中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点。

分析本题二叉树,对其进行中序遍历,结果为ACBDFEG。

  8.软件设计中模块划分应遵循的准则是()。

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

B。

【解析】耦合性和内聚性是模块独立性的两个定性标准,软件设计应该遵循高内聚低耦合的准则。

  9.算法的有穷性是指()。

  A.算法程序的运行时间是有限的

  B.算法程序所处理的数据量是有限的

  C.算法程序的长度是有限的

  D.算法只能被有限的用户使用

A。

【解析】算法的有穷性是指算法必须在执行有限的步骤后终止。

  10.有3个关系R、S和T如下:

  由关系R和S通过运算得到关系T,则所用的运算为()。

  A.并

  B.自然连接

  C.笛卡儿积

  D.交

D。

【解析】关系R与S经过交运算后所得到的关系是由那些既在R内又在S内的有序组组成的。

记作R∩S。

11.破坏死锁的4个必要条件之一就可以预防死锁。

假如规定一个进程在请求新资源之前首先释放已占有的资源则是破坏了()条件。

12.  A.互斥使用

13.  B.部分分配

14.  C.不可剥夺

15.  D.环路等待

B。

【解析】若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。

  12.设有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X),则新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列()排序算法一趟扫描的结果。

  A.起泡排序

  B.初始步长为4的希尔排序

  C.二路归并排序

  D.以第一个元素为分界元素的快速排序

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.下列与算法有关的叙述中,不正确的是()。

  A.运算是数据结构的一个重要方面,运算的实现步骤用算法来描述

  B.算法是精确定义的一系列规则,它指出怎样从给定的输入信息经过有限步骤产生所求的输出信息

  C.算法的设计采用由粗到细,由抽象到具体的逐步求精的方法

  D.对于算法的分析,指的是分析算法运行所要占用的机器时间,即算法的时间代价

D。

【解析】算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

算法常常含有重复的步骤和一些比较或逻辑判断。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。

一个算法的优劣可以用空间复杂度与时间复杂度来衡量,也就是算法分析,因此选项D错误。

算法设计一般采用由粗到细、由抽象到具体的初步求精的方法。

  14.下列关于数据的存储结构的叙述中,正确的是()。

  A.数据的存储结构是数据间关系的抽象描述

  B.数据的存储结构是逻辑结构在计算机存储器中的实现

  C.数据的存储结构分为线性结构和非线性结构

  D.数据的存储结构对数据的具体实现没有影响

B。

【解析】数据的存储结构是逻辑结构在计算机存储器中的实现。

为了全面表示一个逻辑结构,它在存储器中的影响包括数据元素自身值的表示和数据元素的表示两方面。

  15.设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是()。

  A.s=b

  B.s>b

  C.s

  D.s>=b

B。

【解析】顺序查找的基本思想是:

从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。

二分查找法是一种效率较高的查找方法,要求线性表是有序表。

基本思想是:

首先将待查的k值和有序表R[0]~R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mid].key

  16.下列不属于虚拟机执行过程的特点的是()。

  A.多线程

  B.动态连接

  C.异常处理

  D.代码安全检查

D。

【解析】本题考查虚拟机执行过程的特点。

Java虚拟机是编译器生成的字节码,不用考虑具体的硬件环境,实现一次编写,随处运行,实现其可移植性。

虚拟机执行过程的特点有:

多线程、动态连接、异常处理。

代码安全检查是Java语言的一个突出特点,但不属于虚拟机执行过程特点。

  17.下列说法中,正确的一项是()。

  A.Java语言是以类为程序的基本单位的

  B.Java语言是不分大小写的

  C.多行注释语句必须以//开始

  D.在Java语言中,类的源文件名和该类名可以不相同

A。

【解析】本题考查考生对Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。

Java语言是分大小写的,这一点在初学Java时需要特别注意,这一点与C语言有所不同,B选项错误。

以//开始的应该是单行的注释语句,因此选项C错误。

Java中有三类注释语句:

文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信患。

Java程序源文件名必须和public类名相同,否则编译出错,因此选项D错误。

只有选项A说法正确。

  18.下列关于实型变量书写正确的是()。

  A.E3

  B.2e0.3

  C.1.2e3

  D.1.2E0.3

C。

【解析】本题考查实型变量科学计算格式的书写。

在科学计算格式中,e或E是指数符,要求在e/E之前必须有数字,选项A错误。

同时还要求在e/E之后必须是整数,选项B和选项D错误。

虽然题目非常简单,但是不容易正确回答。

正确答案为选项C。

  19.下列与其他选项不相等的是()。

  A.15

  B.0xF

  C.015

  D.0XF

C。

【解析】本题考查Java语言中的进制换算。

考生首先要清楚各种进制的表示方法,整型常量有3种书写格式:

十进制整数,如156,-230,345;八进制整数:

以0开头,如012表示十进制的l0;十六进制整数:

以0x或0X开头,如0X123表示十进制数291。

选项A是十进制的15,选项B和选项D都是十六进制中的F相当于十进制的15,选项C为八进制,以0开头,此处Ol5相当于十进制的13,与其他选项不同。

  20.设a=8,则表达式a>>>1的值是()。

  A.1

  B.2

  C.3

  D.4

D。

【解析】本题考查考生对位运算符中无符号右移运算符的掌握。

无符号右移运算符>>>,也叫逻辑右移,用于将一个数的各二进制位全部无符号右移若干位,与运算符>>不同的是左补0,而>>则是最高位移入原来高位的值。

在本题中,8的二进制表示是1000,右移一位后变成了0100,对应的十进制数是4。

可见,正确答案为选项D。

 21.在Java中,所有类的根类是()。

  A.java.lang.Object

  B.java.lang.Class

  C.java.lang.String

  D.java.lang.System

A。

【解析】本题考查考生对Java类的掌握。

在Java中java.lang包封装着所有编程应用的基本类。

Object是所有类的根,它所包含的属性和方法被所有类集成;Class类是由编译器自动生成对象的一个特殊类,它伴随每个类;Strin9是字符串常量的类;System类是一个final类,所有的方法都用类变量来调用,即对System类不可能实例化,主要提供了标准输入/输出和系统环境信息的访问、设置.

  22.执行下面程序段后,2值为()。

  intx=1,y=2,z=3;

  z=z/(float)(x/y):

  A.编译无法通过B.6

  C.3D.2

A。

【解析】本题考查Java的运算和类型转换。

题目中变量x、y、z是int类型,由于括号的优先级要高,所以语句(float)(x/y)的结果为0.0,分母已经成为0,编译肯定无法通过。

另外,由于2是int型,不能将float型强制转化为int型。

  23.int类型的取值范围为()。

  A.-216~216-1

  B.-231~231-1

  C.-232~232-1

  D.-264~264-1

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.下列说法中,()是正确的。

  A.子类拥有的成员数目大于等于父类拥有的成员数目

  B.父类代表的对象范围比子类广

  C.子类要调用父类的方法,必须使用super关键字

  D.一个Java类可以有多个父类

B。

【解析】本题考查对子类与父类关系的理解。

对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。

重点掌握两点:

子类方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,子类方法不能产生比父类更多的异常。

子类拥有的成员数目小于等于父类拥有的成员数目,选项A说法错误;父类代表的对象范围比子类广,选项B说法正确;子类要调用父类的方法,可以使用super关键字,也可以将父类的方法进行重写,选项C说法错误。

在Java中一个类只能有一个父类,选项D说法错误。

  25.执行下列程序之后,变量n的值为()。

  publicclassExam{

  publicstaticvoidmain(String[]args){

  inty=2;

  intz=3:

  intn=4:

  n=n+-y*z/n;

  System.out.println(n);

  }

  }

  A.3B.-l

  C.-l2D.-3

A。

【解析】本题考查Java中表达式的运算。

程序段main()方法中的前3行是基本的赋值语句,第4行是算术运算语句,该语句执行的过程是:

首先是对Y取负值,得到-2,然后乘以2得到-6,再除以n得到-1,最后和n做加法得到3,从而根据赋值运算将3赋值给变量n。

  26.在Java中能实现多重继承效果的方式是()。

  A.内部类

  B.适配器

  C.接口

  D.同步

C。

【解析】本题考查Java中多重继承的概念。

首先要区分选项中各个概念。

内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。

适配器(Adapter)定义一个包装类,包装有不兼容接口的对象。

这个包装类指的就是适配器,它包装的对象就是适配者(Adaptee),适配器提供客户类需要的接口。

接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确。

同步主要用在多线程程序设计中。

  27.char类型的取值范围是()。

  A.2的-7次方~2的7次方减1

  B.O~2的16次方减1

  C.负2的15次方~2的15次方减1

  D.O~2的8次方减1

B。

【解析】本题考查Java中数据类型的取值范围。

应该掌握常用的数据类型的取值范围,char类型在内存中占16位,取值范围是0~65535也就是O~2的16次方减1,选项B正确。

  28.能够支持javadoc命令的注释语句是()。

  A./**…//

  B./*…*/

  C.//

  D./**…*/

D。

【解析】本题考查Java中的注释语句。

注释是程序设计的重要组成部分,应熟练掌握。

Java中有三类注释语句:

文档注释/**…*/,被javadoc处理,可以建立类的

  一个外部说明性文件,所以本题正确答案是选项D;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信息。

  29.十进制数16的十六进制表示格式是()。

  A.0x10

  B.0x16

  C.0xA

  D.016

A。

【解析】本题考查Java语言中的进制换算。

首先要清楚各种进制的表示方法。

整型常量有3种书写格式:

十进制整数,如156,-230,345;八进制整数,以0开头,如012表示十进制的l0;十六进制整数,以0x或OX开头,如0X123表示十进制数291。

十进制数16相当于十六进制的10,所以选项A正确。

  30.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是()。

  A.publicintMAXLENGTH=100

  B.finalintMAX—LENGTH=100

  C.publicconstintMAX_LENGTH=100

  D.publicfinalintMAX_LENGTH=100

D。

【解析】本题考查Java中变量的声明。

选项A虽然按照题目要求定义了一个变量,但没有满足保持为常数的要求,该变量可以被改变;选项B没有满足题目要求的public成员变量;选项C与C语言混淆,const是C语言用来定义常值变量的关键字;Java中定义常值变量使用的是final属性,说明该值赋值以后永不改变,所以选项D为正确答案。

31.Java对I/O访问所提供的同步处理机制是()。

32.  A.字节流

33.  B.过滤流

34.  C.字符流

35.  D.压缩文件流

B。

【解析】本题考查JavaI/O流中的过滤流。

过滤流是Java对I/O访问提供的同步处理机制,保证某时刻只有一个线程访问一个I/O流。

过滤流是FilterInputStream和FiherOutputStream。

因此,本题的正确答案是选项B。

  32.请阅读下面程序

  publicclassThreadTest{

  publicstaticvoidmain(Stringargs[])throwsEx-

  ception{

  inti=0;

  Hellot=newHello();

  ;

  while(true){

  System.Out.println("GoodMorning"+i++):

  if(i==2&&t.isAlive()){

  System.out.println("MainwaitingforHel-

  lo!

");

  t.join();//等待t运行结束

  }

  if(i==5)break;}

  }

  }

  classHelloextendsThread{

  

  intl;

  publicvoidrun(){

  while(true)(

  System.Out.println("Hell0"+i++);

  if(i==5)break;)))

  为使该程序正确执行,下画线处的语句应是()。

  A.t.sleep()

  B.t.yield()

  C.t.interrupt()

  D.t.start()

D。

【解析】程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。

  33.下列叙述中,错误的是()。

  A.Jbutton类和标签类可显示图标和文本

  B.Button类和标签类可显示图标和文本

  C.AWT构件能直接添加到顶层容器中

  D.Swing构件不能直接添加到顶层容器中

B。

【解析】Swing的按钮上还可以同时显示文字和图标,甚至只有图标都是可以的,这样就构成了图形按钮。

而AwT中的Button类不能显示图标,只能显示文本。

  34.下列叙述中,错误的是()。

  A.Applet的默认布局管理器是FlowLayout

  B.JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中

  C.JApplet的内容面板的默认布局管理器是Border-Layout

  D.JApplet的内容面板的默认布局管理器是FlowLay-out

D。

【解析】FlowLayout布局管理器是Panel类和Applet类默认的布局管理器。

向JApplet中增加构件,是把构件添加到Japplet的内容面板中,而不是直接添加到JApplet中。

JApplet的内容面板的默认布局管理器是BorderLayout,而Applet默认的布局管理器是FlowLayout。

  35.下列叙述中,错误的是()。

  A.Java中,方法的重载是指多个方法可以共享同一个名字

  B.Java中,用abstract装饰的类称为抽象类,它不能实例化

  C.Java中,接口是不包含成员变量和方法实现的抽象类

  D.Java中,构造方法可以有返回值

D。

【解析】构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。

Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。

构造方法的名字必须与类名相同,并且构造方法不返回任何数据。

  36.要表示表格的数据,需要继承类()。

  A.AbstraceTableModel

  B.TableModel

  C.JTable

  D.TableModelable

  A。

【解析】表格是Swing新增加的构件,主要功能是把数据以二维表格的形式显示出来。

使用表格,依据M-V-C的思想,最好生成一个MyTableModel类型的对象来表示数据,这个类是从AbstractTableModel类继承来的。

37.下面程序的正确输出是()。

  publicclassHello

  {

  publicstaticvoidmain(Stringargs[])

  {

  intcount,xPos=25;

  for(count=1;count<=10;count++)

  {

  if(count==5)

  Break;

  system.Out.println(count);

  xPos+=10:

  }

  }

  }

  A.1234

  B.134

  C.编译错误

  D.以上都不正确

A。

【解析】该程序经过编译、运行后,在屏幕上显示:

l234。

publicclassHello中Hello为类名,publicstaticvoidmain(Stringargs[])有关参数的解释如下:

public表示该方法可以被任意代码所调用,包括Java解释器;static告诉编译器,main()方法是一个类方法,可以通过类名直接调用,调用时不需要该类的实例对象;void表示main()方法没有返回值,这是非常重要的,因为Java类型检查非常严格,包括检查这些方法返回值的类型是否与声明的一致;Stringargs[]声明一个字符串类型的数组,它是命令行传递给main()方法的参数,参数在命令行中出现在类名称后面。

包含main()方法的类(Hello为包含main()方法的类名)名称必须与其文件名相同,也就是说,其文件名必须为Hello.java。

经过编译,在当前文件夹下将出现一个Hello.class文件,这就是编译后的字节码文件。

在程序段最后有两个大括号,分别说明结束main()方法和Hello类。

在本程序中由于有count==5这个条件判断,因此当count==5时,程序结束,输出为1234。

  38.在A

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2