计算机二级JAVA114.docx
《计算机二级JAVA114.docx》由会员分享,可在线阅读,更多相关《计算机二级JAVA114.docx(22页珍藏版)》请在冰豆网上搜索。
计算机二级JAVA114
计算机二级JAVA-114
(总分:
81.40,做题时间:
90分钟)
一、选择题(总题数:
50,分数:
81.40)
1.以下叙述中不属于JAVA语言特点的是______。
(分数:
2.00)
A.面向对象
B.可移植性
C.多线程
D.宏定义 √
解析:
[解析]本题考查Java语言的基本特点。
选项A正确Java最大的特点之一是跨平台、面向对象:
选项B正确,解释问A:
选项C正确,多线程是Java的一个主要特性,它使可执行程序具有同时保持几个线程执行的能力;选项D错误,Java不支持宏定义。
2.下列程序的运行结果是______。
publicclassTest{
publicstaticvoidmain(String[]args){
int[]m=newint[]{1,2,3,4,5,6,7,8};
intsum=0;
for(inti=0;i<8;i++){
sum+=m[i];
if(i==3)break;
}
System.out.println(sum);
}
}
(分数:
1.00)
A.3
B.6
C.10 √
D.36
解析:
[解析]该程序的功能是将m数组中的前四个数相加,将和保存在sum中,最后输出sum的值。
因为程序中for循环停止的条件有两个,一个是当i<8的时候,另一个是当i==3的时候,即运行到m数组中第四个值的时候,可以跳出for循环。
程序执行的是后者,所以输出的结果是10。
3.下面程序段的输出结果为______。
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);
}
}
(分数:
1.80)
A.a=trueb=falseb=truec=true
B.a=trueb=falseb=truec=false
C.a=trueb=trueb=truec=false √
D.a=falseb=falseb=truec=false
解析:
[解析]本题考查关系运算符<和==。
题目中a=(3<5);比较3和5的大小,因为3<5,返回true给a;b=(a==true);判断a是否为真,因为a确实为真,返回true给b;c=(b==false);判断b是否为假,因为b不为假,返回false给c。
最后结果a=true,b=true,b=true,c=false,选项C正确。
4.Java类库中,将信息写入内存的类是______。
(分数:
1.80)
A.java.io.FileOutputStream
B.java.io.ByteArrayOutputStream √
C.java.io.BufferedOutputStream
D.java.io.DataOutputStream
解析:
[解析]在java.io中,提供了ByteArrayInputStream、ByteArray()utputStream和StringBufferInputStream类可以直接访问内存,其中用:
ByteArrayOutputStream可以向字节数组(缓冲区)写入数据。
5.在E-R图中,用来表示实体联系的图形是______。
(分数:
2.00)
A.椭圆形
B.矩形
C.菱形 √
D.三角形
解析:
[解析]实体之间的相互联系,应该用菱形来表示,答案选C。
6.下列代码的执行结果是______。
publicclassExpression{
publicstaticvoidmain(Stringarga[](
Intv1=10,v2=99,v3=0;
System.out.prIntln((v1<0)"((v2/v3)==3));
}
}
(分数:
0.80)
A.9.9
B.3
C.false √
D.true
解析:
[解析]此题后半部分除数是0,按常理说应该报异常,且不会得出结果。
但是在计算&&运算时采用了部分结果方法,即先运算前半部分,如果前半部分为假,则不必计算后半部分,整个结构为假,如果前半部分为真,这时才计算后半部分的值,在此,前部分已经为假,所以结果就不用计算后半部分。
7.阅读如下程序。
importjavax.swing.JOptionPang;
publicclassBreakLabelTest{
publicstaticvoidmain(Stringargs[]){
Stringoutput="";
stop:
{
for(introw=1;row<=10;row++){
for(intcolumn=1;column<=5;column++){
if(row==5)
breakstop;
output+="";
}
output+="n";,
}
output+="/nLoopsterminatednormally";
}
JOptionPane.showMessageDialog(
Null,output,"用一个标志测试break语句",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
程序运行结果是______。
(分数:
2.00)
A.窗口中有5行·····
B.窗口中有5行····
C.窗口中有4行····· √
D.窗口中有6行·····
解析:
[解析]break语句可以通过提供“标化中断”的语句,使程序退出多重嵌套循环,格式为“breakBlockLabel;”,其中,BlockLabel是加在要中断的那个循环之前的标签。
执行该语句之后,程序会跳转到该标签所在循环语句的下一语句开始处执行。
8.在E-R图中,用来表示实体联系的图形是______。
(分数:
1.80)
A.椭圆
B.矩形
C.菱形 √
D.三角形
解析:
[解析]E-R图即实体一联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,构成E-R图的基本要素是实体型、属性和联系,其表示方法为实体型(Entity):
用矩形表示,矩形框内写明实体名;属性(Attribute):
用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship):
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)
9.按照“先进先出”原则组织数据的结构是______。
(分数:
2.00)
A.队列 √
B..栈
C.双向链表
D.二叉树
解析:
[解析]队列是一种特殊的线性表示,只允许在表的一端插入元素;在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”;先插入的元素先被删除,是按“先进先出”的原则组织数据的。
10.t为int类型,进入下面的循环之前,t的值为0。
则下列说法中正确的是______。
while(t=1){...}
(分数:
1.80)
A.循环控制表达式的值为0
B.循环控制表达式的值为1 √
C.循环控制表达式不合法
D.以上说法都不对
解析:
[解析]本题考查对while循环及逻辑表达式的理解。
循环控制表达式为赋值表达式t=1,永远为1(为真)。
11.有两个关系R和S如下:
R
A
B
C
a
1
2
b
2
1
c
3
1
S
A
B
C
c
3
1
则由关系R得到关系S的操作是______。
(分数:
1.00)
A.选择 √
B.投影
C.自然连接
D..并
解析:
[解析]由关系R得到关系S是一个一元运算,而自然连接和并都是多元运算可以排除选项C和选项D。
关系S是由关系R的第3个元组组成,很显然这是对关系R进行选择运算的结果。
投影运算则是要从关系R中选择某些列。
可以简单得理解,选择运算是对行的操作,投影运算是对列的操作。
12.假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为______。
(分数:
1.80)
A.50
B.19 √
C.1
D.20
解析:
[解析]当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。
13.在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是______。
(分数:
1.80)
A.import √
B.package
C.include
D.packet
解析:
[解析]定义一个包要用package关键字,使用一个包中的类时,首先要使用import导入这些类所在的包。
include为C语言的包含头文件的关键字,不是Java的。
14.当一个包含Applet的Web页面被其他页面覆盖时,被调用的Applet方法是______。
(分数:
1.00)
A.start()
B.init() √
C.stop()
D.destroy()
解析:
[解析]init()方法主要是为Applet的正常运行做一些初始化工作。
当一个Applet被系统调用时,系统首先调用的就是该方法。
通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。
系统在调用完init()方法之后,将自动调用start()方法。
stop()方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。
它可以使用户在不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。
如果Applet中不包含动画、声音等程序,通常也不必实现该方法。
Java在浏览器关闭的时候才调用destroy()方法。
Applet是嵌在HTML文件中的,所以destroy()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。
在destroy()方法中一般可以要求收回占用的非内存独立资源。
所以,但一个Applet被系统调用时,首先调用的就是init()方法。
15."++"运算符的操作数个数是______。
(分数:
1.00)
A.1个 √
B.2个
C.3个
D.4个
解析:
[解析]按照操作数的数目划分,运算符可以分为:
一元运算符:
++,-,+,-;二元运算符:
+,-,>:
三元运算符:
?
:
。
简单点儿说就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。
所以本题正确答案是选项A。
16.当检索一个压缩文件时,首先要建立压缩文件输入流对象。
该对象
(分数:
1.00)
A.以选中的压缩文件为参数
B.以FileInputStream对象为参数 √
C.以InputStreamReader对象为参数
D.以BufferedReader对象为参数
解析:
17.下列说法中,______是不正确的。
(分数:
2.00)
A.对象的使用原则是先使用后定义 √
B.接口是一种只含有抽象方法或常量的特殊的抽象类
C.通过接口说明多个类所需要实现的方法
D.定义一个包要用Package关键字
解析:
18.利用Socket进行网络通信时,可通过哪个类完成?
(分数:
3.00)
A
B.source
C.socket √
D.host
解析:
[解析]Java语言中提供了socket类,与Socket相关的一些功能被封装于此类中,便于开发者使用。
19.运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。
voidmain()
{
intm,n;
printf("Enterm,n:
");
scanf("%d%d",&m,&n);
while(m!
=n)
{
while(m>n)m-=n,
while(n>m)n-=m;
}
printf("m=%d/n",m);
}
(分数:
2.00)
A.m=3
B.m=2
C.m=1 √
D.m=0
解析:
20.软件生命周期是指______。
(分数:
2.00)
A.软件产品从提出、实现、使用维护到停止使用退役的过程 √
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
解析:
[解析]软件生命周期的定义是指通常将软件产品从提出、实现、使用维护到停止使用而退役的过程。
还可将软件周期分为三阶段:
定义阶段、开发阶段和维护阶段。
21.下列选项中为单精度数的是______。
(分数:
1.80)
A.2
B.5.2
C.0.2f √
D.023
解析:
[解析]Java中单精度常量以f或F结尾。
22.以下程序运行后输出的结果是______。
#include<stdio.h>
main()
{inti;
for(i=1;i<=5;i++)
switch(1%5)
{case0:
printf"*");break;
case1:
printf("#");break;
default:
printf("/n");
case2:
printf("&");
}
}
(分数:
2.00)
A.&#*&*
B.#&**
C.#&& √
D.&#
解析:
23.一个栈的进栈顺序是1,2,3,4,则出栈顺序为______。
(分数:
1.00)
A.4,3,2,1 √
B.2,4,3,1
C.1,2,3,4
D.3,2,1,4
解析:
[解析]栈是一种特殊的线性表,栈的插入和删除运算都只在一端进行,即它的一端是封闭的,不允许插入与删除元素,一端是开口的,允许插入与删除元素,栈中的元素是先进后出的。
答案是A。
24.数据库应用系统中的核心问题是______。
(分数:
1.80)
A.数据库设计 √
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
解析:
[解析]数据库设计的目的是设计一个能满足用户要求,性能良好的数据库。
所以数据库设计的核心是数据库应用。
25.在Java源文件中______类最多只能有一个,其他类的个数不限。
(分数:
1.00)
A.public √
B.private
C.protected
D.没有这种类
解析:
26.下列关于Object类中定义方法的描述中,正确的是______。
(分数:
1.00)
A.其他类不能调用
B.其他类部分能调用
C.其他类大部分不能调用
D.其他类全部都能调用 √
解析:
[解析]Object类是Java类层次的根,所以其他类都是由Object类派生出来的,在Object类中定义的方法,在其他类中都可以使用。
因此,正确答案为D。
27.设A为已定义的类名,则下列声明A类的对象a的语句中正确的是______。
(分数:
2.00)
A.publicAa=newA() √
B.publicAa=A()
C.Aa=newclass();
D.aA;
解析:
[解析]对象的生成包括声明、实例化和初始化3个方面的内容,一般格式是先定义一个对象变量,再用关键字new生成一个对象,并为该对象变量赋值。
28.需求分析阶段最后提供的文档是软件的______。
(分数:
2.00)
A.功能说明书
B.加工说明书
C.可行性分析报告
D.需求规格说明书 √
解析:
[解析]选项A、B、C都是需求分析前段时间的文档。
需求分析阶段最后成果就是软件需求规格说明书,它是软件开发的重要文档之一。
29.软件生命周期是指______。
(分数:
1.80)
A.软件产品从提出、实现、使用维护到停止使用退役的过程 √
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
解析:
[解析]软件生命周期(SDLC,SystemsDevelopmentLifeCycle,SDLC)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
30.下列不属于表达式语句的是______。
(分数:
1.80)
A.++i;
B.--j;
C.b#a; √
D.b*=a;
解析:
[解析]前两项是自加减运算,最后一项是b=b*a。
31.线程有哪些基本状态?
Ⅰ新建Ⅱ就绪Ⅲ休眠
Ⅳ阻塞Ⅴ运行Ⅵ消亡
(分数:
1.00)
A.Ⅰ、Ⅱ、Ⅲ、Ⅳ
B.Ⅰ、Ⅱ、Ⅳ、Ⅴ、Ⅵ √
C.Ⅰ、Ⅴ、Ⅵ
D.Ⅰ、Ⅱ、Ⅴ、Ⅵ
解析:
[解析]本题考查线程的基本概念。
线程有新建、就绪、阻塞、运行、消亡5个基本状态。
线程对象被创建时进入新建状态;程序执行语句启动这个线程后,它进入线程队列等待CPU时间片,称为就绪状态;等CPU时间和其他资源齐备时进入运行状态;线程运行完毕或者被强制终止则进入消亡状态。
上述线程各状态之间的转换就构成了线程的基本生命周期。
32.在设计程序时,应采纳的原则之一是______。
(分数:
1.00)
A.不限制goto语句的使用
B.减少或取消注解行
C.程序越短越好
D.程序结构应有助于读者理解 √
解析:
[解析]滥用goto语句将使程序流程无规律,可读性差,因此A不选。
注解行有利于对程序的理解,不应减少或取消,B也不选。
程序的长短要依照实际情况而论,而不是越短越好,C也不选。
所以,本题答案为D。
33.下列可用作switch(expression)语句参数的是______。
(分数:
1.00)
A.Strings
B.Integeri
C.booleanb
D.inti √
解析:
[解析]表达式expression最终值的类型必须是int型或者是能自动转换成int型的类型,如short、byte、char。
否则,必须进行强制类型转换。
case子句中的值valueI必须是常量,而且所有case子句中的值是不同的。
选项A是一个字符串常量,选项B中的Integer是一个类。
因此,本题的正确答案为D。
34.有定义语句:
chars[10];,若要从终端给s输入5个字符,错误的输入语句是______。
(分数:
2.00)
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]); √
解析:
35.当按Tab键以离开文本框时,将激发______事件。
(分数:
2.00)
A.FocusEvent √
B.WindowEvent
C.ActionEvent
D.以上都不对
解析:
[解析]与AWT有关的事件类都由Java.awt.AWTEvent类派生。
这些AWT事件分为低级事件和高级事件。
低级事件是指基于组件和容器的事件,高级事件是基于语义的事件。
(1)低级事件
1)ComponentEvent:
组件事件,组件尺寸的变化和移动。
2)ContainerEvent:
容器事件,组件增加和移动。
3)WindowEvent:
窗口事件,关闭窗口、窗口活动和图标化。
4)FucousEvent:
焦点事件,焦点的获得和丢失。
5)KeyEvent:
键盘事件,键盘的按下和释放。
6)MouseEvent:
鼠标事件,鼠标的单击和移动。
(2)高级事件
1)ActionEvent:
动作事件,按钮按下、TextField中按下Enter键。
2)AdjustmentEvent:
调节事件,在滚动条上移动滑块和调节数值。
3)ItemEvent:
项目事件,选择列表框中的项目。
4)TextEvent:
文本事件,文本对象发生改变。
按Tab键离开文本框时,必然发生焦点的变化,所以会激发焦点事件(FucousEvent)。
36.J2SE1.4中提供了java.nio包,该包支持的特点有______。
(分数:
2.00)
A.文件锁定
B.字符及编码、非阻塞I/O
C.内存映射技术
D.以上特点都正确 √
解析:
[解析]J2SE1.4提供了一些新的I/0功能,被封装在java.nio包中。
其特点是:
使用内存映射技术、文件锁定、字符及编码、非阻塞I/0等。
37.下面属于黑盒测试方法的是______。
(分数:
1.00)
A.基本路径测试
B.等价类划分 √
C.判定覆盖测试
D.语句覆盖测试
解析:
[解析]等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。
38.Swing构件必须添加到Swing顶层容器相关的______。
(分数:
1.00)
A.选项板上
B.复选框内
C.内容面板上 √
D.分隔板上
解析:
[解析]本题考查Swing构件的相关概念。
与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentpane)上。
内容面板是顶层容器包含的一个普通容器,它是一个轻重级构件。
39.以下各项说法中错误的是______。
(分数:
2.00)
A.可串行化的类必须实现Serializable接口
B.可串行化的类中的静态变量可以不被串行化
C.private数据访问权限能够限制数据不被串行化 √
D.对象串行化使用Java语言提供的默认机制
解析:
[解析]一般的数据访问权限,如public、protected、package或private等,对数据的串行化没有影响。
只有static和transient关键字修饰的数据才可以不被串行化。
40.应用数据库的主要目的是______。
(分数:
2.00)
A.解决数据保密问题
B.解决数据完整性问题
C.解决数据共享问题 √
D.解决数据量大的问题
解析:
[解析]数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项C正确。
41.Java为移动设备提供的平台是______。
(分数:
2.00)
A.J2ME √
B.J2SE
C.J2EE
D.JDK5.0
解析:
[解析]本题考查常用Java开发平台。
J2ME是为嵌入式和移动设备提供的Java平台,J2SE是面向企业级应用与服务的综合性标准开发平台,J2EE是面向大企业级、用容器管理专