全国计算机二级Java语言程序设计真题


[1/43 选择题]
1.程序流程图中带有箭头的线段表示的是( )。
A.图元关系
B.数据流
C.控制流
D.调用关系
正确答案:C解析:【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。

[2/43 选择题]
2.结构化程序设计的基本原则不包括( )。
A.多态性
B.自顶向下
C.模块化
D.逐步求精
正确答案:A解析:【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

[3/43 选择题]
3.软件设计中模块划分应遵循的准则是( )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
正确答案:B解析:【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

[4/43 选择题]
4.在软件开发中,需求分析阶段产生的主要文档是( )。
A.可行性分析报告
B.软件需求规格说明书
C.概要设计说明书
D.集成测试计划
正确答案:B解析:【解析】A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

[5/43 选择题]
5.算法的有穷性是指( )。
A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
正确答案:A解析:【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

[6/43 选择题]
6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
正确答案:D解析:【解析】除了堆排序算法的比较次数是
124417ql3c9ka6iar4ia3l-1 ,其他的都是n(n-1)/2。

[7/43 选择题]
7.下列关于栈的叙述正确的是( )。
A.栈按“先进先出”组织数据
B.栈按“先进后出”组织数据
C.只能在栈底插入数据
D.不能删除数据
正确答案:B解析:【解析】栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

[8/43 选择题]
8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段
正确答案:C解析:【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

[9/43 选择题]
9.有三个关系R、S和T如下:
124417s78u87jip8pw0iwp-1 由关系R和S通过运算得到关系T,则所使用的运算为( )。
A.并
B.自然连接
C.笛卡尔积
D.交
正确答案:D解析:【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组,所以取得是交运算,选择D。

[10/43 选择题]
10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A.课号,成绩
B.学号,成绩
C.学号,课号
D.学号,姓名,成绩
正确答案:C解析:【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。

[11/43 选择题]
11.下列对Java语言的叙述中,正确的是( )。
A.Java支持指针操作
B.Java类的代码中必须定义构造方法
C.Java通过接口支持多重继承
D.Java是大小写不敏感的
正确答案:C解析:

[12/43 选择题]
12.下列语句中,会产生编译错误的是( )。
A./** Describing the function of the variable. */
B./ Describing the function of the variable.
C.// Describing the function of the variable.
D./* Describing the function of the variable. */
正确答案:B解析:

[13/43 选择题]
13.下列选项中,不符合Java标识符规定的是( )。
A.abc
B.ab_c
C.a12
D.a#b
正确答案:D解析:

[14/43 选择题]
14.若有int x = 3,y = 8; 则 ++x * y的值是( )。
A.24
B.27
C.32
D.36
正确答案:C解析:

[15/43 选择题]
15.使表达式 x > 60 && x < 100 的值为true的选项是( )。
A.x = 10
B.x = 20
C.x = 80
D.x = 100
正确答案:C解析:

[16.下列有关switch的叙述中,正确的是( )。
A.switch中必须有default子句
B.switch中必须有break语句
C.case子句中的值必须是常量
D.case分支中只能包含一条语句
正确答案:C解析:

[17/43 选择题]
17.下列代码段执行后,t的值为 ( )。
int x = 3,y = -2,t = 0;
if ( x >= 0 )
if( y < 0 )
t = 1;
else
t = 2;
else
t = 3;
A.0
B.1
C.2
D.3
正确答案:B解析:

[18/43 选择题]
18.下列代码段执行后,k的值为 ( )。
int i,j,k=0;
for(i=1,j=10;i<=j;i++,j–)
k = i + j;
A.0
B.10
C.11
D.15
正确答案:C解析:

[19/43 选择题]
19.下列代码段执行后,s的值为 ( )。
int i, j, s = 0;
for (i = 1; i < 5; i++)
for (j = 1; j < i; j++)
s = s + i * j;
A.35
B.65
C.12
D.15
正确答案:A解析:

[20/43 选择题]
20.下列代码段执行后,n的值为 ( )。
int n = 0,k = 1;
int[] a = new int[15];
for(int i = 0 ; i < 15 ; i++){
a
 = k % 5;
k++;
}
for(int i = 0 ; i < 15 ; i++)
if (a
 == 2)
n++;
A.0
B.2
C.3
D.5
正确答案:C解析:

[21/43 选择题]
21.类中实现方法重载的方式是( )。
A.采用不同的形式参数列表
B.返回值类型不同
C.调用时用类名或对象名做前缀
D.参数名不同
正确答案:A解析:

[22/43 选择题]
22.下列声明中,表示类B继承类A的是( )。
A.class A extends B
B.class B implements A
C.class A implements B
D.class B extends A
正确答案:D解析:

[23/43 选择题]
23.下列代码段执行后的结果是 ( )。
String str1 = “I”;
String str2 = “like”;
String str3 = “Java”;
System.out.println( str3 + str1 + str2 );
A.Java I like
B.JavaIlike
C.I like Java
D.I Java like
正确答案:B解析:

[24/43 选择题]
24.下列代码段中parseFloat方法的作用是 ( )。
String floatStr = JOptionPane.showInputDialog(“Input a float:”);
float f1 = Float.parseFloat(floatStr);
A.将字符串转换为浮点数
B.将浮点数转换为字符串
C.对字符串进行语法分析
D.对浮点数进行语法分析
正确答案:A解析:

[25/43 选择题]
25.下列代码段的运行结果是 ( )。
int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
int i,j,s=0;
for(i=0; i<3; i++)
for(j=0; j
s = s + a[2-i][2-j];
System.out.println(s);
A.26
B.15
C.6
D.34
正确答案:A解析:

[26/43 选择题]
26.下列异常中,属于RuntimeException的子类的是( )。
A.AWTError
B.IOException
C.LinkageError
D.ArithmeticException
正确答案:D解析:

[27/43 选择题]
27.在Java的异常处理中,无论是否发生异常,其后的代码块都会被执行的关键字是( )。
A.final
B.catch
C.finally
D.throw
正确答案:C解析:

[28/43 选择题]
28.可以使用<关键字,值>对的形式保存数据对象的是( )。
A.HashMap
B.LinkedList
C.HashSet
D.ArrayList
正确答案:A解析:

[29/43 选择题]
29.下列描述中,正确的是( )。
A.ObjectInput和ObjectOutput是处理字节流的接口
B.DataInput和DataOutput是处理字符流的接口
C.RandomAccessFile类同时实现了DataInput和DataOutput接口
D.ObjectOutputStream类实现了ObjectInput接口
正确答案:C解析:

[30/43 选择题]
30.返回字符数组的字符输入流类是( )。
A.CharArrayReader
B.BufferedReader
C.CharArrayWriter
D.BufferedWriter
正确答案:A解析:

[31/43 选择题]
31.InputStream类中available( )方法的功能是( )。
A.从输入流中读入一个字节
B.返回输入流中可读字节数
C.从输入流中读多个字节数组
D.从输入流中向后跳一个字节
正确答案:B解析:

[32/43 选择题]
32.下列程序完成了读取指定文件内容的功能,在下划线处应填入的代码是( )。
import java.io.*;
public class Test {
public static String read(String FileName) throws Exception{
BufferedReader in = new BufferedReader(new FileReader(FileName));
String s = null;
StringBuilder sb = new StringBuilder();
while((s =__________.readLine()) != null){
sb.append(s + “n”);
}
_________.close();
return sb.toString();
}
public static void main(String [] args) throws Exception{
System.out.println(read(“d:\book.txt”));
}
}
A.in,out
B.out,in
C.out,out
D.in,in
正确答案:D解析:

[33/43 选择题]
33.派生出大多数Swing组件的类是( )。
A.Applet
B.Container
C.Window
D.JFrame
正确答案:B解析:

[34/43 选择题]
34.用于选择文件的Swing组件是( )。
A.JCheckBox
B.JComboBox
C. JFileChooser
D.JButton
正确答案:C解析:

[35/43 选择题]
35.要得到如图所示的对话框,应使用的语句是( )。
124417w1uqqv99319gt9ug-1 A.JOptionPane.showMessageDialog(null,”晴”,”天气”,JOptionPane.QUESTION_MESSAGE);
B.JOptionPane.showInputDialog(“晴”,”天气”);
C.JOptionPane.showConfirmDialog(null,”晴”,”天气”,JOptionPane.YES_NO_OPTION);
D.JOptionPane.showConfirmDialog(null,”晴”,”天气”,JOptionPane.QUESTION_MESSAGE);
正确答案:A解析:

[36/43 选择题]
36.如果要编写支持多用户并发操作的程序,则应使用的Java机制是( )。
A.多态
B.多线程
C.网络通信
D.Applet
正确答案:B解析:

[37/43 选择题]
37.阅读下列程序:
public class ThreadTest{
public static void main(String args[ ]){
PrintWords p = new PrintWords( );
Thread t = new Thread( p );
t.start( );
p.run(2);
}
}
class PrintWords implements Runnable{
int i=0 ;
String str[] = { “Yes”, “No”};
public void run( ){
while(i<2){
System.out.println(” Y or N ” + str[i++]);
}
}
public void run( int j){
while( j>=1){
System.out.println(” Hello ” + j–);
}
}
}
程序运行后将打印输出下列若干行字符串:
I. Y or N Yes
II. Y or N No
III. Hello 1
IV. Hello 2
下列选项中描述了正确运行结果的是( )。
A.I,II
B.III,IV
C.I,II,III,IV
D.包含I,II,III,IV,顺序有多种,但一定是I在II的前面,IV在III的前面
正确答案:D解析:

[38/43 选择题]
38.在对共享对象加锁以实现并发控制时,使用的关键字是( )。
A.wait
B.lock
C.Runnable
D.synchronized
正确答案:D解析:

[39/43 选择题]
39.下列选项中,属于Applet生命周期方法的是( )。
A.start(), destroy()
B.start(), paint()
C.stop(), main()
D.main(), init()
正确答案:A解析:

[40/43 选择题]
40.下列程序定义了一个Applet,为了使程序运行时在浏览器中显示一个椭圆并在其中显示字符串Hello World!,在下划线处应填入的是 ( )。
import java.awt.*;
import java.applet.Applet;
public class HelloWorld extends Applet{
public void paint(_____________ g) {
g.setColor(Color.blue);
g.______________(“Hello World!”, 60, 50);
g.setColor(Color.red);
g.drawOval(40,30,120,30);
}
}
A.Graphics, println
B.Color, print
C.Graphics, drawString
D.Color, darwChar
正确答案:C解析:

[41/43 基本操作题]
41.
在考生文件夹中存有文件名为Java_1.java 和Java_1.html文件。
该程序的功能是:在Applet中显示字符串“欢迎你来参加Java语言考试!”,如下图所示:
124417dfquo4ocpwozuxqv-1 该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
正确答案:解析:【参考答案】
(1)Applet
(2)drawString
【解题思路】
填空1:applet实例程序需要继承类java.applet.Applet,所以这里填写Applet。
填空2:java 2d绘图绘制文本图形使用drawString方法。

[42/43 简单应用题]
42.在考生文件夹中存有文件名为Java_2.java的文件。
该程序的功能是:产生一个0到20之间的随机整数,然后计算并打印它的阶乘。提示:一个正整数n的阶乘等于所有1到n的乘积,即n!= 1*2*3* … *n。
该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下划线地方填入正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
正确答案:解析:【参考答案】
(1)f *=k ;
(2)while(k <= n);
【解题思路】
填空1:这里需要实现阶乘,即f需要赋值为f=f*k,简写为f*=k。
填空2:while循环是k值在每次循环时自增1,但不能超过n,这里循环的条件即为k<=n。

[43/43 综合应用题]
43.在考生文件夹中存有文件名为Java_3.java的文件。
该程序运行后的结果如下图所示:
124417x85rz55620nrx3rw-1 该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下划线地方填入正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
正确答案: 解析:【参考答案】
(1)extends ;
(2)new FontPanel()
(3)Jpanel
(4)drawString
【解题思路】
填空1:java图形界面交互接口awt窗口的实现需要继承自JFrame类,这里使用extends去继承。
填空2:frame由panel组成,这里按照程序要求,添加自定义的panel类,实现文本面板。
填空3:自定义panel需要继承JPanel类。
填空4:java 2d绘制文本的方法为drawString。