计算机二级JAVA-172
(总分:59.60,做题时间:90分钟)
一、选择题(总题数:36,分数:59.60)
1.设a=8,则表达式a>>>2:的值是 ____
(分数:2.00)
 A.1
 B.2 
 C.3
 D.4
解析:[解析] 本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移运算符“>>>”用于将—个数的各二进制位全部无符号右移若干位,与运算符“>>”不同的是左补0。在本题中,8的二进制表示是1000,右移两位后变成了0010,对应的十进制数是20
2.下列程序执行后,输出的结果是______。
public class Test{
public static void main(String[] args) {
int a=100;
if(a<100||a>100)
System.out.println("a<>100");
else
System.out.println("a=100");
}
}
(分数:2.00)
 A.a=100 
 B.a<>100
 C.a>100
 D.a<100
解析:[解析] 程序中a=100,在经过判定a<100||a>100时,由于a既不小于100,也不大于100,所以判定结果为假。程序会走if语句的else分支,所以输出为“a=100”。
3.Java语言中,下列标识符错误的是 ____
(分数:1.00)
&
 B.$_yi 
 C._ner
 D.uNiT
解析:
4.下列叙述中正确的是______。
(分数:2.00)
 A.栈是一种先进先出的线性表
 B.队列是一种后进先出的线性表
 C.栈与队列都是非线性结构
 D.以上三种说法都不对 
解析:栈和队列都是特殊的线性表,栈(Stack)只能在表的一端进行插入和删除运算,所以,栈是一种“先进后出”的线性表;而队列(Queue)只允许在一端删除,在另一端插入,所以,队列是一种“先进先出”的线性表。
5.下列Swing组件中属于Swing新增组件,AWT中没有相对应的组件是 ____
(分数:1.00)
 A.JCheckBox
 B.JRadioButton
 C.JToolBar 
 D.JList
解析:[解析] 本题考查Swing常用组件的基本知识。选项A错误,复选框组件JCheckBox,AWT中也有相对应的CheckBox组件;选项B错误,单选框组件JRadioButton,AWT中也有相对应的JRadioButton组件;选项C正确,工具栏组件JToolBar为Swing中新增组件;选项D错误,列表组件JList,AWT中也有相对应的List组件。故本题答案是C。
6.算法的空间复杂度是指______。
(分数:1.00)
 A.算法在执行过程中所需要的计算机存储空间 
 B.算法所处理的数据量
 C.算法程序中的语句或指令条数
 D.算法在执行过程中所需要的临时工作单元数
解析:[解析] 算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。
7.对排序文件的初始状态不作任何要求的排序方法有______。
(分数:2.00)
 A.直接插入和快速排序 
 B.直接插入和归并排序
 C.归并和快速排序
 D.归并和直接选择排序
解析:[解析] 只有归并排序要求待排序文件“部分排序”(把待排序的文件分成若干个子文件,每个子文件内的记录是已排序的)。
8.在软件开发中,需求分析阶段产生的主要文档是______。
(分数:2.00)
 A.软件集成测试计划
 B.软件详细设计说明书
 C.用户手册
 D.软件需求规格说明书 
解析:[解析] 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的软件系统时描写新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后才能够分析和寻求新系统的解决方法。需求分析主要是了解用户的需求为以后的设计和测试提供依据,其最后产生的主要文档是软件需求规格说明书。
9.下列叙述中,错误的是
(分数:2.00)
 A.接口可实现互不相关的类具有相同的行为
 B.通过接口可说明多个类所需实现的方法
 C.通过接口需要了解对象所对应的类,才能了解对象的交互界面 
 D.接口与存储空间无关
解析:[解析] 本题考查接口的概念。接口是一种只含有抽象方法或常量的一种特殊的抽象类。主要功能是:不管类的层次,可实现互不相关的类具有相同的方法,所以选项A说法正确;通过接口说明多个类所需实现的方法,选项B说法正确;通过接口可以了解对象的交互界面,无需了解对象所对应的类,选项C说法错误;因为接口不包括任何实现,所以与存储空间没有任何关系,选项 D说法正确。
10.当一个包含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()方法。
11.若有定义:byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是______。
(分数:2.00)
 A.x[5-3]
 B.x[k]
 C.x[k+5] 
 D.x[0]
解析:[解析] 该题考查的是数组。本题中定义的数组x拥有4个元素,于是下标的取值范围应为0~3,所以对x数组元素的引用下标不能超出它的下标范围。选项A的引用是x[5 -3)即x[2],所以它的引用是正确的;选项B的引用也是正确的,k的范围没超出下标范围;选项C的引用x[k+5]是错误的,它超出了下标范围;选项D的引用是正确的。
12.程序的3种基本控制结构是
(分数:1.00)
 A.过程、子过程和分程序
 B.顺序、选择和重复 
 C.递归、堆栈和队列
 D.调用、返回和转移
解析:[解析] 本题考查基本的程序控制结构。

【解题要点】采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护,它包括3种基本控制结构,分别是顺序结构、选择结构和重复结构(又称循环结构)。

【考点链接】控制程序结构的方法和作用。
13.有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是 ____
(分数:2.00)
&s(&s[0]);
 B.scanf("%s",s+1);
&s(s);
 D.scanf("%s",s[1]); 
解析:
14.在Java语言的下列哪个包是编译器自动导入的?
(分数:2.00)
 A.java.lang 
 B.java.awt
 C.java.io
 D.java.applet
解析:[解析] Java语言的java.lang包是编译器自动导入的。因此,编程时使用该包中的类,可省去import导入。但使用其他包中的类,必须用import导入。
15.由于安全性的限制,Applet只能和______进行通信。
(分数:2.00)
 A.与它在同一局域网中的主机
 B.与它授权的主机
 C.与它在同一个工作组内的主机
 D.提供它的主机 
解析:[解析] 许多浏览器为了保护本地主机,对Applet做了如下安全限制。
1)Applet不能运行任何本地可运行程序。
2)禁止加载本地库或方法。Applet只能使用自身的代码或Applet浏览器提供的Java API。
3)禁止读、写本地计算机的文件系统。
4)禁止向提供Applet之外的任何主机建立网络连接。
5)不能读取某些系统信息。
checkbox和radiobutton的区别6)Applet弹出的窗口中将会有警告提示信息,以帮助用户区分Applet窗口与可信的Application窗口。
从以上安全限制可以看出,Applet只能和提供它的主机进行通信。
16.关于下列程序段的说法中,正确的是______。
public classArrTest{
public static void main(String[]args){
int[]i=new into{5,6,7,8);
System.out println(i[4]);
}
}
(分数:1.00)
 A.结果输出:4
 B.结果输出:8
 C.结果输出:5 6 7 8
 D.产生数组越界异常 
解析:[解析] 该程序主要考查的是对数组的使用。数组元素的下标是从0开始的,若数组有n个元素,数组下标的的范围是0~n-1,不能超出这个范围。题目中的数组有4个元素,下标
只可能是0、1、2、3,所以程序产生下标越界异常。
17.定义一个表示10个值为null的字符串数组,下面选项正确的是 ____
(分数:2.00)
 A.String[]a;
 B.String a[];
 C.chara[10][];
 D.String a[]=new String[10]; 
解析:[解析] 本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为null。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。