对自己狠一点,逼自己努力刷二级java试题,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我始终相信一句话:只有自己足够强大,才不会被别人践踏。
计算机二级java试题
【1】
1.下面程序段的输出结果为()。
packagetest;
publicclassClassA
{
intx=20:
staticinty=6;
publicstaticvoidmain(Stringargs[])
{
ClassBb=newClassB();
b.go(10);
System.out.println("x="+b.x);
}
}
classClassB
{
intX;
voidgo(inty)
{
ClassAa=newClassA();
x=a.Y;
}
}
A.x=10
B.x=20
C.x=6
D.编译不通过
2.下面程序段的输出结果为()。
publicclassTest
{
inta,b;
Test()
{
a=100;
b=200:
}
Test(intX,inty)
{
a=x:
b=y;
}
publicstaticvoidmain(Stringargs[])
{
TestObjl=newTest(12,45);
System.OUt.println("a="+Objl.a+"b="+Objl.
b);
TestObj2=newTest();
System.out.println("fl="+Obj2.a+"b="+Obj2.
b);
}
}
A.a=100b=200
a=12b=45
B.a=12b=45
a=100b=200
C.a=12b=200
a=100b=45
D.a=100b=45
a=12b=200
3.在匹配器(Matcher)类中,用于寻找下一个模式匹配串的方法是()。
A.staticbooleanmatches()
B.booleanmatcher.find()
C.intmatcher.start()
D.intmatcher.end()
4.下列说法正确的是()。
A.共享数据的所有访问都必须作为临界区
B.用synchronized保护的共享数据可以是共有的
C.Java中对象加锁不具有可重人性
D.对象锁不能返回
5.在JavaApplet程序中,如果对发生的事件做出响应和处理的时候,应该使用下列()语句。
A.importjava.awt.event.*;
B.importjava.io.*;
C.importjava.awt.*;
D.importjava.applet.*;
6.在一个容量为32的循环队列中,若头指针front一3,尾指针rear=2,则该循环队列中共有元素个数为()。
A.29
B.30
C.31
D.32
7.Java语言中如果要使用某个包中的类时,需要使用()导人。
A.inport
B.outport
C.import
D.input
8.执行下面程序段的输出结果为()。
publicclassQ
{
publicstaticvoidmain(Stringargv[])
{
intanar[]一newint[5];
System.out.println(anar[0]);
}
}
A.0
B.1
C.2
D.5
9.使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是()。
A.time()
B.yield()
C.load()
D.min()
10.以下程序计算1+1/3+1/5+…+1/(2N+1),直至1/(2N+1)小于0.00001,横线处应补充的程序是()。
publicclassSun{
publicstaticvoidmain(Stringargs[]){
intn=1:
doubleterm,sum=1.0:
do{
n=__;
term=1.0/n;
sum=sum+term;
}
while(term>=0.00001);
System.out.println(n);
System.out.println(sum);
11.使用白盒测试法时,确定测试数据应该根据()和指定的覆盖标准。
A.程序的内部逻辑
B.程序的复杂结构
C.使用说明书
D.程序的功能
12.关系数据库管理系统能实现的专门关系运算包括()。
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
13.将E-R图转换到关系模式时,实体与实体间的联系可以表示成()。
A.属性
B.关系
C.键
D.域
14.下列有关数组的叙述中,错误的是()。
A.在同一个环境下,数组与内存变量可以同名,两者互不影响
B.可以用一维数组的形式访问二维数组
C.在可以使用简单内存变量的地方都可以使用数组元素
D.一个数组中各元素的数据类型可以相同,也可以不同
1.C。【解析】本题考查在Java中静态变量(类变量)的用法。在题目程序段中生成了一个staticinty=6类变量,在ClassA中调用的b.go(10),只不过是在ClassB中的一个局部变量,通过调用ClassB中的90方法可以生成一个ClassA对象,并给这个新生成的对象赋以ClassA中的类变量Y的值。从main()方法作为入口执行程序,首先生成一个ClassB的对象,然后b.go(10)会调用ClassA,会给X和Y赋值,X=a.Y后,X值为6,再返回去执行System.out.println("x="+b.x)语句,输出为x=6,可见,正确答案为选项C。
2.B。【解析】本题考查构造方法及构造方法重载。Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变量进行赋值。TestObjl=newTest(12,45)语句调用的是Test(intx,inty),而TestObj2=newTest()调用的是Test(),注意根据参数个数来区分。
3.A。【解析】本题考查考生对Java中的匹配器(Mateher)类的理解。Matcher类用于将一个输入字符串input和模式串pattern相比较。Booleanmateher.find()方法用于寻找下一个模式匹配串;intmatcher.start()方法用于返回匹配串的一个起始索引整数值;intmatcher.end()方法用于返回匹配串的一个终止索引整数值。而用于输入字符串与模式串比较的方法是staticbooleanmatches(),选项A正确。
4.A。【解析】本题考查对象加锁的相关概念。对于对象加锁的使用有些注意事项。对象的锁在某些情况下可以由持有线程返回,比如当synchronized语句块执行完成后;当在synchronized语句块中出现异常;当持有锁的线程调用该对象的wait()方法,由此可见选项D说法错误。共享数据的所有访问都必须作为临界区,使用synchronized进行加锁控制,选项A说法正确。用synchronized保护的共享数据必须是私有的,选项B说法错误。Java中对象加锁具有可重入性,选项C错误。
5.C。【解析】本题考查对Java常用的各种包所包含的一些类的基本功能的理解。java.awt包是抽象窗口工具包,里面包括各种容器、组件、窗口布局管理器以及一些常用的类如Color、Font等,选项A满足题意。而java.applet包里面包括了小程序执行时必须要重载的一个类Applet,也就只有这一个类,选项D错误。java.io包主要是提供一些输入/输出类的,选项B不满足题意。java.awt.event包就包含了一些能够对事件做出响应和处理的一些标准类,选项A不满足题意。
6.C。【解析】设队列容量为m,rear>front,则队列中元素个数为rear-front:rear
7.C。【解析】本题考查包的导入和使用。首先用package语句说明一个包,该包的层次结构必须与文件目录的层次相同,否则,在编译时可能出现找不到包的问题。Java语言中java.lang包是编译器自动导入,其他包中的类必须用import导入。
8.A。【解析】本题考查Java中数组的定义和初始化。在该方法里定义并动态初始化了一个整型数组anar,由于没有赋初值,系统默认的初始值是数组中的每个元素都为零。所以输出数组中的第一个元素anar[0]时,自然也是等于零。
9.B。【解析】本题考查线程阻塞的概念。yield()方法使得线程放弃当前分得的CPU时间,但是不使线程阻塞,印线程仍处于可执行状态,随时可能再次分得CPU时间。调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。
10.D。【解析】本题考查do-while循环的用法。题目中没有给出累加次数,故不能使用for循环,在do循环中,由累加项term的值作为退出循环的条件。根据题目要求,应该填写2*n+1。本题的关键是while(term>=0.00001)语句,题目要求计算直至1/(2N+1)小于0.00001,所以terml/(2N+1),因此n=2*n+1。
11.A。【解析】白盒测试是把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信患来设计或选择测试用例,对程序所有的逻辑路径进行测试。
12.B。【解析】关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。
13.B。【解析】将E-R图转换成指定DBMS中的关系模式是数据库逻辑设计的主要工作。从E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。
14.A。【解析】整个数组的数据类型为A(Array),而各个数组元素可以分别存放不同类型的数据。在使用数组和数组元素时,应注意如下问题。在任何能使用简单内存变量的地方都可以使用数组元素。在同一个环境下,数组名不能与简单变量名重复。可以用一维数组的形式访问二维数组。
【2】
1.在Java中,负责对字节代码解释执行的是()。
A.垃圾回收器
B.虚拟机
C.编译器
D.多线程机制
2.下列叙述中,正确的是()。
A.Java语言的标识符是区分大小写的
B.源文件名与public类名可以不相同
C.源文件的扩展名为.jar
D.源文件中public类的数目不限
3.下列属于合法的Java标识符的是()。
A._cat
B.5books
C.+static
D.-3.14159
4.在Java中,表示换行符的转义字符是()。
A.\n
B.\f
C.’n’
D.\ddd
5.在Java中,由Java编译器自动导入而无需在程序中用import导人的包是()。
A.java.applet
B.java.awt
C.java.util
D.java.lang
6.“++”运算符的操作数个数是()。
A.1个
B.2个
C.3个
D.4个
7.在switch(expression)语句中,expression的数据类型不能是()。
A.double
B.char
C.byte
D.short
8.下列叙述中,错误的是()。
A.父类不能替代子类
B.子类能够替代父类
C.子类继承父类
D.父类包含子类
9.已知:int[]a=newint[100];在下列给出的数组元素中,非法的是()。
A.a[0]
B.a[1]
C.a[99]
D.a[100]
10.在文件类提供的方法中,用于创建目录的方法是()。
A.mkdir()
B.mkdirs()
C.list()
D.listRoots()
1.B。【解析】本题考查Java语言的虚拟机。Java语言的执行模式是半编译半解释型。Java编写好的程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,可看做虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使Java程序独立于平台。Java中的虚拟机是非常重要的概念,是Java语言的基础,掌握后有助于理解Java语言的实现。
2.A。【解析】本题考查考生对Java语言概念的理解。这些属于考试重点内容。Java语言和C语言不同,它是区分大小写的,选项A正确。Java程序的源文件扩展名为.class,.jar文件是由归档工具jar生成的。源文件中的public类的数目只能有0个或l个,用来指定应用程序类名,也是源文件名。
3.A。【解析】本题考查Java标识符的命名规则,是考试的重点内容。Java中标识符的命名规则是标识符以字母、下画线或美元符作为首字符的字符串序列,;标识符是区分大小写的;标识符的字符数没有限制。留此可见,Java中标识符不能以数字开头,所以选项B错误,不能以“+”开头,选项C错误,不能以“-”开头,选项D错误,只有选项是正确答案。
4.A。【解析】本题考查Java转义符的概念。在Java中用反斜杠(\)开头,\n表示换行,所以选项A正确。\f表示走纸换页,kddd表示l~3位的八进制数据ddd所代表的字符。
5.D。【解析】本题考查Java中包的概念。Java中用import语句来导入包,但需注意的是,Java语言中的java.lang包是由编译器直接自动导入的,因此,编程时使用该包中的类,可省去import导入。使用其他包中的类,必须用import导入,选项D为正确答案。
6.A。【解析】本题考查Java运算符的概念。程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握。按照操作数的数目划分,运算符可以分为一元运算符:++,--,+,-;二元运算符:+,-,>;三元运算符:?:。所以本题正确答案是选项A。简单地说,就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。
7.A。【解析】本题考查考生对switch(expression)语句的理解。表达式expression只能返回int、byte、short和char,题目中的double是不正确的。同时还要注意,多分支结构中,case子句的值必须是常量,而且所有case子句中的值应是不同的,default子句是任选的。
8.D。【解析】本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序的复杂性。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类的访问权限高,因此父类不能替代子类,但子类能够代替父类,选项A和选项B说法正确;子类方法不能产生比父类更多的异常。选项D为正确答案。
9.D。【解析】本题考查Java中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。int[]a=newint[100]定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从。开始的,因此上面定义的数组实际上下标是0~99,所以选项D错误。
10.A。【解析】本题考查文件类提供的方法。mkdir()是为目录操作提供酌方法,用来创建目录;mkdirs()也是为目录操作提供的方法,创建包含父目录的目录;list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表;listRoots是为目录提供的方法,返回根目录结构。由此可见,只有选项A满足题目要求。
【3】
1.一个栈的初始状态为空。现将元素l、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDE
B.EDCBA54321
C.ABCDEl2345
D.54321EDCBA
2.下列叙述中正确的是()。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定的
3.在长度为z的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
4.下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
5.数据流图中带有箭头的线段表示的是()。
A.控制流
B.事件驱动
C.模块调用
D.数据流
6.在软件开发中,需求分析阶段可以使用的工具是()。
A.N-S图
B.DFD图
C.PAD图
D.程序流程图
7.在面向对象方法中,不属于“对象”基本特点的是()。
A.一致性B.分类性
C.多态性D.标识唯一性;
8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A.一对一
B.一对多
C.多对一
D.多对多
9.在数据管理技术发展的三个阶段中,数据共享最好,的是()。
A.人工管理阶段
B.文件系统阶段。
C.数据库系统阶段
D.3个阶段相同
10.类Panel默认的布局管理器是()。
A.GridLayout
B.BorderLayout
C.FlowLayout
D.CardLayout
1.B。【解析】栈是按照“先进后出”或“后进先出”的原则组织数据的,所以出栈顺序是EDCBA54321。
2.D。【解析】循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。
3.C。【解析】对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。
4.A。【解析】顺序存储方式主要用于线性数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。链式存储结构的存储空间不一定是连续的。
5.D。【解析】数据流图是从数据传递和加工的角度,来描述数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,数据沿箭头方向传递,一般在旁边标注数据流名。
6.B。【解析】在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。
7.A。【解析】对象具有如下特征:标识唯一性、分类性、多态性、封装性和模块独立性。
8.B。【解析】两个实体集间的联系可以有一对一的联系、一对多或多对一联系、多对多联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
9.C。【解析】数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗余度大;数据库系统管理阶段共享性大,冗余度小。
10.C。【解析】本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置,所以选项C为正确答案。BorderLayout是Window、Frame和Dialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件。GridLayout使容器中各个构件呈网状布局,平均占据容器的空间。GardLayout把容器分成许多层,每层只能放置一个构件。
【4】
1.下列选项成员变量声明正确的是()。
A.publicprotectedfinalinti;
B.abstractclassFl{…}
C.privatedoubleheight;
D.doubleweight()
2.下面程序段的输出结果是()。
classTest{
publics,taticvoidmain(Stringargs[]){
MyThreadt=newMyThread();
t.displayOutput("thasbeencreateD");
t.start();
}
}
ClassMyThreadextendsThread{
publicvoiddisplayOutput(Strings){
System.out.println(s);
}
publicvoidrun(){
displayOutput("tisrunning.");
}
}
A.thasbeencreated.
B.thasbeencreated.tisrunning.
C.tisrunning.
D.编译出错
3.执行下列程序时,会产生什么异常()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intd=101;
intb=220:
longa=321;
System.OUt.println((a-b)/(a-b-d));
}
}
A.ArraylndexOutOfBoundsException
B.NumberFormatException
C.ArithmeticException
D.EOFExeeption
4.下面程序段的输出结果为()。
publicclassTest
{
publicstaticvoidmain(Stringargs[])
{
booleana,b,C;
a=(3<5):
b=(a==true);
System.out.println("a="+a+"b="+b);
c=(b==false);
System.out.println("b="+b+"c="+c);
}
}
A.a=trueb=falseB.fl=trueb=false
b=truec=trueb=truec=false
C.a=trueb=trueD.a=falseb=false
b=truec=falseb=truec=false
5.下面程序段的输出结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta,b;
for(a=1,b=1;a<=100;a++){
if(b>=10)break;
if(b%2==1){
b+=2:
continue;
}
}
System.OUt.println(a);
}
}
A.5B.6
C.7D.101
6.栈中允许进行插入和删除的一端称为()。
A.栈顶B.栈底
C.栈端D.栈尾
7.下面程序段的输出结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti=1:
switch(i){
case0:
System.OUt.println("0");
break;
casel:
System.out.println("1");
case2:
System.OUt.println("2");
break;
default:
System.out.println("default");
}
}
}
A.01
B.12
C.10
D.21
8.Frame默认的布局管理器是()。
A.FlowLayout
B.BorderLayout
C.GridLayout
D.UpLayout
9.在Java语言中,ObjectOutputStream是指()。
A.字节流
B.字符流
C.对象输出流
D.数据流
10.请阅读下列程序代码,然后将程序的执行结果补充完整。横线处应填写的内容是()。
程序代码:
publicclassthrowsExeeption{
staticvoidProc(intsel)
throwsArithmeticException,ArrayIndexOutOf
BoundsException{
System.out.println("InSituation"+sel);
if(sel==0){
System.OUt.println("noExceptioncaught");
return;
}
elseif(sel==l){
intiArray[]=newint[4];
iArray[1]=3;
}
}
publicstaticvoidmain(Stringargs[]){
try{
Proe(O);
Proc(1);
}
catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("Catch"+e);
}
finally{
System.out.println("inProcfinally"):
}
}
}
执行结果:
InSituation0
noExceptioncaught
inProcfinally
A.InSituationl
B.InSituation
C.withCatch
D.intiArrayl
1.C。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是public、protected,private,static,final,transient,volatile等。选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以";"结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。
2.B。【解析】start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是run()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用displayOutput(Strings)方法输出thasbeencreated。t.start()方法调用run()方法,输出tisrunning,所以正确答案为选项B。
3.C。【解析】本题考查异常的概念。首先应该掌握题目选项中给出的都是什么类型的异常。选项A是当访问数组中非法元素时引发,出现数组负下标异常。选项B是格式化数字异常。选项C是算术异常,如程序触发分母为0,或用0取模时出现。选项D是文件已结束异常。当Java执行这个算术表达式的时候,由于求模运算的分母是a-b-d=0,就会构造一个ArithmetieException的异常对象来使程序停下来并处理这个错误的情况,在运行时抛出这个异常。默认的处理器打印出Exception的相关信息和发生异常的地点。
4.C。【解析】本题考查关系运算符<和==。题目中a=(3<5);比较3和5的大小,因为3<5,返回true给a;b=(a==true);判断a是否为真,因为a确实为真,返回true给b;c=(b==false);判断b是否为假,因为b不为假,返回false给e。最后结果a=true,b=true,b=true,e=false,选项C正确。
5.B。【解析】本题考查for循环和if语句的嵌套以及break语句和continue语句的用法。第1个if语句的意义为:当b>=10时退出for循环,第2个if语句的意义为:如果b%2=1,则b的值加2并退出本次循环。本程.序当b的值分别为l、3、5、7和9的时候执行5次循环,此时a=5,b=9,当执行第6次循环时,a的值为6,但b=11,所以退出循环,程序结束。
6.A。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。
7.B。【解析】本题考查switch-case-break的用法。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以该题i=1时执行easel分支语句,而casel分支语句后没有break语句,程序继续向下执行case2分支语句,case2语句后有break语句,故程序不执行default分支语句。
8.B。【解析】本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout是Window、Frame和Dialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件;OridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout把容器分成许多层,每层只能放置一个构件。
9.C。【解析】本题考查Java输入\输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OutputStream抽象类,又实现了0bjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。
10.A。【解析】本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非常简单。程序的public类是thtowsExeeption,类中定义了Proe(intsel)方法。程序入口是main()方法,使用try-catch-finally来捕获ArithmeticExeeption和ArrayIndexOutOfBoundsExeeption异常,这两个异常是关于算术异常或数组索引越界的异常。执行Proe(0)时,输出InSituation0和noExceptioncaught两条信息;执行Proc(1)时,输出InSituationl和inProcfinally两条信息。整个程序并未发生异常。
【5】
1.下面排序算法中,平均排序速度最快的是()。
A.冒泡排序法
B.选择排序法
C.交换排序法
D.堆排序法
2.软件需求分析一般应确定的是用户对软件的()。
A.功能需求
B.非功能需求
C.性能需求
D.功能需求和非功能需求
3.下列说法中,不属于数据模型所描述的内容是()。
A.数据结构
B.数据操作
C.数据查询
D.数据约束
4.下列描述中,不是线性表顺序存储结构特征的是()
A.不便于插入和删除
B.需要连续的存储空间
C.可随机访问
D.需另外开辟空间来保存元素之间的关系
5.有下列二叉树,对此二叉树前序遍历的结囊为()。
A.ACBEDGFH
B.ABDGCEHF
C.HGFEDCBA
D.ABCDEFGH
6.使用白盒测试法时,确定测试数据应该根据()和指定的覆盖标准。
A.程序的内部逻辑
B.程序的复杂结构
C.使用说明书
D.程序的功能
7.关系数据库管理系统能实现的专门关系运算包括()。
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
8.将E-R图转换到关系模式时,实体与实体间的联系可以表示成()。
A.属性
B.关系
C.键
D.域
9.下列有关数组的叙述中,错误的是()。
A.在同一个环境下,数组与内存变量可以同名,两者互不影响
B.可以用一维数组的形式访问二维数组
C.在可以使用简单内存变量的地方都可以使用数组元素
D.一个数组中各元素的数据类型可以相同,也可以不同
10.下列选项中,不属于模块间耦合的是()。
A.数据耦合
B.标记耦合
C.异构耦合
D.公共耦合
1.D。【解析】在各种排序方法中,快速排序法和堆排序法的平均速度是最快的,因为它们的时间复杂度都是O(nlog2n),其他的排序算法的时间复杂度大都是O(n2)。
2.D。【解析】软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,使用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。
3.C。【解析】数据模型所描述的内容包括三个部分,它们是数据结构、数据操作和数据约束。其中,数据结构主要描述数据的类型、内容、性质及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式;数据约束主要描述数据结构内数据间的语法和语义联系,它们之间的制约与依存关系,以及数据的动态变化的规则,用以保证数据的正确、有效与相容。
4.D。【解析】线性表特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保存元素之间的关系。
5.B。【解析】二叉树的前序遍历是指,先访问根结点,再访问左子树,最后访问右子树。并且在访问左右子树时,也是先访问其根结点,再访问左右子树。
6.A。【解析】白盒测试是把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信患来设计或选择测试用例,对程序所有的逻辑路径进行测试。
7.B。【解析】关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。
8.B。【解析】将E-R图转换成指定DBMS中的关系模式是数据库逻辑设计的主要工作。从E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。
9.A。【解析】整个数组的数据类型为A(Array),而各个数组元素可以分别存放不同类型的数据。在使用数组和数组元素时,应注意如下问题。在任何能使用简单内存变量的地方都可以使用数组元素。在同一个环境下,数组名不能与简单变量名重复。可以用一维数组的形式访问二维数组。
10.C。【解析】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成7级,分别是非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。其中没有异构耦合这种方式。
考无忧小编tips:
大多数人挂了计算机考试,根源不在于你的资质不行,而是你压根就没刷几套计算机等级考试题库就去考试!懒得备考才是你挂科的罪魁祸首!赶紧复习以上的二级java试题,还有点击下方链接,把题目刷起来吧!
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯