2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 小 题 2 分, 共 70 分 ) (1) 下 列 数 据 结 构 中, 属 于 非 线 性 结 构 的 是 A) 循 环 队 列 B) 带 链 队 列 C) 二 叉 树 D) 带 链 栈 (2) 下 列 数 据 结 构 中, 能 够 按 照 先 进 后 出 原 则 存 取 数 据 的 是 A) 循 环 队 列 B) 栈 C) 队 列 D) 二 叉 树 (3) 对 于 循 环 队 列, 下 列 叙 述 中 正 确 的 是 A) 队 头 指 针 是 固 定 不 变 的 B) 队 头 指 针 一 定 大 于 队 尾 指 针 C) 队 头 指 针 一 定 小 于 队 尾 指 针 D) 队 头 指 针 可 以 大 于 队 尾 指 针, 也 可 以 小 于 队 尾 指 针 (4) 算 法 的 空 间 复 杂 度 是 指 A) 算 法 在 执 行 过 程 中 所 需 要 的 计 算 机 存 储 空 间 B) 算 法 所 处 理 的 数 据 量 C) 算 法 程 序 中 的 语 句 或 指 令 条 数 D) 算 法 在 执 行 过 程 中 所 需 要 的 临 时 工 作 单 元 数
(5) 软 件 设 计 中 划 分 模 块 的 一 个 准 则 是 A) 低 内 聚 低 耦 合 B) 高 内 聚 低 耦 合 C) 低 内 聚 高 耦 合 D) 高 内 聚 高 耦 合 (6) 下 列 选 项 中 不 属 于 结 构 化 程 序 设 计 原 则 的 是 A) 可 封 装 D) 自 顶 向 下 C) 模 块 化 D) 逐 步 求 精 (7) 软 件 详 细 设 计 产 生 的 图 如 下 : 该 图 是 A)N-S 图 B)PAD 图 C) 程 序 流 程 图 D)E-R 图 (8) 数 据 库 管 理 系 统 是 A) 操 作 系 统 的 一 部 分 B) 在 操 作 系 统 支 持 下 的 系 统 软 件 C) 一 种 编 译 系 统 D) 一 种 操 作 系 统 (9) 在 E-R 图 中, 用 来 表 示 实 体 联 系 的 图 形 是 A) 椭 圆 图 B) 矩 形 C) 菱 形 D) 三 角 形
(10) 有 三 个 关 系 R,S 和 T 如 下 : 其 中 关 系 T 由 关 系 R 和 S 通 过 某 种 操 作 得 到, 该 操 作 为 A) 选 择 B) 投 影 C) 交 D) 并 (11) 用 于 设 置 组 件 大 小 的 方 法 是 A)paint( ) B)setSize( ) C)getSize( ) D)repaint( ) (12) 点 击 窗 口 内 的 按 钮 时, 产 生 的 事 件 是 A)MouseEvent B)WindowEvent C)ActionEvent D)KeyEvent (13)AWT 中 用 来 表 示 对 话 框 的 类 是 A)Font B)Color C)Panel D)Dialog (14) 下 列 运 算 符 中, 优 先 级 最 高 的 是 A)+= B)= = C)&& D)++
(15) 下 列 运 算 结 果 为 1 的 是 A)8>>1 B)4>>>2 C)8<<1 D)4<<<2 (16) 下 列 语 句 中, 可 以 作 为 无 限 循 环 语 句 的 是 A)for(;;) { B)for(int i=0; i<10000;i++) { C)while(false) { D)do { while(false) (17) 下 列 表 达 式 中, 类 型 可 以 作 为 int 型 的 是 A) abc + efg B) abc + efg C) a + b D)3+ 4 (18) 阅 读 下 列 程 序 Public class Test implements Runnable{ Private int x=0; Private int y=o; boolean flag=true; Public static void main(string[ ] args) { Test r =new Test( ); Thead t1=new Thead(r); Thead t2=new Thead(r); t1.start( ); t2.start( ); Public void run(){ While(flag) { x++; y++; system.out.println( ( +x_, +y+ ) ); if (x>=10)
flag=false; 下 列 对 程 序 运 行 结 果 描 述 的 选 项 中, 正 确 的 是 A) 每 行 的 (x,y) 中, 可 能 有 ; 每 一 对 (x,y) 值 都 出 现 两 次 B) 每 行 的 (x,y) 中, 可 能 有 ; 每 一 对 (x,y) 值 仅 出 现 一 次 C) 每 行 的 (x,y) 中, 可 能 有 x=y; 每 一 对 (x,y) 值 都 出 现 两 次 D) 每 行 的 (x,y) 中, 可 能 有 x=y; 每 一 对 (x,y) 值 都 出 现 一 次 (19) 如 果 线 程 正 处 于 运 行 状 态, 则 它 可 能 到 达 的 下 一 个 状 态 是 A) 只 有 终 止 状 态 B) 只 有 阻 塞 状 态 和 终 止 状 态 C) 可 运 行 状 态, 阻 塞 状 态, 终 止 状 态 D) 其 他 所 有 状 态 (20) 在 下 列 程 序 的 空 白 处, 应 填 入 的 正 确 选 项 是 import java.io.*; Public class writeint{ Public static void main(string[ ] a) { Int[ ] myarray = {10,20,30,40; try{ DataOutputSystem dos= new DataOutputSystem (new FileOutputSystem( ints.dat )); for (int i=0;i<myarray.length;i++) dos writeint(myarray[i]); dos. System.out.println ( Have written binary file ints.dat ); Catch(IOException ioe) { System.out.println( IO Exception ); A)start( ) B)close( )
C)read( ) D)write( ) (21) 在 一 个 线 程 中 调 用 下 列 方 法, 不 会 改 变 该 线 程 运 行 状 态 的 是 A)yield 方 法 B) 另 一 个 线 程 的 join 方 法 C)sleep 方 法 D) 一 个 对 象 的 notify 方 法 是 (22) 在 关 闭 浏 览 器 时 调 用, 能 够 彻 底 终 止 Applet 并 释 放 该 Applet 所 有 资 源 的 方 法 A)stop( ) B)destroy( ) C)paint( ) D)start( ) (23) 为 了 将 HelloApplet( 主 类 名 为 HelloApplet.class) 嵌 入 在 greeting.html 文 件 中, 应 该 在 下 列 greeting.html 文 件 的 横 线 处 填 入 的 代 码 是 <HTML> A)HelloApplet.class B)CODE= HelloApplet.class C)CODE= HelloApplet.class WIDTH=150 HEIGHT=25 D)CODE= HelloApplet.class WIDTH=10 HEIGHT=10 (24) 下 列 变 量 名 的 定 义 中, 符 合 Java 命 名 约 定 的 是 A)fieldname B)super C)Intnum D)$number
(25) 自 定 义 异 常 类 的 父 类 可 以 是 A)Error B)VirtuaMachineError C)Exception D)Thread (26) 阅 读 下 列 程 序 片 段 Public void test(){ Try{ sayhello(); system.out.println( hello ); catch (ArrayIndexOutOfBoundException e) { System.out.println( ArrayIndexOutOfBoundException ); catch(exception e){ System.out.println( Exception ); finally { System.out.println( finally ); 如 果 sayhello( ) 方 法 正 常 运 行, 则 test( ) 方 法 的 运 行 结 果 将 是 A)Hello B)ArrayIndexOutOfBondsException C)Exception Finally D)Hello Finally (27) 为 使 Java 程 序 独 立 于 平 台,Java 虚 拟 机 把 字 节 码 与 各 个 操 作 系 统 及 硬 件 A) 分 开 B) 结 合 C) 联 系 D) 融 合 (28)Java 中 的 基 本 数 据 类 型 int 在 不 同 的 操 作 系 统 平 台 的 字 长 是 A) 不 同 的 B)32 位
C)64 位 D)16 位 (29)String StingBuffer 都 是 类, 都 不 能 被 继 承 A)static B)abstract C)final D)private (30) 下 列 程 序 的 功 能 是 统 计 字 符 串 中 array 的 个 数, 在 程 序 的 空 白 处 应 填 入 的 正 确 选 项 是 public class FindKeyWords{ public static void main(sring[] args){ sting text= An array is a data structur that stores a collection of + values of the same type. You access each individual value + through an integer index. For example,if a is an array + of inergers, then a[i] is the ith integer in the array. ; Int arraycount =0; Int idex = -1; Sting arrarstr = array ; Index = text.indexof(arraystr); While(index 0) { ++arraycount; Index += arraystr.length(); Index = text.indexof(arraystr,index); System.out.println ( the text contains + arraycount + arrays ); A)< B)= C)<= D)>= 能 通 过 new 调 用 (31) 构 造 方 法 名 必 须 与 相 同, 它 没 有 返 回 值, 用 户 不 能 直 接 调 用 它, 只
A) 类 名 B) 对 象 名 C) 包 名 D) 变 量 名 (32) 在 多 线 程 并 发 程 序 设 计 中, 能 够 给 对 象 x 加 锁 的 语 句 是 A)x.wait( ) B)synchronized(x) C)x.notify( ) D)x.synchronized( ) (33)Java 中 类 ObjectOutputStream 支 持 对 象 的 写 操 作, 这 是 一 种 字 节 流, 它 的 直 接 父 类 是 A)Writer B)DataOutput C)OutputStream D)ObjectOutput (34) 在 下 列 程 序 的 空 白 处, 应 填 入 的 正 确 选 项 是 Import java.io.*; Pulilc class ObjectStreamTest{ Publilc static void main(string args[]) throws IOException{ ObjectOutputStream oos= new ObjectOutputStream (new FileOutputStream( serial.bin )); Java.util.Date d= new Java.util.Date(); Oos (d); ObjectInputStream ois= new ObjectInputStream(new FileOutputStream( serial.bin )); try{ java.util.date restoreddate = (Java.util.Date) ois.readobject(); System.out.println ( read object back from serial.bin file: + restoreddate); Catch (ClassNotFoundException cnf) { System.out.println ( class not found );
A)WriterObject B)Writer C)BufferedWriter D)WriterObject (35)Class 类 的 对 象 由 自 动 生 成, 隐 藏 在.class 文 件 中, 它 在 运 行 时 为 用 户 提 供 信 息 A)Java 编 译 器 B)Java 解 释 器 C)Java new 关 键 字 D)Java 类 分 解 器 结 点 二 填 空 题 ( 每 空 2 分, 共 30 分 ) (1) 某 二 叉 树 由 5 个 度 为 2 的 结 点 以 及 3 个 度 为 1 的 结 点, 则 该 二 叉 树 中 共 有 1 个 (2) 程 序 流 程 图 中 的 菱 形 框 表 示 的 是 2 (3) 软 件 开 发 过 程 主 要 分 为 需 求 分 析 设 计 编 码 与 测 试 四 个 阶 段, 其 中 3 阶 段 产 生 软 件 需 求 规 格 说 明 书 (4) 在 数 据 库 技 术 中, 实 体 集 之 间 的 联 系 可 以 是 一 对 一 或 一 对 多 的, 那 么 学 生 和 可 选 课 程 的 联 系 为 4 (5) 人 员 基 本 信 息 一 般 包 括 : 身 份 证 号 姓 名 性 别 年 龄 等 其 中 可 以 做 主 关 键 字 的 是 5 (6) 按 照 Java 的 线 程 模 型, 代 码 和 6 构 成 了 线 程 体 (7) 在 多 线 程 程 序 设 计 中, 如 果 采 用 继 承 Thread 类 的 方 式 创 建 线 程, 则 需 要 重 写 Thread 类 的 7 () 方 法 (8) 在 下 列 Java applet 程 序 的 横 线 处 填 入 代 码, 使 程 序 完 整 并 能 够 正 确 运 行 Import java. awt. *; Import java. applet. *;
Public class Greeting extends applet{ Public void 8 (Graphics g) { g.drawsting( how are you!,10,10); (9) 在 Java 语 言 中, 用 9 修 饰 符 定 义 的 类 为 抽 象 类 (10) 在 Java 中, 字 符 是 以 16 位 的 10 码 表 示 (11) 请 在 下 列 程 序 的 空 白 处, 填 上 适 当 的 内 容 : Import java. awt. *; Import java. util. *; Class BufferTest{ Public static void main(string args[]) Throws IOException{ FileOutputStream unbuf= new FileOutputStream( test.one ) ; BufferedOutputStream buf= new 11 (new FileOutputStream( test.two )); System.out.println ( write file unbuffered: + time(unbuf) + ms ); System.out.println ( write file buffered: + time(buf) + ms ); Static int time (OutputStream os) Throws IOException{ Date then = new Date(); for (int i=0; i<50000; i++){ os.write(1); os.close(); return(int)(()new Date()).getTime() - then.gettime()); (12) 代 码 System.out.println(066) 的 输 出 结 果 是 12
(13)Swing 中 用 来 表 示 工 具 栏 的 类 是 javax.swing. 13 (14) 表 达 式 (10*49.3) 的 类 型 是 14 型 (15) 抛 出 异 常 的 语 句 是 15 语 句 二 级 java 答 案 : 1-5:CBDAB 6-10:ACBCD 11-15:BCDDB 16-20:ACBCB 21-25:BBCAC 26-30:DABCD 31-35:ABCDA 1-15 : 14 逻 辑 条 件 需 求 分 析 多 对 多 身 份 证 号 码 数 据 run paint abstruct Unicode BufferedOutputStream 54 JToolBar double t hrowexception