计算机二级JAVA-112
(总分:86.60,做题时间:90分钟)
一、选择题(总题数:50,分数:86.60)
1.下列程序的执行结果是______。
public class Test {
public static void main(String[] args) {
int[] x={0, i,2,3};
for(int i=0;i<3;i+=2) {
try{
System.out.println(x[i+2]/x[i]+x[i+1]);
}catch(ArithmeticException e) {
System.out.println("error1");
}catch(Exception e) {
System.out.println ("error2"); 计算机专业java
public class Test {
public static void main(String[] args) {
int[] x={0, i,2,3};
for(int i=0;i<3;i+=2) {
try{
System.out.println(x[i+2]/x[i]+x[i+1]);
}catch(ArithmeticException e) {
System.out.println("error1");
}catch(Exception e) {
System.out.println ("error2"); 计算机专业java
}
}
}
}
(分数:2.00)
}
}
}
(分数:2.00)
&1
&2
&1error2 √
D.2error2
解析:[解析] 当for循环第一次执行的时候i=0,输出的计算部分是2/0+1,除数为0会报出异常,是ArithmeticException的子类,所以先输出error1的打印。第一次执行完毕之后,第二次i=i+2=2,执行的计算部分是x[4],会直接抛出数组越界的异常,不属于ArihmeticException的子类,所以会被第二个异常捕捉语句捕捉,打印error2。执行完第二
次之后i=i+2=4,已经不小于3,所以不再继续执行。
2.下列叙述中正确的是______。
(分数:2.00)
(分数:2.00)
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题 √
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
解析:[解析] 一个数据库系统是由操作系统、数据库管理系统和应用程序在一定的硬件支持下构成的。所以,数据库系统不仅指数据库本身,也不仅是指数据库管理系统,而是指计算机系统中引进数据库以后的系统,故选项A和C都是错误的。数据库技术的根本目标是要解决数据的共享问题,因此,选项B正确。
3.下列关于内部类的说法中不正确的是______。
(分数:2.00)
A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用
B.内部类可以使用它所在类的静态成员变量和实例成员变量
C.内部类不可以用abstract 修饰符定义为抽象类 √
D.内部类可作为其他类的成员,而且可访问它所在类的成员
解析:
4.算法分析的目的是______。
(分数:2.00)
(分数:2.00)
A.出数据结构的合理性
B.出算法中输入和输出之间的关系
C.分析算法的易懂性和可靠性
D.分析算法的效率以求改进 √
解析:[解析] 算法分析是指对一个算法的运行时间和占用空间做定量的分析,计算相应的数量级。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
5.下面的______关键字通常用来对对象加锁,从而使得对对象的访问是排他的。
(分数:2.00)
(分数:2.00)
A.serialize
&ansient
C.synchronized √
D.static
解析:[解析] 本题考查Java中对象加锁的概念。Java是多线程的语言,多个线程可以"同时"访问同一数据区,而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操
作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。
6.构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。
(分数:1.80)
(分数:1.80)
A.类名 √
B.对象名
C.包名
D.变量名
解析:[解析] 构造方法名必须与类名相同。
7.链表不具有的特点是______。
(分数:2.00)
(分数:2.00)
A.不必事先估计存储空间
B.可随机访问任一元素 √
C.插入、删除不需要移动元素
D.所需空间与线性表长度成正比
解析:[解析] 链表采用的是链式存储结构,它的节点空间可以动态申请和释放;它的数据元素的逻辑次序靠节点的指针来指示,插入或删除不需要移动数据元素。但是链式存储结构也有不足之处,每个节点中的指针域需额外占用存储空间,它是一种非随机存储结构。
8.下列方法与Applet显示无关的是
(分数:1.00)
(分数:1.00)
A.paint()
B.update()
C.draw() √
&paint()
解析:[解析] 本题考查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。
9.在定制Applet的绘图功能时,应该使用的方法是______。
(分数:2.00)
(分数:2.00)
A.init()
B.start()
C.paintComponent()
D.paint() √
解析:[解析] paint()是在Applet中定制绘图功能需要使用的方法。
10.下列关于RandomAccessFile类的叙述中,不正确的是______。
(分数:2.00)
(分数:2.00)
A.RandomAccessFile类可以随机访问文件
B.RandomAccessFile类实现DataInput和DataOutput接口
C.RandomAccessFile类不能写文件 √
D.RandomAccessFile类兼有输入/输出功能
解析:[解析] RandomAccessFile提供了对文件随机访问的功能,它继承了Objects类,实现了DataInput和DataOutput接口,因此RandomAccessFile类兼有输入/输出功能,可以访问文件的任意位置。
11.下列变量的定义中,错误的是______。
(分数:1.80)
(分数:1.80)
A.int x=3;
B.float f; d; √
C.String s="Hello";
D.boolean b=true;
解析:[解析] 正确的方法是float f, d;,中间应该使用“,”而不是“;”,因为在Java中“;”表示一个语句结束。
12.有以下程序:
void main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i;
for(i=0;i<3;i++)printf("%d",a[1][i]);
}
void main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i;
for(i=0;i<3;i++)printf("%d",a[1][i]);
}
程序运行后输出的结果是______。
(分数:2.00)
(分数:2.00)
A.012
B.123
C.234
D.345 √
解析:
13.下列属于正则表达式的是______。
(分数:1.00)
(分数:1.00)
A.一个数组
B.一组二进制数据
C.一个字符串 √
D.一个公式
解析:[解析] 本题考查正则表达式的概念。正则表达式(Regular Expression)就是一个由字符构成的串,是一种字符模式,它描述的是一组字符串。可以使用软件包,查、显示或修改输入序列中出现的某个模式的一部分或全部。
14.在switch(expression)语句中,expression的数据类型不能是______。
(分数:2.00)
(分数:2.00)
A.double √
B.char
C.byte
D.short
解析:
15.下列程序的运行结果是______。
public classMyTest{
public static void main(String[] args){
int sum=1;
for(int j=1;j<5;j++)
sum*=j;
System.out.println(sum);
}
}
(分数:1.00)
public classMyTest{
public static void main(String[] args){
int sum=1;
for(int j=1;j<5;j++)
sum*=j;
System.out.println(sum);
}
}
(分数:1.00)
A.1
B.10
C.24 √
D.120
解析:[解析] 该程序考查的主要是sum*=j;这一语句的理解,即sum=sum*j;由于sum的初始值为1,所以实际上运行的是1*2*3*4的值。
16.数据模型的三要素是______。
(分数:2.00)
(分数:2.00)
A.外模式、概念模式和内模式
B.关系模型、网状模型、层次模型
C.实体、属性和联系
D.数据结构、数据操作和数据约束条件 √
解析:
17.Java中的线程模型由三部分组成,与线程模型组无关的是______。
(分数:1.80)
(分数:1.80)
A.虚拟的CPU
B.程序代码
C.操作系统的内核状态 √
D.数据
解析:[解析] Java中线程模型包含三部分,①一个虚拟的CPU;②该CPU执行的代码;③代码所操作的数据。
18.将一个容器panell放到容器framel中的方法是______。
(分数:2.00)
(分数:2.00)
A.framel.insert( panell);
B.framel.add(panell); √
C.framel.addjPanel(panell);
D.framel.insertjPanel(panell);
解析:[解析] 将一个容器panell放到容器framel中的方法和容器上添加部件是一样的,使用add()方法即可。
19.下列排序方法中,最坏情况下比较次数最少的是______。
(分数:1.00)
(分数:1.00)
A.冒泡排序
B.简单选择排序
C.直接插入排序
D.堆排序 √
解析:[解析] 考查各种排序方法的时间复杂度,冒泡排序,简单选择排序,直接插入排序在最坏的情况下比较次数都是O(n 2 )的,而堆排序的时间复杂度为O(nlog 2 n),这也是堆排序的最大优点。
20.下列选项中不符合良好程序设计风格的是______。
(分数:2.00)
A.源程序要文档化
B.数据说明的次序要规范化
C.避免滥用goto语句
D.模块设计要保证高耦合、高内聚 √
解析:
21.下列关于System类的叙述中,错误的是______。
(分数:2.00)
(分数:2.00)
A.System类是一个final类
B.System类不能实例化
C.System类中没有定义属性 √
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论