Test3

1.关于Java的异常处理机制的叙述哪些正确?C
A 如果程序发生错误及捕捉到异常情况了,才会执行finally部分
B 其他选项都不正确
C 当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序
D catch部分捕捉到异常情况时,才会执行finally部分

解析:在java 中如果程序发生了错误有两种情况处理:1.是将异常抛出,由谁掉用谁处理。2.使用try-catch块对异常进行捕获和处理,有异常部分的代码块应该放在try中,如果发生异常,则立即执行catch
中的语句,不会在执行try中的代码块,对于finally来说,无论是否发生异常,都会执行finally中的代码块。

2关于下面代码 int[] x=new int[25]; 描述正确的是()B
正确答案: C 你的答案: C (正确)
A.x[25]存放了数据“\0”。
B.x[24] 存放了数据“\0”。
C.若访问x[25],程序将抛出异常。
D.x[1]访问此数组的第一个元素。

解析:在java中数组的下标是从零开始的,如上题,虽然有25个位置,但由于下标从0开始,所以最后一个元素的下标是24.上题是一个长度为25 的空数组。

3.下面有关c++静态数据成员,说法正确的是?D

A.不能在类内初始化
B.不能被类的对象调用
C.不能受private修饰符的作用
D.可以直接用类名调用

解析:通常静态数据成员在类声明中声明,在包含类方法的文件中初始化.
初始化时使用作用域操作符来指出静态成员所属的类.
但如果静态成员是整型或是枚举型const,则可以在类声明中初始化!!
如果改成有的静态数据成员是可以直接在类中初始化就对了

4.下列哪个对访问修饰符作用范围由大到小排列是正确的?D
正确答案: D 你的答案: C (错误)
A.private>default>protected>public
B.public>default>protected>private
C.private>protected>default>public
D.public>protected>default>private

解析:在java中的访问修饰符,有4中,分别是 public ,private ,prottected,default,4者的访问的对象不同,public 修饰符,是对所有的类都可以访问,private 所修饰的只能被它当前类访问。default能被同一个包下的类访问。prottected修饰的只能被本包下的类访问。所以他们的作用域的排序为:public>protected>default>private。

5执行完以下代码 int [ ] x = new int[10] ;后,以下哪项说明是正确的( )A
正确答案: A 你的答案: A (正确)
A.x[9]为0
B.x[9]未定义
C.x[10]为0
D.x[0]为空

解析:数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。
int型的默认值为0.

6.关于异常的编程,以下描述错误的是:( )C

A.在有除法存在的代码处,抛不抛出异常均可
B.int i=Integer.parseInt(”123a”);将产生NumberFormatException
C.int a[]=null; a[0]=1; 将产生ArraylndexOutOfBoundsException
D.输入输出流编程中,读和写时都必须抛出IOException

解析 除数为0 等ArithmeticException,是RuntimException的子类。而运行时异常将由运行时系统自动抛出,不需要使用throw语句。Java编译器 允许忽略运行时异常,一个方法可以既不捕捉,也不声明抛出运行时异常。
C.产生NullPointerException。会抛出空指针错误,不是数组越界,因为它没有分配空间NULL;
D,必须抛出,try…catch也是抛出。

7.设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1…n(n+1)/2]中,对上述任一元素aij (1≤i,j≤n,且i≤j)在B中的位置为()
正确答案: B 你的答案: B (正确)
A.i(i-1)/2+j
B.j(j-1)/2+i
C.j(j-1)/2+i-1
D.i(i-1)/2+j-1

解析:思路分析:1.以列为主 2.存储位置是从1开始的 以列为主: (1+j-1) * j / 2 + i = j(j-1)/2+i。

8线性表的顺序存储结构是一种() 的存储结构,线性表的链式存储结构是一种顺序存取 的存储结构。
正确答案: A 你的答案: B (错误)
A.随机存取
B.顺序存取
C.索引存取
D.散列存取

解析:顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。
顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。
它的优点是:
(1)方法简单,各种高级语言中都有数组,容易实现。
(2)不用为表示节点间的逻辑关系而增加额外的存储开销。
(3)顺序表具有按元素序号随机访问的特点。
缺点:
(1)在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺序表效率低。
(2)需要预先分配足够大的存储空间,估计过大,可能会导致顺序表后部大量闲置;预先分配过小,又会造成溢出。
二、在链表中逻辑上相邻的数据元素,物理存储位置不一定相邻,它使用指针实现元素之间的逻辑关系。并且,链表的存储空间是动态分配的。
链表的最大特点是:
插入、删除运算方便。
缺点:
(1)要占用额外的存储空间存储元素之间的关系,存储密度降低。存储密度是指一个节点中数据元素所占的存储单元和整个节点所占的存储单元之比。
(2)链表不是一种随机存储结构,不能随机存取元素。

9以下哪个事件会导致线程销毁?()
正确答案: D 你的答案: D (正确)
A.调用方法sleep()
B.调用方法wait()
C.start()方法的执行结束
D.run()方法的执行结束

解析:. 调用sleep()方法会让线程进入睡眠状态—睡眠指定的时间后再次执行;
B. 调用wait()方法会让线程进入等待状态 ----等待别的线程执行notify()或notifyAll()唤醒后继续执行;
C.调用start()方法会让线程进入就绪状态—得到CPU时间就执行线程;
D.run()方法是线程的具体逻辑方法,执行完,线程就结束。

10下面的描述错误的是
正确答案: C 你的答案: C (正确)
A.栈只能在一端进行入栈和出栈操作
B.队列在一端进行入队操作,另一端进行出队操作
C.栈和队列都是“先进后出”
D.链表的各个元素在内存中的保持位置可以是不连续的

解析:队列 先进先出 。栈 先进后出 队列先进先出(当然还有一种双端队列,相当于结合了栈和队列,这里不考虑这种情况)
链表使用指针连接起来的,不需要在内存中开辟连续的空间对其进行保存。(可以不是连续的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值