1、国家二级( JAVA)笔试模拟试卷 87及答案与解析 1 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 3 在一棵二叉树上第 5层的结点数最多是 ( )。 ( A) 8 ( B) 16 ( C) 32 ( D) 15 4 下列叙述中 正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储
2、结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 5 下列描述中正确的是 ( )。 ( A)软件工程只是解决软件项目的管理问题 ( B)软件工程主要解决软件产品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)软件工程只是解决 软件开发中的技术问题 6 在软件设计中,不属于过程设计工具的是 ( )。 ( A) PDL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 7 为了使模块尽可能独立,要求 (
3、 )。 ( A)模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 8 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)软件工具 ( D)数据库 9 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 10 用树形结构表示
4、实体之间联系的模型是 ( )。 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上 3个都是 11 Java语言具有跨平台技术是因为 ( )。 ( A)字节编 译 ( B)内存跟踪 ( C)语法检查 ( D)多线程 12 下列关于 Java程序结构描述不正确的是 ( )。 ( A) Java是区分大小写的 ( B)如果 Java文件包含一个公共类,那么它必须使用与公共类名相同的文件名 ( C) Java程序不一定都必须有 main()方法,比如 Applet就不需要 ( D)源文件可以有多个 public类,其他类的数量也不限 13 下列哪个能正确表示 Java语言的一个 do
5、uble型常量 ? ( ) ( A) Float.MIN VALUE ( B) 1.8e-6F ( C) 2 ( D) abcd 14 下列程序的执行结果是 ( )。 public class Test public static void main(String args) System.out.println(5/2); ( A) 2.5 ( B) 2 ( C) 2.5 ( D) 2 15 下列程序的执行结果是 ( )。 public class Test public static void main(String args) byte y=4; long r=80L; System.o
6、ut.println(r/y); ( A) 20B ( B) 20 ( C) 20 ( D)编译错误 16 下列 for循环语句的执行次数是 ( )。 for(int x=0, y=0; (y!=0) public class exam_3 public static void main (string args ) Frame f=【 】 ; f.setLayout (new GridLayout (3, 2 ) ); f.add (new Button (“1“); f.add (new Button (“2“); f.add (new Button (“3“); f.add (new B
7、utton (“4“); f.add (new Button (“5“); f.add (new Button (“6“); f.setSize (200,300); f.setvisible (true); 48 一个 applet标记中,必须出现的属性项有【 】、 WIDTH、 HEIGHT。 49 请填写完整下面程序中所缺的部分。 class myfirst 【 】 System.out, println(“This is my first Java Application“); 50 程序中的 DrawAny是 个显示图像的 Applet,并且允许用户通过参数指定所要显示的图像,请在画
8、线处填入正确的语句使得程序能够正确运行。 testl5.html: HTML HEAD TITLE A Simple Program /TITLE /HEAD BODY applet code = DrawAny.class width = 100 height = 100 align = bottom para name = image value - “duke.gif“ /applet /BODY /HTML DrawAny.java: import java.awt.*; import java.applet.*; import .URL; public class DrawAny e
9、xtends Applet Image im; public void init() URL url=getDocumentBase(); String imageName=getParameter(“image“); im=【 】; public void Pait(Graphics g) g.drawImage(im, 0, 0, this); 国家二级( JAVA)笔试模拟试卷 87答案与解析 1 【正确答案】 D 【试题解析】 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。所以选项 D正确。 2 【正确答案】 A 【试题解析】 二分查找只适用于顺序存
10、储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列 (即从小到大,但允许相邻元素值相等 )的。选项 A正确。 3 【正确答案】 B 【试题解析】 根据二叉树的性质,在二叉树的第 K层上,最多有 2的 k 1次方个结点。所以,第 5层的结点数最多为 16。 4 【正确答案】 D 【试题解析】 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。由此可见,选项 D的说法正确。 5 【正确答案】 C 【试题解析】 软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。所谓软件工程是指
11、,采用工程的概念、原理、技术和方法指导软 件的开发与维护。软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。由此可见,选项 A、 B和 D的说法均不正确,选项 C正确。 6 【正确答案】 D 【试题解析】 数据流图 DFD,是结构化分析方法最主要的一种图形工具,不属于过程设计工具。 7 【正确答案】 B 【试题解析】 系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度:二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。
12、综上所述,选项 B的答案正确。 8 【正确答案】 B 【试题解析】 数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,因此数据库管理系统是数据库系统的核心。 9 【正确答案】 D 【试题解析】 数据具有两方面的独立性:一是物理独立性。即由于数据的存储结构与逻辑结构之间由系统提供映像,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性。即 由于数据的局部逻辑结构 (它是总体逻辑结构的一个子集,由具体的应用程序所确定,并且根据具体的需要可以作一定的修改 )与总体逻辑结构之间也由系统提供映像,使得当总体
13、逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。综上所述,本题的正确答案是 D。 10 【正确答案】 C 【试题解析】 在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统 (DBMS)也不同。目前常用的数据模型有三种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树形结构来表示的 ,其中实体集 (记录型 )是树中的结点,而树中各结点之间的连线表示它们之间的关系。因此,本题的正确答案是 C。 11 【正确答案】 A 【试题解析】 Java语言解释器采用生成与体系结构无关的字节码指令的技术,只须安装 Java程序就可以在网络的任何
14、地方运行。这样大大减少了软件的维护成本,提高了软件的生产效率。 12 【正确答案】 D 【试题解析】 源文件最多只能有一个 public类,其他类的数量不限。也可以没有 public类。比如在 Applet中就不需要。 13 【正确答案】 C 【 试题解析】 实型常量如果数字后没有任何字母, Java默认的是 double型;float型数据必须在数字后加 f或 F; Float.MIN VALUE属于常值变量,代表 float型数据中的最小值。 14 【正确答案】 D 【试题解析】 如果表达式中有不同的数据类型,则寻找自动转换是优先级最高的一个,其他数值全部转换成这种数据类型,当然表达式的值
15、也是这种数据类型。有可能会选择选项 A,请注意数据类型之间的关系,结果的数据类型必须和表达式中优先级最高的一个一样。在这里,表达式和结果都是 int型。 15 【正确答案】 B 【试题解析】 在定义 long型数的时候,类似 long r=80L,在数字后面加上 L,当然大小写都可以,在计算机要求显示或输出时,是看不到 L的;还需注意,long型占 64bit,远比 byte的优先级高,所以 r/y的结果是 long型的。 16 【正确答案】 B 【试题解析】 在 (y!=0)&(x 4)中,判断 (y!=0)得返回值 false,表达式中又用的是逻辑与运算符,所以整个表达式的值肯定是 fal
16、se,根据 for语句的用法规则,该循环一次也不执行。 17 【正确答案】 D 【试题解析】 利用 for循环语句求 2的 4次幂。一般情况下迭代部分都用 i+或i-,但在这里用的是 i-=2,需要留意。 18 【正确答案】 D 【试题解析】 对象是类的实例化,两者不能等同。 19 【正确答案】 D 【试题解析】 对象的生成包括声明、实例化和初始化 3个方面的内容。一般格式是先定义一个对象变量,再用关键字 new生成一个对象,并为对象中的变量赋初值。选项 A,对象不能声明为简单的数据类型:选项 B,缺少 new关键字;选项C, int应为 A。 20 【正确答案】 C 【试题解析】 a数组元素
17、的下标应为 0-2,注意数组的下标从 0开始。 21 【正确答案】 B 【试题解析】 在捕获一个异常之前,必须先有异常抛出,才能生成一个异常对象,这就是用抛出异常来实现的。抛出异常、生成异常对象都通过 throw语句实现,如 IOException e=new IOException; throw e;利用 throw语句还可以自定义异常类抛出。 22 【正确答案】 A 【试题解析】 选项 B, getNextEntry()用于取压缩输入项;选项 C, bufferRead()根 本就没有这个方法;选项 D, loadZipFile()将压缩文件加载到文本区中。 23 【正确答案】 C 【试题
18、解析】 在一个线程中调用 suspend(),将使线程暂停执行,要想恢复线程,必须由其他线程调用 resume()恢复该线程的执行。不提倡这两种方法,容易产生死锁。 24 【正确答案】 A 【试题解析】 容器 java.awt.Container是 Component的子类,一个容器可以容纳多个构件,并使它们成为一个整体。有 3种类型的容器: Window、 Pannel、ScrollPene。 25 【正确答案】 C 【试题解析】 由于大多数监听器接口都包含了我们可能不需要的方法。使用适配器类作为父类,可避免为实现接口而必须实现一些空方法的麻烦。 26 【正确答案】 C 【试题解析】 一般情
19、况下, Applet中的 paint()方法有一个参数 8是 Graphics类的实例。而且 update()方法也会用到 Graphics类的实例。 Graphics类中提供的绘图方法有两种:一是绘制图形;二是绘制文本。 27 【正确答案】 B 【试题解析】 在 Java 2中支持数字 签名技术,使得 Java的安全控制可以针对外界的具体用户进行,从而提高了访问控制的力度。外界用户首先对 Java代码进行数字签名,运行该代码的本机 Java运行系统,可以通过对代码数字签名的验证,决定是否授予该代码相应的权限。对 Java代码进行数字签名时,用的就是题目中的 4个步骤。 28 【正确答案】 A
20、 【试题解析】 所有的字节输出流都从 OutpntStream类继承,字节输出流要实现DataOutput接口。 29 【正确答案】 B 【试题解析】 在访问数据库时,为建立实际的网络连接, 把 URL、数据库用户名和密码传给 DriverManager的方法是 getConnection()。 30 【正确答案】 D 【试题解析】 接口中所有的方法都是 abstract属性的,即在父类中不定义方法体,而在子类中进行覆盖父类的方法。接口中的变量都必须是 static final属性。 31 【正确答案】 D 【试题解析】 构造方法完全可以被重载。构造方法可以重载以实现不同的方法体,调用时按参数
21、列表决定调用哪个方法。 32 【正确答案】 D 【试题解析】 Applet是 Component类的子类,继承了 Component类的构件绘制、显示的方法,具有一般 AWT构件的图形绘制功能。这些方法是: paint()、update()和 repaint()。 33 【正确答案】 B 【试题解析】 在 init()方法完成后,将调用 start()方法,使 Applet成为激活状态。该方法在 Applet每次显示时都要调用。 34 【正确答案】 A 【试题解析】 子类可以继承父类的 public和 protected成员。非私有成员包括public和 protected成员。 35 【正确
22、答案】 D 【试题解析】 本题考查 java.lang.Object的结构图。 JButton按钮是一个常用构件, JButton的类的层次关系如下所示: java.lang.Objact | +-java.awt.Component | +-java.awt.Container | +-Java.swing.JComponent | +-javax.swing.AbstraetButton | +-javax.swing.JButton 从图中可以看出, JBuRon的直接父类是 javax.swing AbstractButton,因此选项D正确。 36 【正确答案】 封装性 【试题解析】
23、 封装性是指从外面只能看到对象的外部特性,即只须知道数据的取值范围和可以对该数据施加的操作,根本无须知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实现和内部状态,对外是不可见的。因此,可以 看出信息隐蔽是通过对象的封装性实现的。 37 【正确答案】 根节点 【试题解析】 在树结构中,每个节点只有一个前件,称为父节点,没有前件的节点只有一个,称为树的根节点。 38 【正确答案】 结构化分析方法 【试题解析】 本题是基础题,考核需求分析方法。常见的需求分析方法有结构化分析方法和面向对象的分析方法。 39 【正确答案】 关系 【试题解析】 关系数据模型把数据库表示为关系的一个集合。通
24、俗地说,每个关系都类似一张表,或者在某种程度上类似一个平面记录文件。 40 【正确答 案】 数据流图 【试题解析】 简单地说,需求分析就是分析用户的要求。需要经过收集资料 (信息需求,处理需求,安全性和完整性要求 ) 分析整理 数据流图 数据字典 用户确认 5个步骤。 41 【正确答案】 TCP/IP 【试题解析】 Java语言的一个重要特性就是支持分布式计算,在基于互联网的分布式环境中编写程序,就要求程序设计语言有强大的网络功能,因此必须支持TCP/IP协议。由于 Java语言的基本单位是类,而类是对具有相同属性的对象的一种抽象,因此在网络中 Java程序访问的应该是对象。 42 【正确答案
25、】 appletviewer 【试题解析】 本题考查小应用程序 Applet的两种方式。一种是利用 JDK提供的小应用程序浏览器 appletviewer命令,另一种是利用支持 Applet方式的浏览器。 43 【正确答案】 私有的 【试题解析】 私有数据必须通过调用该类的方法进行访问,而不能直接访问,这样保证了数据的一致性,同时保证了对象锁机制的执行。 44 【正确答案】 yield() 【试题解析】 运行状态是线程占有 CPU并实际运行的状态,如果当前线程执行了 yield或 者当前线程因调度策略 (执行过程中,有一个更高优先级的线程进入可运行状态,这个线程立即被调度之行,当前线程占有的
26、CPU被抢占;或在分时方式时,当前执行线程执行完当前时间片 ),就会导致当前线程进入可运行状态。 45 【正确答案】 同步处理 【试题解析】 过滤流保证某时刻只有一个线程访问一个 I/O流,使用过滤流需要先将过滤流连接到某个 I/O流上,然后再通过构造方法的参数指定链接的 I/O流。 46 【正确答案】 CardLayout 【试题解析】 本题是考查布局管理器的基本用法。 CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间。它把容器分成许多层,每层的显示空间占据整个容器,但是每层只允许放置一个组件,当然每层都可以利用 Panel来实现复杂的用户界面。牌布局管理器
27、(CardLayout)就像一副叠得整整齐齐的扑克牌一样,但是你只能看见最上面的一张牌,每一张牌就相当于牌布局管理器中的每一层。 47 【正确答案】 new Frame(“GridLayout“) 【试题解析】 本题是考查 public GridLayout(int rows, int cols)的用法。GridLayout的后面带了两个参数分别表示行和列,它们的取值可以有一个为 0,注意不可以同时取 0。 public GridLayout(int rows,int cols,int hgap,int vgap)是GridLayout的另外一种方法,它可以带上 4个整型参数,前两个已经很熟悉
28、了, 行数与列数。后面则是两个新的参数。第 1个是 hgap,其中 gap的意思是间隙、空隙的意思,而 h则是 horizontal(水平 )的首字母。也就是说,可以通过 hgap参数设置横向的间隙。第 2个是 vgap, v则是 vertical(垂直 )的首字母。也就是说,可以通过 vgap参数设置纵向的间隙。 48 【正确答案】 CODE 【试题解析】 一个 applet标记中,必须出现的属性有 3项,它们是 CODE、WIDTH、 HEIGHT。 49 【正确答案】 public static void main(String args) 【试题解析】 public是一个表示访问权限的
29、关键字,表示此成员函数是公有的,可以被其他类直接调用,包括 Java解释器。相对应的关键字有 private、 protected和 friend。 private表示只能被本类防问, protected表示只能被子类访问, friend是默认的访问权限,表示能被本包 (package)中任意类访问,刁;能被其他包中的类访问。 static表示 main成员函数在 myfirst类的所有对象中是唯一的,因此如果本程序生成另一个 myfirst类对象,调用的 main函数将是同一个函数。 void表示main函数没有返回值,如果有返回类型值,则可加上 int或 boolean等,对于有返回值的函数,其函数实体的最后应加上 return语句。 main函数是运行应用程序的入 口点,因此编写应用程序必须有 main()函数,且是唯一的。 50 【正确答案】 getImage(url,imageName) 【试题解析】 程序中的 DrawAny是一个显示图像的 Applet,并且允许用户通过参数指定所要显示的图像。具体是在 testl5.html中,定义了 applet标记,将 DrawAny显示的图像文件作为参数定义,并指定显示 duke.gif。在 DrawAny类的定义中, init()方法调用 getParameter()方法获取了要显示的图像文件名,并下载到浏览器中显示。