1、二级 JAVA 笔试-350 及答案解析(总分:85.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.下列关于 System 类的叙述中,错误的是( )。ASystem 类是一个 final 类BSystem 类不能实例化CSystem 类中没有定义属性DSystem 类主要提供了系统环境参数的访问(分数:2.00)A.B.C.D.2.定义 String s=null,会出现异常的选项是( )。:if(s!=null)A系统没有为该线程对象分配资源 B只能启动或者终止C创建了一个空的线程对象 D可以调用其他方法(分数:2.00)A.B.C.D.8.在 E-R 图中,
2、用来表示实体联系的图形是A) 椭圆形 B) 矩形 C) 菱形 D) 三角形(分数:2.00)A.B.C.D.9.在 switch(expression)语句中,expression 的数据类型不能是( )。Adouble BcharCbyte Dshort(分数:2.00)A.B.C.D.10.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。A) 插入排序 B) 选择排序C) 快速排序 D) 堆排序(分数:2.00)A.B.C.D.11.已定义以下函数:fun(char*p2,char*p1)while(*p2=*p1)!=/0)p1+;p2+;函数的功能是( )。A将 p1
3、所指字符串复制到 p2 所指内存空间B将 p1 所指字符串的地址赋给指针 p2C对 p1 和 p2 两个指针所指字符串进行比较D检查 p1 和 p2 两个指针所指字符串中是否有/0(分数:2.00)A.B.C.D.12.在 Java 中,所有类的根类是( )。Ajava.lang.Object Bjava.lang.ClassCjava.applet.Applet Djava.awt.Frame(分数:2.00)A.B.C.D.13.有以下程序:#include stdio.hmain()char b,c; int i;b=a; c=A;for (i=0; i6; i+)if(i%2) put
4、char(i+b);else putchar(i+c);printf(“/n“);程序运行后输出的结果是( )。AABCDEF BAbCdEfCaBcDeF Dabcdef(分数:2.00)A.B.C.D.14.已知:inta=new int100;在下列给出的数组元素中,非法的是( )。Aa0 Ba1Ca99 Da100(分数:2.00)A.B.C.D.15.下列代码中if(x0)System.out.println(“first“);elseif(x-3)System.out.println(“second“);elseSystem.Out.println(“third“);要求打印字符串
5、为“second”时,x 的取值范围是( )。Ax-0 并且 x-3 Bx0Cx-3 Dx=-3(分数:2.00)A.B.C.D.16.下列构造方法的调用方式中,正确的是( )。A按照一般方法调用 B由用户直接调用C只能通过 new 自动调用 D被系统调用(分数:2.00)A.B.C.D.17.下面程序段的输出结果是public class Testpublic static void main(String args)int n=5,sum=0;while(n0)sum+=n;-n;System.out.println(“sum is“+sum);A) sum is 14 B) sum is
6、 15C) sum is 10 D) sum is 5(分数:1.00)A.B.C.D.18.有以下程序:#include stdio.h#define N 8void fun(int *x, int i)*x=*(x+i);main()(int aN=1,2,3,4,5,6,7,8),i;fun(a,2);for(i=0; iN/2; 1+)printf(“%d“,ai);printf(“/n“);程序运行后输出的结果是( )。A1313 B2234C3234 D1234(分数:2.00)A.B.C.D.19.在 Java 中,所有类的根类是A)javalangObjectB)javalan
7、gClassC)javalangStringD)javalangSystem(分数:1.00)A.B.C.D.20.给出下列代码,则数组初始化中哪项是不正确的? ( )byte array1,array2 ;byte array3 ;byte array4;Aarray2=array1 Barray2=array3Carray2=array4 Darray3=array4(分数:1.00)A.B.C.D.21.Java 中类 ObjectOutputStream 支持对象的写操作,这是一种字节流,它的直接父类是( )。AWriter BDataOutputCOutputStream DOtpe
8、ctOutput(分数:2.00)A.B.C.D.22.在软件设计中,不属于过程设计工具的是( )。APDL(过程设计语言) BPAD 图CN-S 图 DDFD 图(分数:2.00)A.B.C.D.23.设 x=1,y=2,z=3,则表达式 y+=z-/+x 的值是( )。A) 3 B) 3.5C) 4 D) 5(分数:2.00)A.B.C.D.24.设有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.B.C.D.25.下面描述中错误的是( )。A系统总体结构图支持软件系统的详细设计B软件设计是将软件需求转换为软件表示的过程C数据结构与数据库设计是软件设计的任务之一DPAD
9、 图是软件详细设计的表示工具(分数:2.00)A.B.C.D.26.下列哪个可以用来实现客户和服务者之间的通信? ( )AURL BUDPCJDBC DSocket(分数:1.00)A.B.C.D.27.有两个关系 R 和 T 如下:(分数:2.00)A.B.C.D.28.抛出异常时,应该使用下列( )子句。A) throw B) catch C) finally D) throws(分数:2.00)A.B.C.D.29.在深度为 5 的满二叉树中,叶子结点的个数为( )。A32 B31C16 D15(分数:2.00)A.B.C.D.30.在 Java 语言中有多种实现的机制,下列( )属于垃
10、圾回收机制。A字节编译B内存跟踪C语法检查D堆栈上/下溢检查(分数:1.00)A.B.C.D.31.下面哪些语句在编译时不会出现错误或警告? ( )A) float f=1.3; B) byte b=257;C) boolean b=null; D) int i=10;(分数:1.00)A.B.C.D.32.下列关于 Applet 的方法中,哪个是返回 HTML 中设定的值( )?A) getCodeBase() B) getParameter(String) C) getApplnfo() D) showStatus(String)(分数:2.00)A.B.C.D.33.下列标准对话框 JO
11、ptionPane 类创建的对话框中,综合了其他 3 个对话框类型特点的是( )。A) ConfirmDialog B) InputDialogC) OptionDialog D) MessageDialog(分数:1.00)A.B.C.D.34.下面哪个语句会产生编译错误? ( )A) float F=4096.0F; B) double D=4096.0;C) byte B=4096; D) char C=4096;(分数:1.00)A.B.C.D.35.最常用的一种基本数据模型是关系数据模型,它的表示应采用( )。A树 B网络C图 D二维表(分数:2.00)A.B.C.D.二、填空题(总
12、题数:15,分数:26.00)36.数据流图有两种典型的结构形式,它们分别是变换型和 1。(分数:2.00)填空项 1:_37.利用继承能够实现 1。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。(分数:1.00)填空项 1:_38.当使用 Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread 的值是 1。(分数:2.00)填空项 1:_39.执行下面的程序段,输出结果为_。public class Qpublic Static Void main(String args)int anar=new int5;S
13、ystem.out.println(anar0);(分数:2.00)填空项 1:_40.Swing 的顶层容器有:JApplet,JWindow,JDialog 和 1。(分数:2.00)填空项 1:_41.要使处于不同层次,甚至是互不相关的类可以具有相同的行为,应该采用 1。(分数:2.00)填空项 1:_42.下列程序可完成求 1 至 100 之间的整数的和的功能。请在划线处编写适当语句,使此程序能正确执行。public class Sumpublic static void main(string args)int sum=0;for(int i1;i100;i+)_;System.ou
14、t.println(“sum“+sum);(分数:1.00)填空项 1:_43.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现 Serializable 接口。下列代码中必须实现 Serializable 接口的类是_。ObjectInput in=new ObjectInputStream(new FilelnputStream(“employee.dat“);EmployeenewStaff=(Employee1in.readobject();(分数:2.00)填空项 1:_44.在关系 A(S,SN,D)和关系 B(D,CN,NM)中,A 的主关键字是 S,B 的主关键字是
15、 D,则称 1 是关系 A的外码。(分数:1.00)填空项 1:_45.Java 中线程模型由虚拟的 CPU、代码和数据构成。该模型是由 java.lang. 1 类进行定义和描述的。(分数:2.00)填空项 1:_46.在 java.io 包中有某个类同时实现了 Datalnput 接口和 DataOutput 接口,这个类是 1。(分数:2.00)填空项 1:_47.对二进制数进行算术右移的运算符是 1。(分数:2.00)填空项 1:_48.在面向对象的程序设计中,类描述的是具有相似性质的一组 1。(分数:2.00)填空项 1:_49.以下程序中给指针 p 分配三个 double 型动态内
16、存单元,请填空。# include stdio.hmain()double *p;p=(double*)malloc(_);p0=1.5;p1=2.5;p2=3.5;printf(“%f%f%f/n“,p0p1,p2);(分数:2.00)填空项 1:_50.在深度为 5 的完全二叉树中,度为 2 的结点数最多为 1。(分数:1.00)填空项 1:_二级 JAVA 笔试-350 答案解析(总分:85.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.下列关于 System 类的叙述中,错误的是( )。ASystem 类是一个 final 类BSystem 类不能实例化C
17、System 类中没有定义属性DSystem 类主要提供了系统环境参数的访问(分数:2.00)A.B.C. D.解析:解析 本题考查 System 类的基本知识。System 类是一个 final 类,所有的方法都用类变量来调用,妈对 Systel类不可能实例化。System 类主要用来提供标推输入/输出和系统环境信息的访问设置。而 System 类的属性有:(mblicstaticfinal lnputStrem in;标准输入,publicstaticfinalOutputSaem out;标准输出,publicstaticfinalPrintStremerr;标准错误输出。2.定义 St
18、ring s=null,会出现异常的选项是( )。:if(s!=null)A系统没有为该线程对象分配资源 B只能启动或者终止C创建了一个空的线程对象 D可以调用其他方法(分数:2.00)A.B.C.D. 解析:解析 本题考查线程的创建。通过 new 命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项 C 说法正确。此时,系统并没有为该线程对象分配资源,选项 A 说法正确。处于这种状态的线程,只能启动或者终止,选项 B 说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项 D 说法错误。8.在 E-R 图中,用来表示实
19、体联系的图形是A) 椭圆形 B) 矩形 C) 菱形 D) 三角形(分数:2.00)A.B.C. D.解析:解析 E-R 图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中字段),用菱形表示实体间的联系(等同于外键)。9.在 switch(expression)语句中,expression 的数据类型不能是( )。Adouble BcharCbyte Dshort(分数:2.00)A. B.C.D.解析:10.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。A) 插入排序 B) 选择排序C) 快速排序 D) 堆排序(分数:2.00)A. B.C.D.解析:解析 插
20、入排序通过数据元素的交换来逐步消除线性表中的逆序,所以关键字比较的次数与记录的初始排列次序有关,在待排序的元素序列基本有序的前提下,效率最高。而选择排序和堆排序的关键字比较的次数与记录的初始排列次序无关。快速排序虽然与记录的初始排列次序有关,但在待排序的元素序列基本有序的前提下,效率低于插入排序。11.已定义以下函数:fun(char*p2,char*p1)while(*p2=*p1)!=/0)p1+;p2+;函数的功能是( )。A将 p1 所指字符串复制到 p2 所指内存空间B将 p1 所指字符串的地址赋给指针 p2C对 p1 和 p2 两个指针所指字符串进行比较D检查 p1 和 p2 两个
21、指针所指字符串中是否有/0(分数:2.00)A. B.C.D.解析:12.在 Java 中,所有类的根类是( )。Ajava.lang.Object Bjava.lang.ClassCjava.applet.Applet Djava.awt.Frame(分数:2.00)A. B.C.D.解析:13.有以下程序:#include stdio.hmain()char b,c; int i;b=a; c=A;for (i=0; i6; i+)if(i%2) putchar(i+b);else putchar(i+c);printf(“/n“);程序运行后输出的结果是( )。AABCDEF BAbCd
22、EfCaBcDeF Dabcdef(分数:2.00)A.B. C.D.解析:14.已知:inta=new int100;在下列给出的数组元素中,非法的是( )。Aa0 Ba1Ca99 Da100(分数:2.00)A.B.C.D. 解析:15.下列代码中if(x0)System.out.println(“first“);elseif(x-3)System.out.println(“second“);elseSystem.Out.println(“third“);要求打印字符串为“second”时,x 的取值范围是( )。Ax-0 并且 x-3 Bx0Cx-3 Dx=-3(分数:2.00)A. B
23、.C.D.解析:解析 本题考查 Java 中的条件结构。条件语句根据判定条件的真假来决定执行哪一种操作。题目所给程序,如果 x0,则直接执行其后的 System.out.println(“first“)语句,而不执行 elseif 等语句,当 x=0 而且 x-3 时执行 System.out.println(“second“)语句,所以选项 A 正确。当 x 为其他值时执行 else 语句。应该对 Java 的流程控制涉及的语句有所掌握,这些都是考试重点内容。16.下列构造方法的调用方式中,正确的是( )。A按照一般方法调用 B由用户直接调用C只能通过 new 自动调用 D被系统调用(分数:
24、2.00)A.B.C. D.解析:17.下面程序段的输出结果是public class Testpublic static void main(String args)int n=5,sum=0;while(n0)sum+=n;-n;System.out.println(“sum is“+sum);A) sum is 14 B) sum is 15C) sum is 10 D) sum is 5(分数:1.00)A.B. C.D.解析:解析 本题考查 while 语句的用法。while 循环,又称为“当型”循环,题目程序是从 5-1 逐渐累加并输出结果,考生需要注意不要增加或减少循环次数。还要
25、注意对自减运算符的理解。-n 表示对操作数先减 1,然后再取值,而 n-表示先取值,然后再对 n 进行减 1。所以最后结果是 5+4+3+2+1=15。18.有以下程序:#include stdio.h#define N 8void fun(int *x, int i)*x=*(x+i);main()(int aN=1,2,3,4,5,6,7,8),i;fun(a,2);for(i=0; iN/2; 1+)printf(“%d“,ai);printf(“/n“);程序运行后输出的结果是( )。A1313 B2234C3234 D1234(分数:2.00)A.B.C. D.解析:19.在 Jav
26、a 中,所有类的根类是A)javalangObjectB)javalangClassC)javalangStringD)javalangSystem(分数:1.00)A. B.C.D.解析:解析 本题考查考生对 Java 类的掌握。在 Java 中 javalang 包封装着所有编程应用的基本类。Object 是所有类的根,它所包含的属性和方法被所有类集成。Class 类是由编译器自动生成对象的一个特殊类,它伴随每个类。String 是字符串常量的类。 System 类是一个 final 类,所有的方法都用类变量来调用,即对 System 类不可能实例化,主要提供了标准输入/输出和系统环境信息
27、的访问、设置。20.给出下列代码,则数组初始化中哪项是不正确的? ( )byte array1,array2 ;byte array3 ;byte array4;Aarray2=array1 Barray2=array3Carray2=array4 Darray3=array4(分数:1.00)A. B.C.D.解析:21.Java 中类 ObjectOutputStream 支持对象的写操作,这是一种字节流,它的直接父类是( )。AWriter BDataOutputCOutputStream DOtpectOutput(分数:2.00)A.B.C. D.解析:解析 ObjectOutput
28、Stream 的直接父类是 IutputStream。22.在软件设计中,不属于过程设计工具的是( )。APDL(过程设计语言) BPAD 图CN-S 图 DDFD 图(分数:2.00)A.B.C.D. 解析:23.设 x=1,y=2,z=3,则表达式 y+=z-/+x 的值是( )。A) 3 B) 3.5C) 4 D) 5(分数:2.00)A.B. C.D.解析:解析 本题考查对运算符优先级的掌握。赋值运算总是等号右边的运算先于等号左边的运算。叩+(op-)表示先取操作数的值,然后再对它进行加 1(减 1)操作;而 +p(-p)表示先将操作数的值加1(减 1),然后再取其值。本题的表达式相当
29、于 y=2+3/(1+1),结果为 3.5。24.设有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.B. C.D.解析:解析 中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。25.下面描述中错误的是( )。A系统总体结构图支持软件系统的详细设计B软件设计是将软件需求转换为软件表示的过程C数据结构与数据库设计是软件设计的任务之一DPAD 图是软件详细设计的表示工具(分数:2.00)A. B.C.D.解析:解析 软件系统的总体结构图是软件架构设计
30、的依据,它并不能支持软件的详细设计。26.下列哪个可以用来实现客户和服务者之间的通信? ( )AURL BUDPCJDBC DSocket(分数:1.00)A.B.C.D. 解析:27.有两个关系 R 和 T 如下:(分数:2.00)A.B.C.D. 解析:解析 选择是建立一个含有与原始关系相同列数的新表,但是行只包括那些满足某些特定标准的原始关系行。28.抛出异常时,应该使用下列( )子句。A) throw B) catch C) finally D) throws(分数:2.00)A. B.C.D.解析:解析 在捕获一个异常之前,必须先有异常抛出,才能生成一个异常对象,这就要用抛出异常来实
31、现。抛出异常、生成异常都是通过 throw 语句实现。选项 D throws 为声明异常,Java 方法遇到自己不能解决的情况,就会声明异常。所以选 A。29.在深度为 5 的满二叉树中,叶子结点的个数为( )。A32 B31C16 D15(分数:2.00)A.B.C. D.解析:解析 根据满二叉树的定义,一棵深度为 k 且有 2k-1 个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,根据满二叉树的性质,在满二叉树的第 i 层上至多有 2i-1 个结点。因此深度为 7 的满二叉树的叶子结点数为 25-1=16 个。30.在 Java 语言中有多种实现的机制,下列( )属于垃圾回
32、收机制。A字节编译B内存跟踪C语法检查D堆栈上/下溢检查(分数:1.00)A.B. C.D.解析:31.下面哪些语句在编译时不会出现错误或警告? ( )A) float f=1.3; B) byte b=257;C) boolean b=null; D) int i=10;(分数:1.00)A.B.C.D. 解析:解析 该题考查对基本数据类型定义和初始化的理解。基本数据类型在定义时都可以对其赋初值。选项 A 是错误的,与 C 语言不同,在 Java 语言中,对于实型数值,默认的类型是 double 型的,若要把它赋给 float 变量,必须对它进行类型转换,赋初值的话,必须在实型数后面加上 f
33、 或 F 字母。给浮点型变量定义并且赋初值;选项 B 是错误的,因为 byte 是 8 个字符的,它所表示的范围是-128127,而右边的 257 已经超出其所能表示的范围了;选项 C 是错误的,对于布尔型变量,它的值只有 true 与 false 两种,系统默认的是 false。没有 null 这种取值;选项 D 是正确的,对整型变量定义并且赋初值。故本题答案是 D。32.下列关于 Applet 的方法中,哪个是返回 HTML 中设定的值( )?A) getCodeBase() B) getParameter(String) C) getApplnfo() D) showStatus(Str
34、ing)(分数:2.00)A.B. C.D.解析:解析 getCodeBase()方法返回class 所在的网址 URL, getParameter(String)方法返回 HTML 中设定的值,getApplnfo()方法返回作者、版本、版权信息,showStatus(String)方法在浏览器的状态栏输出信息。33.下列标准对话框 JOptionPane 类创建的对话框中,综合了其他 3 个对话框类型特点的是( )。A) ConfirmDialog B) InputDialogC) OptionDialog D) MessageDialog(分数:1.00)A.B.C. D.解析:解析 本
35、题考查关于 Swing 中对话框的基本知识。选项 A 错误,ConfirmDialog 确认对话框产生供用户选择“是”、“否”的对话框;选项 B 错误,InputDialog 输入对话框提出问题,并接收用户输入的对话框;选项 C 正确,选项对话框 OptionDialog 综合了 ConfirmDialog、 InputDialog、MessageDialog3 种对话框类型的特点;选项 D 错误,MessageDialog 消息对话框显示一条信息。故本题答案是 C。34.下面哪个语句会产生编译错误? ( )A) float F=4096.0F; B) double D=4096.0;C) b
36、yte B=4096; D) char C=4096;(分数:1.00)A.B.C. D.解析:解析 该题考查对基本数据类型的定义以及基本数据类型的取值范围的掌握。选项 A 正确,Java语言默认的实型数的形式是 double 类型的,要把它赋给 float 类型的变量,必须在实型数后面加上 f 或F 字母;选项 B 是正确的;选项 C 是错误的,4069 已经超出了 byte 类型的所能容许的范围-128127;选项 D 是正确的,因为在 Java 语言里,字符是用双字节表示的,4096 在它允许的范围之内。故本题答案是 C。35.最常用的一种基本数据模型是关系数据模型,它的表示应采用( )
37、。A树 B网络C图 D二维表(分数:2.00)A.B.C.D. 解析:解析 关系数据模型是属于数据库的一种最重要的数据模型,在关系数据模型中,实体及实体间的联系都用二维表来表示。二、填空题(总题数:15,分数:26.00)36.数据流图有两种典型的结构形式,它们分别是变换型和 1。(分数:2.00)填空项 1:_ (正确答案:事务型)解析:解析 数据流图中有众多的加工,但必有一个加工是起核心作用的,这样的加工称为中心加工。由数据流图导出结构图的关键是找出中心加工。一般来说,中心加工有两种存在形态,即数据流图有两种典型的结构形式:一种是变换型,另一种是事务型。37.利用继承能够实现 1。这种实现
38、缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。(分数:1.00)填空项 1:_ (正确答案:软件复用)解析:38.当使用 Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread 的值是 1。(分数:2.00)填空项 1:_ (正确答案:false)解析:39.执行下面的程序段,输出结果为_。public class Qpublic Static Void main(String args)int anar=new int5;System.out.println(anar0);(分数:2.00)填空项 1:_ (正确答案:
39、0)解析:解析 本题考查 Java 中数组的定义和初始化。在该方法里定义并动态初始化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个元素全部为零。所以输出数组中的第一个元素 anar0时,自然也是等于零。40.Swing 的顶层容器有:JApplet,JWindow,JDialog 和 1。(分数:2.00)填空项 1:_ (正确答案:JFrame)解析:解析 本题考查 Swing 顶层容器的概念。从功能上分,Swing 构件分为:顶层容器,包含JFrame,JApplet, JDialog 和 JWindow 共 4 个:中间容器,JPanel、JScrollPane
40、、JSplitPane、JToolBar;特殊容器,在 GUI 上起特殊作用的中间层:基本空间,实现人际交互的构件;向用户显示不可编辑信息的构件,向用户显示可编辑信息的格式化信息的构件。41.要使处于不同层次,甚至是互不相关的类可以具有相同的行为,应该采用 1。(分数:2.00)填空项 1:_ (正确答案:接口)解析:解析 接口是一种只含有抽象方法或常量的特殊的抽象类,主要功能是:不管类的层次,可实现互不相关的类具有相同的行为;通过接口可以说明多个类所需实现的方法;通过接口可以了解对象的交互界面,无须了解对象所对应的类。通过接口,可以为不存在任何关系的两个或多个类提供相同的行为方式。42.下列
41、程序可完成求 1 至 100 之间的整数的和的功能。请在划线处编写适当语句,使此程序能正确执行。public class Sumpublic static void main(string args)int sum=0;for(int i1;i100;i+)_;System.out.println(“sum“+sum);(分数:1.00)填空项 1:_ (正确答案:sum +=i(或 sam=sum+i))解析:解析 这是一个递加的算法,所以使用 sum +=i(或 sum=sum+i)。43.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现 Serializable 接口。下列代
42、码中必须实现 Serializable 接口的类是_。ObjectInput in=new ObjectInputStream(new FilelnputStream(“employee.dat“);EmployeenewStaff=(Employee1in.readobject();(分数:2.00)填空项 1:_ (正确答案:Employee)解析:解析 一个对象能够实现序列化的前提是实现 Serializable 接口,Serializable 接口没有方法,更像是一个标记,有了这个标记的 Class 才能被序列化机制处理。44.在关系 A(S,SN,D)和关系 B(D,CN,NM)中,
43、A 的主关键字是 S,B 的主关键字是 D,则称 1 是关系 A的外码。(分数:1.00)填空项 1:_ (正确答案:D)解析:45.Java 中线程模型由虚拟的 CPU、代码和数据构成。该模型是由 java.lang. 1 类进行定义和描述的。(分数:2.00)填空项 1:_ (正确答案:Thread)解析:解析 线程模型在 Java 中是由 java.lang.Thread 类进行定义和描述的。程序中的线程都是Thread 的实例。46.在 java.io 包中有某个类同时实现了 Datalnput 接口和 DataOutput 接口,这个类是 1。(分数:2.00)填空项 1:_ (正确
44、答案:RandomAccessFile)解析:解析 文件操作中经常需要的是随机访问,Java 中的随机文件流 RandomAccessFile 类提供了随机访问文件的功能,它继承了 Object 类,并同时实现了 Datalnput 和 DataOutput 两个接口。因此,本题的正确答案是 RandomAccessFile。47.对二进制数进行算术右移的运算符是 1。(分数:2.00)填空项 1:_ (正确答案:)解析:解析 Java 中符号“”为算术右移运算符,有符号。右边超出截掉,左边补上符号位;运算符“”为逻辑右移运算符,无符号,左边高位补 0。算术右移,顾名思义,右移时须要带符号,而
45、逻辑右移直接在高位补 0 即可。48.在面向对象的程序设计中,类描述的是具有相似性质的一组 1。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。49.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。# include stdio.hmain()double *p;p=(double*)malloc(_);p0=1.5;p1=2.5;p2=3.5;printf(“%f%f%f/n“,p0p1,p2);(分数:2.00)填空项 1:_ (正确答案:3*sizeof(double)或 size(double)*3 或 24 或 3*8 或 8*3)解析:50.在深度为 5 的完全二叉树中,度为 2 的结点数最多为 1。(分数:1.00)填空项 1:_ (正确答案:15)解析: