admin 管理员组

文章数量: 887031


2023年12月21日发(作者:三层架构和mvc的关系)

计算机二级JAVA-15

(总分74, 做题时间90分钟)

一、选择题

1.

下列叙述中正确的是______。

A.程序设计时不需要讲究风格

B.程序中的注释是可有可无的

C.程序只要求机器读懂就可以了,不需要去关心维护的问题

D.以上说法都不对

A B C D

该问题分值: 2

答案:D

程序设计的风格总体而言应该简单和清晰,程序必须是可以理解的。程序的正确注释有助于读者理解程序,不是可有可无的。对程序的要求不仅是可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护,这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。

2.

已知:int[]a=new int[100];在下列给出的数组元素中,非法的是

A. a[0]

B. a[1]

C. a[99]

D. a[100]

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

[解析] 本题考查Java中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。int[]a=new int[100]定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从0开始的,因此上面定义的数组实际上下标是从0~99,所以选项D错误。

3.

将较长的数据类型转换为较短的整数类型,要进行 。

A.类型的自动转换

B.类型的强制转换

C.无需转换

D.无法实现

SSS_SIMPLE_SIN

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:B

4.

在编译Java程序时,用于指定生成.class文件位置的选项是 。

A.-g

B.-d

C.-verbose

D.-nowarn

A B C D

该问题分值: 2

答案:B

5.

软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是______。

A.编辑软件

B.操作系统

C.教务管理系统

D.浏览器

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:B

[解析] 编辑软件和浏览器属于工具软件,教务系统是应用软件。

6.

软件生命周期是指 。

A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

SSS_SIMPLE_SIN

A B C

该问题分值: 2

答案:A

SSS_SIMPLE_SIND

[解析] 软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。

7.

有如下程序:

public class MethLoad

{

public static void main(String args[])

{

MethLoad classObj = new MethLoad();

st(4);

st(4.0);

}

void methtest(double D)

{

double sum = 2*d;

n("The result is:"+sum);

}

void methtest(int n)

{

int sum = 4*n;

n("The result is:"+sum);

}

}

程序的运行结果为 。

A. The result is:16 The result is:8.0

B. The result is:8.0 The resuR is:16

C. The result is:8 The result is:16.0

D. The resuR is:16.0 The result is:8

A B C D

该问题分值: 1

答案:A

[解析] 本题考查对方法重载的掌握程度。在上面的程序中,类MethLoad中定义了两个具有相同名称methtest的方法,但这两个方法的参数不相同,编译器会根据参数的个数和参数类型宋决定应该调用哪个方法。在类MethLoad中先声明了一个classObj对象,接着调用classObj的methest方法,只不过是两次调用中参数的类型不同,第1次调用的参数是血类型的4,第2次调用的参数是 double类型的4.0,因此要调用相对应的方法。int类型的方法返回参数值的4倍,而 double类型的方法返回参数值的2倍。

8.

将一个容器panell放到容器framel中的方法是______。

SSS_SIMPLE_SIN

A. ( panell);

B. (panell);

C. nel(panell);

D. jPanel(panell);

A B C D

该问题分值: 2

答案:B

[解析] 将一个容器panell放到容器framel中的方法和容器上添加部件是一样的,使用add()方法即可。

9.

数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是 。

A.层次分析法和层次结构图

B.数据流程分析法和数据流程图

C.结构分析和模块结构图

D.实体联系法和实体联系图

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

10.

Java中用于提供Java语言、Java虚拟机的核心类和接口的包的是______。

A. 包

B. 包

C. 包

D. 包

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

[解析] 包:封装编程要用的所有基本类,如Object、Class、System、Integer、Thread等。对于任何一个Java程序来说,这些类几乎是必不可少的。还包含了许多由Java虚拟机发出的异常和一些用于访问系统资源的类,如ClassLoader等。

11.

下面是关于类及其修饰符的一些描述,不正确的是 。

**类只能用来派生子类,不能用来创建abstract类的对象

**不能与final同时修饰一个类

SSS_SIMPLE_SIN

**类不但可以用来派生子类,也可以用来创建final类的对象

**方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法

A B C D

该问题分值: 2

答案:C

12.

下列方法与Applet显示无关的是 。

A.paint() B.update()

C.draw()D.repaint()

A B C D

该问题分值: 2

答案:C

[解析] 本题考查Applet的基本概念。Applet显示相关的方法主要有3个。paint()方法,具体执行Applet的绘制,定义为:public void

paint(Graphics g);update()方法,定义为:public void update(Graphics

g),主要用于更新Applet。的显示;repaint()方法,定义为:public void

repaint(),主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。而draw()方法与显示无关。故选C。

13.

下列关于Applet的叙述中,正确的是

A. Applet是Java类,所以可以由JDK中的解释器java直接解释运行

B. Applet的主类不一定要定义为java.applet.Applet类或JApplet类的子类

C. Applet与Application的主要区别在执行方式上

D. Applet不能在浏览器中运行

SSS_SIMPLE_SINSSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

[解析] 本题考查Java中Applet与Application的区别。这个知识点是考试重点,历次考试都有涉及,务必掌握。

Applet是Java类,但Applet不能由JDK中的解释器java直接运行,要在浏览器或appletviewer中运行,运行过程比Application更复杂,选项A和选项D说法错误。Applet的主类一定要定义为 java.applet.Applet类或JApplet类的子类,选项B说法错误。Applet与Application的主要区别在执行方式上,Application以main()方法为入口点运行,两者都是通过"javac"命令编译,所以只有选项C说法正确。

SSS_SIMPLE_SIN

14.

运行下面的程序时,会产生 。

public class Test{

public static void main(String args[ ] ) {

int x =0;

int y = 2/x;

int z[ ] = {1,2,4,6};

int p=z[4];

}

}

A. ArrayIndexOutOfBoundsExcePtion异常

B. NumberFormatException异常

C. ArithmeticException异常

D. ArithmeticException异常和ArrayIndexOutOfBoundsExcePtion异常

A B C D

该问题分值: 2

答案:C

[解析] 只能出现ArithmeticException异常,由于在程序第4行出现了这个异常后,程序就跳出,不能继续执行下去,因此不会出现ArrayIndexOutOfBoundsException异常。

15.

利用E-R模型进行数据库的概念设计,可以分成3步:首先设计局部E-R模型,然后把各个局部E-R模型综合成一个全局的模型,最后对全局E-R模型进行 。

A. 简化

B. 结构化

C. 最小化

D. 优化

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

[解析] 本题考核实体联系模型。在概念设计中按照模块的划分画出每个模块的E-R图,然后把这些图合成一张E-R图作为全局模型,最后应该对全局E-R图进行优化,看看是否有重复和不合理的地方。不能只是进行简单的合并。

16.

下面的 关键字通常用米对对象加锁,从而使得对对象的访问是排他的。

SSS_SIMPLE_SIN

**

**

**

**

A B C D

该问题分值: 2

答案:C

17.

语句public String getEncoding()的功能是 。

A. 给当前输入流重做标记

B. 获得当前字符流所用的编码方式

C. 基于字节流in生成一个输入字符流对象

D. 给当前字符输入流设置编码方式

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:B

[解析] getEncoding是InputStreamReader类的方法,其功能是获得当前字符流所用的编码方式。

18.

若变量a、i已正确定义,且i已正确赋值,合法的语句是 。

SSS_SIMPLE_SIN**==1

B.++i:

**=a++=5;

**=int(i);

A B C D

该问题分值: 2

答案:B

19.

下列包中,包含JoptionPane类的是 。

**

**

**

SSS_SIMPLE_SIN

**

A B C D

该问题分值: 2

答案:A

[解析] Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,利用JOptionPane类中的各个staUc方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。且这些对话框都是模式对话框。

20.

有以下程序:

main()

{ char a[]="abcdefg",b[10]="abcdefg";

printf("%d %dn",sizeof(a),sizeof(b));

}

执行后输出的结果是 。

** 10

**

** 10

SSS_SIMPLE_SIN** 10

A B C D

该问题分值: 2

答案:C

21.

下列关于Applet中的归档文件叙述不正确的是

A. 使用归档文件的好处是减少HTTP的连接次数,从而大大减少了Applet整体的下载时间

B. 所有的浏览器都识别相同的归档文件格式和指定归档文件的HTML代码

C. 归档文件是一种压缩文件,使用它也减少了文件的传输时间

D. 使用JDK的jar工具创建JAR文件

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:B

解析:不是所有的浏览器都识别相同的归档文件格式和指定归档文件的HTML代码。

22.

SSS_SIMPLE_SIN

设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,采用初始增量为4的希尔排序法,一趟扫描后的结果为 。

A.(15,2,4,18,16,5,8,24,17,9,13,25)

B.(2,9,4,25,15,16,13,18,17,5,8,14)

C.(9,4,16,15,2,13,18,17,5,8,24,15)

D.(9,16,4,25,2,15,13,18,5,17,8,24)

A B C

该问题分值: 2

答案:A

23.

SSS_SIMPLE_SIND

**中提供了包,该包支持的特点有 。

A. 文件锁定

B. 字符及编码、非阻塞I/O

C. 内存映射技术

D. 以上特点都正确

A B C D

该问题分值: 2

答案:D

[解析] J2SE1.4提供了一些新的I/0功能,被封装在包中。其特点是:使用内存映射技术、文件锁定、字符及编码、非阻塞I/0等。

24.

如果进栈序列为e1、e2、e3、e4、e5,则可能的出栈序列是 。

**、e1、e4、e2、e5

**、e2、e4、e3、e1

**、e4、e1、e2、e5

SSS_SIMPLE_SIND.任意顺序

A B C D

该问题分值: 2

答案:B

[解析] 根据栈先进后出的特点可知e1肯定是最后出栈的,因此正确答案为选项B。

25.

SSS_SIMPLE_SIN

把算法工作量大小和实现算法所需存储单元多少分别称为算法的______和空间复杂度

A.可实现性

B.时间复杂度

C.困难度

D.计算有效性

A B C

该问题分值: 2

答案:B

26.

J2EE和( )语言绑定。

**

**++

**

SSS_SIMPLE_SIND

D.汇编语言

A B C D

该问题分值: 2

答案:C

[解析] J2EE的基础是J2SE,以Java为平台;而C语言用于ODBCAPI。由于两者不兼容,SUN公司才提出了JDBC作为Java几个平台与数据库的标准连接。

27.

已知一棵二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历序列是 。

A. acbed

B. decab

C. deabc

D. cedba

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

[解析] 依据后序遍历序列可确定根结点为c,由中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如图所示。由此可知该二叉树的前序遍历序列为选项D。

SSS_SIMPLE_SIN

28.

下列语句中正确的是 。

A. char c='ccc';

B. float f=0.73;

C. long l=xffff;

D. double d=0.6E-2;

A B C D

该问题分值: 2

答案:D

[解析] char类型数据为单引号括起的一个字符,所以A错误。小数0.73在Java中默认为 double类型,它的精度比float类型高,只有通过强制类型转换才能赋给float类型变量,所以B错误。整型常数的十六进制表示是以0x或0X开头,而不是以x开头,所以C错误。0.6E-2是 0.6×10-2的科学计数法表示,正确。

29.

有以下程序:

void main()

{ char str[][10]={"China","Beijing"},*p=str[0];

printf("%sn",p+10);

}

程序运行后输出的结果是 。

**

**

**

SSS_SIMPLE_SIN**

A B C D

该问题分值: 2

答案:B

30.

设int i=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是 。

**

**

**

SSS_SIMPLE_SIN**

SSS_SIMPLE_SINA B

C D

该问题分值: 2

答案:C

31.

阅读下列代码段。

class Test implements Runnable{

public int run(){

int i=0;

while(true){

i++;

n('i='+i);

}

}

上述代码的编译结果是 。

A.程序通过编译并且run()方法可以正常输出递增的i值

B.程序通过编译,调用run()方法将不显示任何输出

C.程序不能通过编译,因为while的循环控制条件不能为“true”

D.程序不能通过编译,因为run()方法的返回值类型不是void

A B C D

该问题分值: 2

答案:D

[解析] while的循环控制条件可以为true,run方法没有返回值,所以不能是int型,故此程序不能通过编译。

32.

若程序中有宏定义行:#define N 100,则以下叙述中正确的是 。

A.宏定义行中定义了标识符N的值为整数100

B.在编译程序对C源程序进行预处理时用100替换标识符N

C.对C源程序进行编译时用100替换标识符N

D.在运行时用100替换标识符N

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:B

33.

下面几种调试方法中不适合调试大规模程序的是 。

A. 强行排错法

B. 回溯法

C. 原因排除法

D. 静态调试

SSS_SIMPLE_SIN

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:B

[解析] 本题考查对几种调试方法的掌握。其中,强行排错法是最常用也是最低效的,主要思想是通过计算机找错,适合调试大规模程序。回溯法是从出现错误征兆处开始,人工沿控制流程往回追踪,直至发现出错的根源。这是在小程序中常用的一种有效的调试方法。程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯变得不可能。原因排除法是靠演绎、归纳以及二分法来实现的,适合调试大规模程序。静态调试也是‘种调试手段,主要是指通过人的思维来分析源程序代码和排错。

34.

下列属于合法的Java标识符的是 。

A._cat

**

C.+static

D.-3.14159

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:A

[解析] 本题考查Java标识符的命名规则,是考试的重点内容。Java中标识符的命名规则是标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java中标识符不能以数字开头,所以选项B错误,不能以“+”开头,选项C错误,不能以“-”开头,选项D错误,只有选项A是正确答案。

35.

阅读下列代码段,选出该代码段的正确文件名 。

class A

{

void method1()

{

n("method1 in class A");

}

}

public class B

{

void method2()

{

n("method2 in class B");

}

public static void main(String args[])

{

n("main in class B");

}

}

A) B)

**

C.

**

D.

A B C D

该问题分值: 1

答案:D

[解析] Java源程序文件是以Java为后缀的,Java字节码文件以.class为后缀,而且 Java源文件中只能有一个public类,该类的名字为源文件名,程序段中类B是以public修饰的,因此源程序文件名为Biava。

二、填空题

36.

下列软件系统结构图的宽度为 。

SSS_FILLSSS_SIMPLE_SIN

该问题分值: 1

答案:3

[解析] 题目中的图形是倒置的树状结构,这是用层次图表示的软件结构。结构图中同一层次模块的最大模块个数称为结构的宽度,它表示控制的总分布。根据上述结构图宽度的定义,从图中可以看出,第二层的模块个数最多,即为3。因此,这个系统结构图的宽度就为3。

37.

所有由Container派生的类称为 。

SSS_FILL 该问题分值: 1

答案:容器

[解析] 本题考查容器的概念。容器指所有由Container派生的类,可以包含由

Component派生的任何类的对象,如Window类和Panel类都由容器类Container直接派生而宋;Frame继承自Window类;Panel类派生了Applet类。其他容器还有面板Panel、滚动条ScrollPane和选项面板OptionPane。

38.

下面程序的运行结果是:______。

fun(int t[],int n)

{ int i,m,

if(n==1) return t[0];

else

if(n%3==0){ m=fun(t,n-1); return m;}

}

main()

{ int a[]={11,4,6,3,8,2,3,5,9,2};

printf("%dn",fun(a,10));

}

SSS_FILL

该问题分值: 1

答案:3

39.

一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队则元素退队的顺序为______。

SSS_FILL

该问题分值: 2

答案:A,B,C,D,E,F,5,4,3,2,1。

[解析] 队列是先进先出的。

40.

若按功能划分,软件测试的方法通常分为白盒测试方法和 测试方法。

SSS_FILL

该问题分值: 2

答案:黑盒或黑箱

[解析] 软件测试的方法分为白箱测试方法和黑箱测试方法。白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试用例的设计准则有:语句

覆盖、分支覆盖、条件覆盖和组合条件覆盖;黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑箱测试有等价分类法、边值分析法、因果图法和错误推测法。

41.

对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。

SSS_FILL

该问题分值: 2

答案:45

[解析] 在冒泡排序中,最坏情况下,需要比较的次数为n(n-1)/2,也就是:10×(10-1)/2=45

1


本文标签: 方法 程序 类型 不能 标识符