一. 单选题(共39题,39分)
1. (单选题, 1分)
阅读下列代码
public class Test implements Runnable {
public void run (Thread t) {
System.out.println("Running.");
}
public static void main (String[ ] args) {
Thread tt=new Thread (new Test());
tt.start( );
}
}
编译运行代码的结果是( )
- A. 抛出一个异常
- B. 没有输出并正常结束
- C. 输出“Running”并正常结束
- D. 出现一个编译错误
正确答案: D
答案解析:
Runnable接口中的run0方法没有参数列表,重写时不能添加参数列表,编译出错。选项D正确,本题答案为D选项。
2. (单选题, 1分)
为使下列代码正常运行,应该在下划线处填入的选项是( )
public class Test{
public static void main(String[ ] args){
int[ ] numbers = new int[100];
for (int i = 0; i < numbers. ;i ++)
numbers[i] = i + 1;
}
}
- A. size
- B. length
- C. dimension
- D. measurement
正确答案: B
答案解析:
在java中,获取数组长度的属性为length,本题答案为B选项
3. (单选题, 1分)
public class Test {
public static void main(String[ ] args) {
int[ ] x={0, 1, 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");
}
}
}
- A. error1
- B. error2
- C. error1 error2
- D. 2 error2
正确答案: C
答案解析:
第1次循环时,i=0,执行x[2]/x[0]+x[1]时,因为x[0]=0,程序报“ArithmeticException”除数不能为0的异常,catch对其处理,输出“error1”。第2次循环时,i=2,执行x[4]/x[2]+x[3],数组x的下标最大值为3,则程序会报异常:“ArraysIndexOutOfBoundsException”下标越界的异常,程序中没有捕获此导常,但存在异常的父类“Exception",则执行父类异常中对异常的处理,输出error2。本题答案为C选项
4. (单选题, 1分)下列方法被调用后,一定使调用线程改变当前状态的是 ( )
- A. notify( )
- B. sleep()
- C. yield()
- D. isAlive( )
正确答案: B
答案解析:调用某个对象的notifv0方法能够唤醒一个正在等待这个对象的对象锁的线程,如果有多个线程都在等待这个对象的对象锁,则只能唤醒其中一个线程,选项A错误。sleep0使当前线程进入停滞状态,所以执行sleep0的线程在指定的时间内肯定不会执行: vield0应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会,但有可能没有效果。选项B正确,选项C错误。isAlive(功能是判断当前线程是否处于活动状态,选项D错误。本题答案为B选项。
5. (单选题, 1分)计算机完成一条指令所花费的时间称为一个 ( )
- A. 执行时序
- B. 存取周期
- C. 执行速度
- D. 指令周期
正确答案: D
答案解析:一般把计算机完成一条指今所花费的时间称为一个指令周期。指令周期越短,指令执行就越快。本题答案为D选项
6. (单选题, 1分)顺序程序不具有 ( )
- A. 顺序性
- B. 并发性
- C. 封闭性
- D. 可再现性
正确答案: B
答案解析:顺序程序具有顺序性、封闭性和可再现性的特点,使得程序设计者能够控制程序执行的过程(包括执行顺序、执行时间),对程序执行的中间结果和状态可以预先估计,这样就可以方便地进行程序的测试和调试。顺序程序不具有并发性。并发性是并发程序的特点。本题答案为B选项
7. (单选题, 1分)下列叙述中正确的是 ( )
- A. 算法的复杂度与问题的规模无关
- B. 算法的优化主要通过程序的编制技巧来实现
- C. 对数据进行压缩存储会降低算法的空间复杂度
- D. 数值型算法只需考虑计算结果的可靠性
正确答案: C
答案解析:为了降低算法的空间复杂度,主要应减少输入数据所占的存储空间以及额外空间,通常采用压缩存储技术,C选项叙述正确。算法的计算工作量是用算法所执行的基本运算次数来度量的,而算法所执行的基本运算次数是问题规模(通常用整数)表示的函数,A选项叙述错误。算法的复杂度与程序的编制无关,[B选项叙述错误。算法需要考虑可行性、确定性、有穷性等,D选项叙述错误。本题答案为C选项
8. (单选题, 1分)设有一个栈与一个队列的初始状态均为空。现有一个序列A,B,C,D,E,F,G,H。先分别将序列中的前4个元素依次入栈,后4个元素依次入队然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。最后得到的序列为 ( )
- A. A,B,C,D,E,F,G,H
- B. A,B,C,D,H,G,F,E
- C. D,C,B,A,H,G,F,E
- D. D,C,B,A,E,F,G,H
正确答案: D
答案解析:栈按先进后出的原则组织数据,所以入栈最早的元素最后出栈。队列按先进先出的原则组织数据,所以入队最早的元素最先退队。入栈的顺序为A,B,C,D,则退栈的顺序为D,C,B,A;入队的顺序为E,F,G,H,退队的顺序为E,F,G,H。本题答案为D选项
9. (单选题, 1分)设某裸树的度为3,其中度为3,2,1的结点个数分别为3,0,4。则该树中的叶了结点数为 ( )。
- A. 6
- B. 7
- C. 8
- D. 不可能有这样的树
正确答案: B
答案解析:假设叶子结点个数为n。这棵树的总结点数为度为3的结点数+度为2的结点数+度为1的结点数+度为0的结点数,即为3+0+4+n。再根据树的性质: 树的总的结点数为树中所有结点的度数之和再加1,则总结点数为3x3+2x0+1x4+0xn+1。3x3+1x4+1=3+4+n,则n=7叶了结点数为7。本题答案为B选项
10. (单选题, 1分)结构化程序设计强调( )
- A. 程序的效率
- B. 程序的规模
- C. 程序的易读性
- D. 程序的可复用性
正确答案: C
答案解析:结构化程序设计的目的: 通过设计结构良好的程序以程序静态的良好的结构保证程序动态执行的正确性,使程序易理解、易调试、易维护,以提高软件开发的效率,减少出错率,因此结构化程序强调程序的易读性。本题答案为C选项。
11. (单选题, 1分)下面不属于系统软件的是 ( )
- A. 杀毒软件
- B. 操作系统
- C. 编译程序
- D. 数据库管理系统
正确答案: A
答案解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各和服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等,B、C、D三项均,属子系统软件。应用软件是为了应用于特定的领域而开发的软件A属于应用软件。本题答案为A选项
12. (单选题, 1分)在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )
- A. 人工管理阶段
- B. 文件系统阶段
- C. 文件系统阶段和数据库阶段
- D. 人工管理阶段和文件系统阶段
正确答案: A
答案解析:数据库管理技术的三个阶段是人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段没有专门的软件对数据进行管理。本题答案为A选项。