国家二级(JAVA)笔试-试卷8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级(JAVA)笔试-试卷8
(总分:104.00,做题时间:90分钟)
一、选择题(总题数:36,分数:72.00)
1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
(分数:
2.00)
__________________________________________________________________________________________ 解析:
2.在深度为5的满二叉树中,叶子结点的个数为
(分数:2.00)
A.32
B.31 √
C.16
D.15
解析:解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个叶子结点。
这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
3.若某二叉树的前序遍历访问顺序是abdscefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
(分数:2.00)
A.bdgcefha
B.gdbecfha
C.bdgaechf
D.gdbehfca √
解析:解析:前序遍历的第一个结点a为树的根结点;中序遍历中a的左边的结点为a的左子树,a右边的结点为a的右子树;再分别对a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。
4.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。
而实现递归调用中的存储分配通常用
(分数:2.00)
A.栈√
B.堆
C.数组
D.链表
解析:解析:一些较流行的程序语言允许过程的递归调用。
递归调用就是过程调用本身。
递归实现的是:当过程每一次执行后,都能返回到最近一次调用它的过程中。
这样各调用点之间形成一种后进先出关系,而栈结构正适合来存储这些调用点。
5.软件工程的理论和技术性研究的内容主要包括软件开发技术和
(分数:2.00)
A.消除软件危机
B.软件工程管理√
C.程序设计自动化
D.实现软件可重用
解析:解析:软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
6.开发软件时对提高开发人员工作效率至关重要的是
(分数:2.00)
A.操作系统的资源管理功能
B.先进的软件开发工具和环境√
C.程序人员的数量
D.计算机的并行处理能力
解析:解析:软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。
工具和环境的使用又进一步提高了软件的开发效率、维护效率和软件质量。
7.在软件测试设计中,软件测试的主要目的是
(分数:2.00)
A.实验性运行软件
B.证明软件正确
C.找出软件中全部错误
D.发现软件错误而执行程序√
解析:解析:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
软件测试是为了发现错误而执行程序的过程。
测试要以查找错误为中心,而不是为了演示软件的正确功能。
8.数据处理的最小单位是
(分数:2.00)
A.数据
B.数据元素
C.数据项√
D.数据结构
解析:解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。
故正确答案为选项C。
9.索引属于
(分数:2.00)
A.模式
B.内模式√
C.外模式
D.概念模式
解析:解析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。
10.下述关于数据库系统的叙述中正确的是
(分数:2.00)
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余√
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
解析:解析:数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
11.数据库系统的核心是
(分数:2.00)
A.数据库
B.数据库管理系统√
C.模拟模型
D.软件工程
解析:解析:数据库管理系统(Database Management System,简称DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。
12.下列哪个选项不是Java的保留字?
(分数:2.00)
A.TRUE √
B.boolean
C.int
D.public
解析:解析:Java是区分大小写的,true是Java的保留字,而TRUE不是。
boolean, int和public都是Java的保留字。
13.下列标识符中哪项是不合法的?
(分数:2.00)
A.BigMeaninglessName
B.$int
C.1 st √
D.1
解析:解析:在Java中标识符是赋予变量、对象、类和方法的名称。
标识符可以由字母、数字、下划线“__”和美元符“$”组成,但数字不能开头,不能用关键字做标识符。
14.在下列源代码文件Test.java中,哪个选项是正确的类定义?
(分数:2.00)
A.public class test{ public int x=0; public test(int x ) { this.x=x; } }
B.public class Test { public int x=0; public Test(int x ) { this.x=x; } } √
C.public class Test extends T1 T2 { public int x=0; public Test(int x){ this.x=x; } }
D.protected class Test extends T2 { public int x=0; public Test(int x) { this.x=x; } } 解析:解析:类声明格式为[修饰符]class类名[extends父类名][implements类实现的接口列表],选项A)中源文件名与程序名不相同,Java不支持多重继承所以选项C)错误,选项D)中类的访问权限不对应为public。
15.为了区分类中重载的同名的不同的方法,要求
(分数:2.00)
A.采用不同的形式参数列表√
B.返回值的数据类型不同
C.调用时用类名或对象名做前缀
D.参数名不同
解析:解析:方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同(采用不同的形式参数列表)。
程序可按参数列表决定调用对应的方法。
16.类Test定义如下,将下列哪个方法插入③行处是不合法的? ①public class Test { ②public float Method(float a,float b) { } ③④}
(分数:2.00)
A.public float Method(float a,float b,float c) { }
B.public float Method(float c,float d){ } √
C.public int Method(int a,int b){ }
D.private float Method(int a,int b,int c){ }
解析:解析:此题主要考查方法重载,方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同(采用不同的形式参数列表)。
选项B)不符合方法重载的要求。
17.给出下列的代码,则下列选项中哪个是类A合理的内部类? class A { protected int i;A(int i) { this.i=i;} } (分数:2.00)
A.class B { } √
B.class B extends A { }
C.class B extends A { B( ){System.out.println("="+i);} }
D.class A { }
解析:解析:在定义内部类时,内外部类不能同名,不存在继承关系,可以把内部类当成类的成员。
18.给出下列的程序代码片段,下列的哪个选项是不正确的? ① public void create( ) { ② Vector my;③my=new Vector ( );④}
(分数:2.00)
A.第二行的声明不会为变量my分配内存空间
B.第二行语句创建一个Vector类对象√
C.第三行语句创建一个Vector类对象
D.第三行语句为一个Vector类对象分配内存空间
解析:解析:要为一个新对象分配空间必须执行new Xxx( )调用,new调用执行以下的操作:①为新对象分配空间并将其成员初始化为0或者null。
②执行类体中的初始化(例如在类中有一个成员声明int a=10;在第一步后a=0,执行到第二步后a=10)。
③执行构造方法。
④变量被分配为一个到内存堆中的新对象的引用。
19.下列程序段的输出结果是 String MyStr = "Hello,"; MyStr = MyStr + "World!";
System.out.println(MyStr);
(分数:2.00)
A.Hello,World! √
B.Hello,
C.World!
D.该程序段有语法错误
解析:解析:String类型可以直接使用“+”进行连接运算。
20.公有成员变量MAX是一个int型值,变量的值保持常数值100,则下列使用哪个选项的声明定义这个变量是正确的?
(分数:2.00)
A.public int MAX = 100;
B.final int MAX = 100;
C.final public int MAX = 100;
D.public final int(MAX = 100;√
解析:解析:Java中公有变量使用public定义,定义常量变量使用final,另外注意的是修饰符的顺序,一个最完整的修饰是public static final int varial_a=100;这个顺序不能变,而选项C)错在修饰符的顺序上。
21.给出下列的不完整的类代码,则下列的哪个语句可以加到横线处? class Person { String name,department; int age; public Person( String n ){ name = n;} public Person( String n,int a ) { name = n;age = a;} public Person( String n,String d,int a ) { _____________ department = d; } }
(分数:2.00)
A.Person(n,a);
B.this(Person(n,a) );
C.this(n,a);√
D.this(name,age);
解析:解析:在同一个类的不同构造方法中调用该类的其他构造方法需要使用this(…)的形式,而且必须是在构造方法的第一行调用,这个和普通方法重载调用的方式不同,普通方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此选项 A)是不行的,选项B)的语法就是错误的,选项D)的错误在于在父类型的构造方法被调用前不能引用类的成员。
构造方法是一个类对象实例化的开始,因此在构造方法中不能将成员作为参数引用。
22.下列哪个语句是声明一个含有10个String对象的数组?
(分数:2.00)
A.char str[ ];
B.char str[ ][ ];
C.String str[ ] = new String[10];√
D.String str[10];
解析:解析:正确的字符串数组声明是String str[ ]=new String[ ];,注意选项 D)的形式是不对的,这和C++语言是不同的。
23.给出下列的程序代码片段,m为哪个值时将会输出default? switch(m) { case 0:
System.out.println("case0"); case 1:System.out.println("case 1");break; case 2:System.out.println("case 2");break; default:System.out.println("default"); }
(分数:2.00)
A.0
B.1
C.2
D.3 √
解析:解析:此题考查switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte,short和char型的值,case中需要注意的是一个case后面一般要接一个break语句才能结束判断,否则将继续执行其他case而不进行任何判断,如果没有任何值符合CaSe列出的判断,则执行default的语句,default是可选的,可以没有,如果没有default而又没有任何值匹配case中列出的值,则switch不执行任何语句。
24.给出下列的不完整的方法,则下列的哪个声明可以被加入①行完成此方法的声明? ①②{ success = connect( );③ if (success = = - 1 ) { ④ throw new TimedoutException( ) ⑤} ⑥}
(分数:2.00)
A.public void method( )
B.public void method( ) throws Exception √
C.public void method( ) throw TimedoutException
D.public throw TimedOutException void method( )
解析:解析:如果程序在运行的过程中抛出异常,而这个异常又不是Runtime-Exception或者Error,那么程序必须捕获这个异常进行处理或者声明抛出(throWs)该异常,捕获异常可以使用try{…}catch( ){...}语句,而抛出异常在方法声明前是声明,在方法的声明后面加上throws XxxxException,抛弃多个异常时,在各异常间使用逗号“,”分隔,题目中的程序在运行时抛出的不是一个RuntimeExeeption,所有必须捕获或者抛弃,而程序又没有捕获,所有应该在方法声明中声明抛弃。
由于Exception是所有异常的父类,所有当然也可以代表RuntimeExccption了。
25.当Frame的大小被改变时,Frame中的按钮的位置可能被改变,则使用下列哪一个布局管理器
(分数:2.00)
A.BorderLayout
B.FlowLayout √
C.CardLayout
D.GridLayout
解析:解析:选项A)该布局管理器将容器划分为五个部分,容器大小的改变不会影响其中的组件的位置,而是影响它们的大小。
选项B)该布局管理器的容器大小发生变化时,构件的大小不变,但是相对位置会发生变化。
选项C)该布局管理器显示放入该容器的当前页中的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。
选项D)该布局管理器将容器划分为固定的网格,组件加入后占据一个单元,各组件的相对位置不会因为容器的大小变化而变化,改变的只是组件的大小。
26.给出下列关于一个使用适当的字符间距的字体的TextField的表达式,则哪个选项的叙述是对的? TextField t = new TextField("they are good",40);
(分数:2.00)
A.被显示的字符串可以使用多种字体
B.一行中最大的字符数是40
C.显示的宽度正好是40个字符宽
D.用户可以编辑字符√
解析:解析:对于TextField的该种形式的构造方法来说,前一个参数是文本域中初始的字符串的显示值,第二个参数用于表示可见字符的个数。
TextField中允许的字符数量投有限制。
当文本溢出时就会发生滚
动。
文本域的缺省编辑方式是可编辑的,一个文本域只能使用一种字体,这个字体可以在运行的过程中动态的改变,但是文本域中的所有字符串都将使用这个字体显示。
27.给出下列有关List的表达式,则哪个选项的叙述是对的?List 1 = new List(6,true);
(分数:2.00)
A.在没有其他的约束的条件下该列表将有6行可见√
B.一行的最大字符数是6
C.列表不允许用户多选
D.列表只能有一项被选中
解析:解析:List组件的该构造方法的第一个参数的意思是它的初始显式行数,如果该值为0则显示4行,第二个参数是指定该组件是否可以多选,如果值为true则是可以多选,false是不可多选,如果不指定则缺省是不能多选。
28.下列选项中哪个方法可以判断线程是否处于活动状态?
(分数:2.00)
A.blooean isAlive( ) √
B.Thread currentThread( )
C.String getName( )
D.static boolean interrupted( )
解析:解析:blooean isAhve( )可以判断线程是否处于活动状态,即调用了start( )但run( )还未返回,Thread currentThread( )可以返回当前线程对象的引用,String getName( )可以取得设置的线程的名字,static boolean interrupted( )可以判断当前线程是否被中断。
29.下列哪个类或接口定义了线程同步与交互的方法?
(分数:2.00)
A.Thread
B.Runnable
C.Object √
D.ThreadGroup
解析:解析:线程的对象是由java。
lang包的Thread类导出的,它定义并实现了Java中的线程;Runnable 接口的目的是使任何类都可以为线程提供线程体(即run( )方法);Object类定义了线程同步与交互的方法如:wait( ),notify( )及notfyAll( );Thread-Group类实现了线程组,并提供了对线程组或组中线程进行操作的方法。
30.在OutputStream类的常用方法中哪个是清空输出流的方法?
(分数:2.00)
A.flush( ) √
B.close( )
C.write(int b)
D.write(byte b[ ] )
解析:解析:flush( )是清空输出流的方法,并将缓冲区中的数据强制送出;close( )关闭流;write(int
b)将一个整数输出到流中;write(byte b[ ])将字节数组中的数据输出到流中。
31.下列关于Applet的方法中,哪个是返回HTML中设定的值?
(分数:2.00)
A.getCodeBase( )
B.getParameter(String) √
C.getApplnfo( )
D.showStatus(String)
解析:解析:getCoddeBase( )方法返回.class所在的网址URL;getParameter (String)方法返回HTML 中设定的值;getApplnfo( )方法返回作者、版本、版权信息;show-Status(String)方法在浏览器的状态栏输出信息。
32.下列哪个选项不能提高程序的性能?
(分数:2.00)
A.不要在循环中创建和释放对象
B.在处理字符串时尽量使用StringBuffer类
C.避免太多的使用synchronized关键字
D.尽量在循环中创建对象√
解析:解析:提高程序的性能的规则是不要在循环中创建和释放对象;在处理字符串时尽量使用StringBuffer类;避免太多的使用synchronized关键字。
33.设有下列两个类的定义,则类Person和类Man的关系是class Person { long id;/ / 身份证号String name;/ / 姓名} class Man extends Person { int age;/ / 年龄int getScore( ) { return score;} } (分数:2.00)
A.包含关系
B.继承关系√
C.关联关系
D.无关系,上述类定义有语法错误
解析:解析:主要考查Java中类的继承,通过在类声明中加入extends子句来创建子类,其格式为:class SubClass extends SuperClass{ },其中SubClass为子类名,SuperClass为父类名。
34.若a的值为3时,下列程序段被执行后,c的值是 int c = 1; if (a>0) if (a>3) c = 2; else c = 3; else c = 4;
(分数:2.00)
A.1
B.2
C.3 √
D.4
解析:解析:此题主要考查if-else的使用,当if语句中的条件为真时执行后的语句,并跳过else执行下面的语句;当条件为假时执行else后的语句。
35.关于被私有访问控制符private修饰的成员变量,下列说法正确的是
(分数:2.00)
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改√
D.只能被同一个包中的类访问
解析:解析:java有四种访问类型,分别为public,protected,default和private,其中public变量可以被所有的外部类访问,而pretected变量可以被同一个包及该类的子类访问,default变量即没有任何修饰符的变量可以被同一个包中的类访问,而private变量只能在被该类内部被访问。
题目中的外部类应该理解为除该类自身的其他类。
36.下列哪个选项是main( )方法的返回值类型?
(分数:2.00)
A.int
B.void √
C.boolean
D.Static
解析:解析:主方法的格式为public static viod mian(String args[ ]){ },返回值为void。
二、填空题(总题数:16,分数:32.00)
37.填空题(每空)请将每一个空的正确答案写在答题卡上。
注意:以命令关键字填空的必须拼写完整。
(分数:2.00)
__________________________________________________________________________________________ 解析:
38.数据结构分为逻辑结构与存储结构,线性链表属于 1。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---存储结构)
解析:解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。
在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。
39.在面向对象方法中,类之间共享属性和操作的机制称为 1。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---继承)
解析:解析:类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。
类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法。
40.耦合和内聚是评价模块独立性的两个主要标准,其中 1反映了模块内各成分之间的联系。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---内聚)
解析:解析:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。
41.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体项目”的联系属于 1的联系。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---一对多(或1:N))
解析:解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1:1)的联系、一对多(1:N)或多对一(N:1)的联系和多对多(N:N)的联系。
42.数据库设计分为以下6个设计阶段:需求分析阶段、1、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---数据库概念设计阶段)解析:解析:数据库设计分为以下6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。
43.字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用 1类的对象表示。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---StringBuffer)
解析:解析:在Java中String类只支持只读字符串,适用于字符串常量;StringBuffer类支持可修改字符串,适用于字符串变量。
44.在Java程序中,通过类的定义只能实现单重继承,但通过 1的定义可以实现多重继承关系。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---接口)
解析:解析:Java不支持多重继承,但类可以实现多个接口。
45.下列程序段的输出结果为1。
? ? int a=2;? ? switch(a) {? ? ? case 2:? ? ? ? System.out.print("Value is 2.");? ? ? case 3 :? ? System.out.println("Value is 3.");? ? break;? ? default:? ? ? ? System.out.prinfln("end");? ? break;? }
(分数:2.00)
填空项1:__________________ (正确答案:正确答案:---|||________|||---Value is 2.Value is 3.)解析:解析:switch语句的表达式a将依次与case后的值进行匹配,如果遇到匹配的值,则执行该cage 子句后的语句序列。
当表达式的值与任一case子句的值都不匹配时,执行default后的语句。
break语句用来在执行完一个case子句后,使程序跳出switch语句。
此题先执行case 2后的语句再执行case 3后的语句,遇到case 3中的break语句后退出
46.在AWT包中,创建一个具有10行,45列的多行文本区域对象ta的语句为 1。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---TextArea ta=new TextArea(10,45);)
解析:解析:TextArea文本输入区可以显示多行多列的文本,TextArea(int,int)构造方法指定行数和列数。
47.设x = 2,则表达式( x + + ) * 3 的值是 1。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---6)
解析:解析:++运算符在变量的右边时,表示为先运算,然后变量再加1。
++运算符在变量的左边时,表示为先将变量加1,然后在运算。
此题先将x与3相乘,然后x再加1,所以值为6。
48.阻塞状态根据产生的原因可分为 1、等待阻塞和其他阻塞。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---对象锁阻塞)
解析:解析:阻塞状态根据产生的原因可分为对象锁阻塞、等待阻塞、其他阻塞。
49.在线程中普通优先级的线程,其优先级默认值为 1。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---5)
解析:解析:NORM_PRIORITY代表普通优先级默认值为5。
MIN_PRIORITY代表最小优先级,通常为1。
MAX_PRIORITY代表最高优先级,通常为10。
50.顺序执行下列两个语句的输出结果是 1。
String s = "全国计算机等级考试";
System.out.println(s.length( ) );
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---9)
解析:解析:提取字符串的长度可以用length( )方法,其返回字符串的字符个数。
51.过滤字节输出流都是 1抽象类的子类。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---FilterOutputStream)解析:解析:主要熟悉java.io包中的几个输入/输出流。
52.对话框(Dialog)是 1类的子类。
(分数:2.00)
填空项1:__________________ (正确答案:正确答案: ---|||________|||---Window)
解析:解析:主要熟悉AWT基本构件的特点。
对话框和一般窗口的区别在于它依赖于其他窗口。