全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2005 年 上 半 年 程 序 员 上 午 试 卷 ( 考 试 时 间 9 : 00~11 : 30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 卡 1. 在 答 题 卡 的 指 定 位 置 上 正 确 写 入 你 的 姓 名 和 准 考 证 号, 并 用 正 规 2B 铅 笔 在 你 写 入 的 准 考 证 号 下 填 涂 准 考 证 号 2. 本 试 卷 的 试 题 中 共 有 75 个 空 格, 需 要 全 部 解 答, 每 个 空 格 1 分, 满 分 75 分 3. 每 个 空 格 对 应 一 个 序 号, 有 A B C D 四 个 选 项, 请 选 择 一 个 最 恰 当 的 选 项 作 为 解 答, 在 答 题 卡 相 应 序 号 下 填 涂 该 选 项 4. 解 答 前 务 必 阅 读 例 题 和 答 题 卡 上 的 例 题 填 涂 样 式 及 填 涂 注 意 事 项 解 答 时 用 正 规 2B 铅 笔 正 确 填 涂 选 项, 如 需 修 改, 请 用 橡 皮 擦 干 净, 否 则 会 导 致 不 能 正 确 评 分 例 题 2005 年 上 半 年 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 日 期 是 (88) 月 (89) 日 (88)A. 4 B. 5 C. 6 D. 7 (89)A. 27 B. 28 C. 29 D. 30 因 为 考 试 日 期 是 5 月 29 日, 故 (88) 选 B,(89) 选 C, 应 在 答 题 卡 序 号 88 下 对 B 填 涂, 在 序 号 89 下 对 C 填 涂 ( 参 看 答 题 卡 ) 2005 年 上 半 年 程 序 员 上 午 试 卷 第 1 页 ( 共 8 页 )
使 用 常 用 文 字 编 辑 工 具 编 辑 正 文 时, 为 改 变 该 文 档 的 文 件 名, 常 选 用 (1) 命 令 ; 在 打 印 预 览 方 式 下, 单 击 (2) 按 钮 可 返 回 编 辑 文 件 ; 将 正 文 中 所 有 Computer 改 写 为 计 算 机, 常 选 用 (3) 命 令 (1)A. 文 件 另 存 为 B. 文 件 保 存 C. 插 入 对 象 D. 工 具 选 项 (2)A. 打 印 预 览 B. 放 大 镜 C. 关 闭 D. 全 屏 显 示 (3)A. 编 辑 查 找 B. 编 辑 替 换 C. 编 辑 定 位 D. 文 件 搜 索 使 用 Windows 操 作 系 统, 在 我 的 电 脑 中 选 择 某 磁 盘 中 的 文 件, 再 选 择 查 看 菜 单 中 的 (4), 可 查 看 该 文 件 建 立 ( 或 最 近 修 改 ) 的 时 间 和 文 件 大 小 (4)A. 大 图 标 B. 排 列 图 标 C. 列 表 D. 详 细 信 息 在 Windows 操 作 系 统 中, 选 择 一 个 文 件 图 标, 执 行 剪 切 命 令 后, 剪 切 的 文 件 放 在 (5) 中 ; 选 定 某 个 文 件 夹 后, (6), 可 删 除 该 文 件 夹 (5)A. 回 收 站 B. 硬 盘 C. 剪 贴 板 D. 软 盘 (6)A. 在 键 盘 上 单 击 退 格 键 B. 右 击 打 开 快 捷 菜 单, 再 选 择 删 除 命 令 C. 在 编 辑 菜 单 中 选 用 剪 切 命 令 D. 将 该 文 件 属 性 改 为 隐 藏 在 (7) 表 示 中, 数 值 0 是 唯 一 表 示 的 (7)A. 原 码 B. 反 码 C. 补 码 D. 原 码 或 反 码 若 用 8 位 机 器 码 表 示 十 进 制 数 -101, 则 原 码 表 示 的 形 式 为 (8) ; 补 码 表 示 的 形 式 为 (9) (8)A.11100101 B. 10011011 C. 11010101 D. 11100111 (9)A.11100101 B. 10011011 C. 11010101 D. 11100111 某 逻 辑 电 路 有 两 个 输 入 端 分 别 为 X 和 Y, 其 输 出 端 为 Z 当 且 仅 当 两 个 输 入 端 X 和 Y 同 时 为 0 时, 输 出 Z 才 为 0, 则 该 电 路 输 出 Z 的 逻 辑 表 达 式 为 (10) (10)A. X Y B. X Y C. X Y D. X+Y 某 计 算 机 内 存 按 字 节 编 址, 内 存 地 址 区 域 从 44000H 到 6BFFFH, 共 有 (11) K 字 节 若 采 用 16K 4bit 的 SRAM 芯 片, 构 成 该 内 存 区 域 共 需 (12) 片 (11)A.128 B.160 C.180 D.220 (12)A.5 B.10 C.20 D.32 2005 年 上 半 年 程 序 员 上 午 试 卷 第 2 页 ( 共 8 页 )
CPU 执 行 程 序 时, 为 了 从 内 存 中 读 取 指 令, 需 要 先 将 ( 13) 的 内 容 输 送 到 ( 14) 上 (13)A. 指 令 寄 存 器 B. 程 序 计 数 器 (PC) C. 标 志 寄 存 器 D. 变 址 寄 存 器 (14)A. 数 据 总 线 B. 地 址 总 线 C. 控 制 总 线 D. 通 信 总 线 (15) 技 术 是 在 主 存 中 同 时 存 放 若 干 个 程 序, 并 使 这 些 程 序 交 替 执 行, 以 提 高 系 统 资 源 的 利 用 率 (15)A. 多 道 程 序 设 计 B. Spooling C. 缓 冲 D. 虚 拟 设 备 在 下 列 存 储 管 理 方 案 中, (16) 是 解 决 内 存 碎 片 问 题 的 有 效 方 法 虚 拟 存 储 器 主 要 由 (17) 组 成 (16)A. 单 一 连 续 分 配 B. 固 定 分 区 C. 可 变 分 区 D. 可 重 定 位 分 区 (17)A. 寄 存 器 和 软 盘 B. 软 盘 和 硬 盘 C. 磁 盘 区 域 与 主 存 D. CDROM 和 主 存 某 系 统 中 有 一 个 缓 冲 区, 进 程 P1 不 断 地 生 产 产 品 送 入 缓 冲 区, 进 程 P2 不 断 地 从 缓 冲 区 中 取 产 品 消 费 假 设 该 缓 存 区 只 能 容 纳 一 个 产 品 进 程 P1 与 P2 的 同 步 模 型 如 下 图 所 示 : P1 P2 生 产 一 个 产 品 P(S1) 产 品 送 缓 冲 区 V(S2) P(S2) 从 缓 冲 区 取 一 个 产 品 V(S1) 消 费 为 此, 应 设 信 号 量 S1 的 初 值 为 (18), 信 号 量 S2 的 初 值 为 (19) (18)A. -2 B. -1 C. 0 D. 1 (19)A. -2 B. -1 C. 0 D. 1 数 据 库 管 理 技 术 是 在 (20) 的 基 础 上 发 展 起 来 的 数 据 模 型 的 三 要 素 是 数 据 结 构 数 据 操 作 和 (21) 建 立 数 据 库 系 统 的 主 要 目 标 是 减 少 数 据 的 冗 余, 提 高 数 据 的 独 立 性, 并 集 中 检 查 (22) (20)A. 文 件 系 统 B. 编 译 系 统 C. 应 用 程 序 系 统 D. 数 据 库 管 理 系 统 (21)A. 数 据 安 全 B. 数 据 兼 容 C. 数 据 约 束 条 件 D. 数 据 维 护 (22)A. 数 据 操 作 性 B. 数 据 兼 容 性 C. 数 据 完 整 性 D. 数 据 可 维 护 性 在 关 系 代 数 运 算 中, (23) 运 算 结 果 的 关 系 模 式 与 原 关 系 模 式 相 同 (23)A. 并 B. 笛 卡 儿 积 C. 投 影 D. 自 然 连 接 2005 年 上 半 年 程 序 员 上 午 试 卷 第 3 页 ( 共 8 页 )
学 生 关 系 模 式 为 S(Sno,Sname,SD,Sage), 其 中 :Sno 表 示 学 生 学 号,Sname 表 示 学 生 姓 名,SD 表 示 学 生 所 在 系,Sage 表 示 学 生 年 龄 试 将 下 面 的 SQL 语 句 空 缺 部 分 补 充 完 整, 使 其 可 以 查 询 计 算 机 系 学 生 的 学 号 姓 名 和 年 龄 SELECT Sno,Sname,Sage FROM S WHERE (24) ; (24)A. SD= 计 算 机 B. SD=' 计 算 机 ' C. 'SD'= 计 算 机 D. 'SD= 计 算 机 ' GB/T 14394-93 计 算 机 软 件 可 靠 性 和 可 维 护 性 管 理 是 (25) (25)A. 推 荐 性 国 家 标 准 B. 强 制 性 国 家 标 准 C. 指 导 性 技 术 文 件 D. 行 业 推 荐 性 标 准 我 国 知 识 产 权 具 有 法 定 的 保 护 期 限, 但 (26) 受 法 律 保 护 的 期 限 是 不 确 定 的 (26)A. 发 明 专 利 权 B. 商 标 权 C. 商 业 秘 密 D. 作 品 发 表 权 甲 程 序 员 为 乙 软 件 设 计 师 开 发 的 应 用 程 序 编 写 了 使 用 说 明 书, 并 已 交 付 用 户 使 用, (27) 该 应 用 软 件 的 软 件 著 作 权 (27)A. 甲 程 序 员 享 有 B. 乙 软 件 设 计 师 享 有 C. 甲 程 序 员 不 享 有 D. 甲 程 序 员 和 乙 软 件 设 计 师 共 同 享 有 (28) 不 能 减 少 用 户 计 算 机 被 攻 击 的 可 能 性 (28)A. 选 用 比 较 长 和 复 杂 的 用 户 登 录 口 令 B. 使 用 防 病 毒 软 件 C. 尽 量 避 免 开 放 过 多 的 网 络 服 务 D. 定 期 扫 描 系 统 硬 盘 碎 片 (29) 不 是 通 信 协 议 的 基 本 元 素 (29)A. 格 式 B. 语 法 C. 传 输 介 质 D. 计 时 使 用 FTP 协 议 进 行 文 件 下 载 时, (30) (30)A. 包 括 用 户 名 和 口 令 在 内, 所 有 传 输 的 数 据 都 不 会 被 自 动 加 密 B. 包 括 用 户 名 和 口 令 在 内, 所 有 传 输 的 数 据 都 会 被 自 动 加 密 C. 用 户 名 和 口 令 是 加 密 传 输 的, 而 其 它 数 据 则 以 明 文 方 式 传 输 D. 用 户 名 和 口 令 是 不 加 密 传 输 的, 其 它 数 据 是 加 密 传 输 的 在 面 向 对 象 方 法 中, 对 象 是 类 的 实 例 表 示 对 象 相 关 特 征 的 数 据 称 为 对 象 的 (31), 在 该 数 据 上 执 行 的 功 能 操 作 称 为 对 象 的 (32) ; 一 个 对 象 通 过 发 送 (33) 来 请 求 另 一 个 对 象 为 其 服 务 通 常 把 一 个 类 和 这 个 类 的 所 有 对 象 称 为 2005 年 上 半 年 程 序 员 上 午 试 卷 第 4 页 ( 共 8 页 )
类 及 对 象 或 对 象 类 在 UML 中, 用 来 表 示 显 示 构 成 系 统 的 对 象 类 以 及 这 些 对 象 类 之 间 关 系 的 图 是 (34) (31)A. 数 据 变 量 B. 数 据 结 构 C. 属 性 D. 定 义 (32)A. 行 为 B. 调 用 C. 实 现 D. 函 数 (33)A. 调 用 语 句 B. 消 息 C. 命 令 D. 函 数 (34)A. 用 例 图 B. 构 件 图 C. 类 图 D. 对 象 图 数 据 结 构 主 要 研 究 数 据 的 (35) (35)A. 逻 辑 结 构 B. 存 储 结 构 C. 逻 辑 结 构 和 存 储 结 构 D. 逻 辑 结 构 和 存 储 结 构 及 其 运 算 的 实 现 PUSH 和 POP 命 令 常 用 于 (36) 操 作 (36)A. 队 列 B. 数 组 C. 栈 D. 记 录 具 有 n(n>0) 个 顶 点 的 无 向 图 最 多 含 有 (37) 条 边 (37)A. n ( n 1) B. n( n +1) 2 C. n(n 1) 2 D. n( n +1) 如 果 根 的 层 次 为 1, 具 有 61 个 结 点 的 完 全 二 叉 树 的 高 度 为 (38) (38)A. 5 B. 6 C. 7 D. 8 从 未 排 序 的 序 列 中 依 次 取 出 一 个 元 素 与 已 排 序 序 列 中 的 元 素 进 行 比 较, 然 后 将 其 放 在 已 排 序 序 列 的 合 适 位 置 上, 该 排 序 方 法 称 为 (39) (39)A. 插 入 排 序 B. 选 择 排 序 C. 希 尔 排 序 D. 归 并 排 序 数 组 是 一 种 数 据 结 构, 对 数 组 通 常 进 行 的 两 种 基 本 操 作 是 (40) (40)A. 插 入 和 删 除 B. 插 入 和 赋 值 C. 查 找 和 修 改 D. 查 找 和 删 除 (41) 程 序 可 以 找 出 C 语 言 源 程 序 中 的 语 法 错 误 (41)A. 汇 编 B. 预 处 理 C. 编 辑 D. C 语 言 编 译 为 某 个 应 用 而 用 不 同 高 级 语 言 编 写 的 程 序 模 块 经 分 别 编 译 产 生 (42), 再 经 过 (43) 处 理 后 形 成 可 执 行 程 序 (42)A. 汇 编 程 序 B. 子 程 序 C. 动 态 程 序 D. 目 标 程 序 (43)A. 汇 编 程 序 B. 目 标 程 序 C. 连 接 程 序 D. 模 块 化 SQL 是 一 种 (44) 程 序 设 计 语 言 (44)A. 过 程 式 B. 非 过 程 式 C. 面 向 对 象 D. 逻 辑 程 序 设 计 2005 年 上 半 年 程 序 员 上 午 试 卷 第 5 页 ( 共 8 页 )
(45) 不 是 C 语 言 的 关 键 字 (45)A. do B. else C. fopen D. static 设 数 组 a[1..10,5..15] 的 元 素 以 行 为 主 序 存 放, 每 个 元 素 占 用 4 个 存 储 单 元, 则 数 组 元 素 a[i,j](1 i 10, 5 j 15) 的 地 址 计 算 公 式 为 (46) (46)A. a-204+2i+j B. a-204+40i+4j C. a-84+i+j D. a-64+44i+4j 已 知 函 数 f1() f2() 的 定 义 如 下 图 所 示, 如 果 调 用 函 数 f1 时 传 递 给 形 参 x 的 值 是 2, 若 a 和 y 以 引 用 调 用 (call by reference) 的 方 式 传 递 信 息, 则 函 数 f1 的 返 回 值 为 (47) ; 若 a 和 y 以 值 调 用 (call by value) 的 方 式 传 递 信 息, 则 函 数 f1 的 返 回 值 为 (48) f1(int x) f2(int y) int a=x+1; f2(a); y=2*y+1; return; return a*x; (47)A. 6 B. 10 C. 14 D. 随 机 数 (48)A. 4 B. 6 C. 10 D. 12 以 下 关 于 编 程 风 格 的 叙 述 中, 不 应 提 倡 的 是 (49) (49)A. 使 用 括 号 以 改 善 表 达 式 的 清 晰 性 B. 用 计 数 方 法 而 不 是 文 件 结 束 符 来 判 断 文 件 的 结 束 C. 一 般 情 况 下, 不 要 直 接 进 行 浮 点 数 的 相 等 比 较 D. 使 用 有 清 晰 含 义 的 标 识 符 一 般 地, 可 以 将 软 件 开 发 的 生 命 周 期 划 分 为 软 件 项 目 计 划 (50) 软 件 设 计 编 码 测 试 和 运 行 / 维 护 6 个 阶 段 (50)A. 可 行 性 分 析 B. 初 始 调 查 C. 需 求 分 析 与 定 义 D. 问 题 分 析 软 件 的 (51) 是 指 软 件 从 一 种 计 算 机 系 统 转 换 到 另 一 种 计 算 机 系 统 运 行 的 难 易 程 度 在 规 定 的 条 件 下 和 规 定 的 时 间 间 隔 内, 软 件 实 现 其 规 定 功 能 的 概 率 称 为 (52) (51)A. 兼 容 性 B. 可 移 植 性 C. 可 转 换 性 D. 可 扩 展 性 (52)A. 可 扩 展 性 B. 可 接 近 性 C. 可 靠 性 D. 稳 定 性 (53) 使 用 文 字 图 形 图 像 动 画 和 声 音 等 多 种 媒 体 来 表 示 内 容, 并 且 使 用 超 级 链 接 来 组 织 这 些 媒 体 (53)A. 多 媒 体 压 缩 技 术 B. 多 媒 体 存 储 技 术 C. 超 文 本 技 术 D. 超 媒 体 技 术 以 下 文 件 格 式 中, (54) 不 是 声 音 文 件 (54)A. Wave 文 件 (.WAV) B. MPEG 文 件 (.MP3) C. TIFF 文 件 (.TIF) D. MIDI 文 件 (.MID) 2005 年 上 半 年 程 序 员 上 午 试 卷 第 6 页 ( 共 8 页 )
以 下 关 于 程 序 测 试 的 叙 述, 正 确 的 是 (55) (55)A. 程 序 测 试 的 目 的 是 为 了 证 明 程 序 的 正 确 性 B. 白 盒 测 试 也 称 为 功 能 测 试 C. 黑 盒 测 试 也 称 为 结 构 测 试 D. 程 序 测 试 要 注 意 检 验 程 序 是 否 有 多 余 的 功 能 对 两 个 内 存 单 元 执 行 (56) 逻 辑 操 作, 可 实 现 全 同 比 较 功 能 (56)A. OR( 或 ) B. AND( 与 ) C. EOR( 异 或 ) D. 与 非 8 个 二 进 制 位 至 多 可 表 示 (57) 个 数 据 (57)A. 8 B. 64 C. 255 D. 256 (58) 操 作 一 般 不 会 感 染 计 算 机 病 毒 (58)A. 打 开 电 子 邮 件 的 附 件 B. 从 网 站 下 载 软 件 C. 通 过 软 盘 传 送 计 算 机 上 的 文 件 D. 启 动 磁 盘 整 理 工 具 CPU 中, 保 存 当 前 正 在 执 行 的 指 令 的 寄 存 器 是 (59) 表 征 指 令 执 行 结 果 的 寄 存 器 是 (60) (59)A. 程 序 计 数 器 B. 标 志 寄 存 器 (PSW) C. 堆 栈 指 示 器 D. 指 令 寄 存 器 (60)A. 程 序 计 数 器 B. 标 志 寄 存 器 (PSW) C. 堆 栈 指 示 器 D. 指 令 寄 存 器 1000BaseLX 使 用 的 传 输 介 质 是 (61) (61)A. UTP B. STP C. 同 轴 电 缆 D. 光 纤 在 星 型 局 域 网 结 构 中, 连 接 文 件 服 务 器 与 工 作 站 的 设 备 是 (62) (62)A. 网 卡 B. 集 线 器 C. 收 发 器 D. 网 关 浏 览 器 与 WWW 服 务 器 之 间 传 输 信 息 时 使 用 的 协 议 是 (63) (63)A. HTTP B. HTML C. FTP D. SNMP MAC 地 址 通 常 固 化 在 计 算 机 的 (64) 上 (64)A. 内 存 B. 网 卡 C. 硬 盘 D. 高 速 缓 冲 区 在 局 域 网 模 型 中, 数 据 链 路 层 分 为 (65) (65)A. 逻 辑 链 路 控 制 子 层 和 网 络 子 层 B. 逻 辑 链 路 控 制 子 层 和 媒 体 访 问 控 制 子 层 C. 网 络 接 口 访 问 控 制 子 层 和 媒 体 访 问 控 制 子 层 D. 逻 辑 链 路 控 制 子 层 和 网 络 接 口 访 问 控 制 子 层 2005 年 上 半 年 程 序 员 上 午 试 卷 第 7 页 ( 共 8 页 )
A (66) computer is a personal computer whose hardware is capable of using any or all of the following media in a program: audio, text, graphics, video and animation. (66)A. database B. multimedia C. network D. mainframes The (67) controls the cursor or pointer on the screen and allows the user to access commands by pointing and clicking. (67)A. graphics B. printer C. program D. mouse A (68) copies a photograph, drawing or page of text into the computer. (68)A. scanner B. printer C. display D. keyboard (69) is permanently stored in the computer and provides a link between the hardware and other programs that run on the PC. (69)A. Interface B. Operating system C. Internet D. Application software (70) is not a linear structure. (70)A. Graph B. Queue C. Stack D. 1-dimension array (71) is the sending and receiving of the messages by computer. It is a fast, low-cost way of communicating worldwide. (71)A. LAN B. Post office C. E-Mail D. Interface The (72) is a collection of computers connected together by phone lines that allows for the global sharing of information. (72)A. interface B. Internet C. LAN D. WWW (73) are web sites that search the web for occurrences of a specified word or phrase. (73)A. Search engines B. WWW C. Internet D. Java Files can be lost or destroyed accidentally. Keep (74) copies of all data on removable storage media. (74)A. backup B. back C. black D. backdown In (75) programming, the user determines the sequence of instructions to be executed, not the programmer. (75) A. top-down B. structure C. data-driven D. event-driven 2005 年 上 半 年 程 序 员 上 午 试 卷 第 8 页 ( 共 8 页 )
全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2005 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答 题 纸 的 指 定 位 置 填 写 准 考 证 号 出 生 年 月 日 和 姓 名 3. 答 题 纸 上 除 填 写 上 述 内 容 外 只 能 写 解 答 4. 本 试 卷 共 8 道 题, 试 题 一 至 试 题 三 是 必 答 题, 试 题 四 至 试 题 五 选 答 1 道, 试 题 六 至 试 题 八 选 答 1 道 每 题 15 分, 满 分 75 分 试 题 号 一 ~ 三 四 ~ 五 六 ~ 八 选 择 方 法 必 答 题 选 答 1 题 选 答 1 题 5. 解 答 时 字 迹 务 必 清 楚, 字 迹 不 清 时, 将 不 评 分 6. 仿 照 下 面 例 题, 将 解 答 写 在 答 题 纸 的 对 应 栏 内 例 题 2005 年 上 半 年 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 日 期 是 (1) 月 (2) 日 因 为 正 确 的 解 答 是 5 月 29 日, 故 在 答 题 纸 的 对 应 栏 内 写 上 5 和 29 ( 参 看 下 表 ) 例 题 解 答 栏 (1) 5 (2) 29 2005 年 上 半 年 程 序 员 下 午 试 卷 第 1 页 ( 共 9 页 )
试 题 一 至 试 题 三 是 必 答 题 试 题 一 (15 分, 每 空 3 分 ) 阅 读 以 下 说 明 和 流 程 图, 回 答 问 题 1 至 问 题 2, 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明 ] 设 8 位 二 进 制 代 码 B 0 B 1...B 7 中 的 最 高 位 B 0 为 奇 偶 校 验 位 对 于 任 何 给 定 的 代 码 B 1 B 2...B 7, 可 按 下 式 计 算 偶 校 验 位 : B 0 = B 1 B 2... B 7 其 中, 表 示 异 或 运 算 下 面 的 流 程 图 描 述 了 计 算 偶 校 验 位 的 过 程 [ 流 程 图 ] 开 始 B 0 (1) 循 环 开 始 i : (2) ) (4) B 0 (3) 循 环 结 束 输 出 B 0 结 束 注 : 流 程 图 中, 循 环 开 始 的 说 明 按 照 循 环 变 量 名 : 循 环 初 值, 循 环 终 值, 增 量 格 式 描 述 [ 问 题 1] 将 流 程 图 中 的 (1)~(4) 处 补 充 完 整 [ 问 题 2] 若 按 下 式 计 算 奇 校 验 位, 则 上 述 流 程 图 中 的 (1) 处 应 填 (5) B 0 = B 1 B 2... B 7 1 2005 年 上 半 年 程 序 员 下 午 试 卷 第 2 页 ( 共 9 页 )
试 题 二 (15 分, 每 空 3 分 ) 阅 读 以 下 函 数 说 明 和 C 语 言 函 数, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 [ 函 数 2.1 说 明 ] 函 数 int fun1(int m,int n) 的 功 能 是 : 计 算 并 返 回 正 整 数 m 和 n 的 最 大 公 约 数 [ 函 数 2.1] int fun1(int m,int n) { while( (1) ) { if ( m > n ) m = m - n; else n = n - m; (2) ; [ 函 数 2.2 说 明 ] 函 数 long fun2(char *str) 的 功 能 是 : 自 左 至 右 顺 序 取 出 非 空 字 符 串 str 中 的 数 字 字 符 形 成 一 个 十 进 制 整 数 ( 最 多 8 位 ) 例 如, 若 字 符 串 str 的 值 为 f3g8d5.ji2e3p12fkp, 则 函 数 返 回 值 为 3852312 [ 函 数 2.2] long fun2(char *str) { int i = 0; long k = 0; char *p = str; while ( *p!= '\0' && (3) ) { if ( *p >= '0' && *p <= '9' ) { k = (4) + *p '0'; ++i; (5) ; return k; 2005 年 上 半 年 程 序 员 下 午 试 卷 第 3 页 ( 共 9 页 )
试 题 三 (15 分, 每 空 3 分 ) [ 说 明 ] 阅 读 以 下 说 明 和 C 语 言 函 数, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 一 棵 非 空 二 叉 树 中 最 左 下 结 点 定 义 为 : 若 树 根 的 左 子 树 为 空, 则 树 根 为 最 左 下 结 点 ; 否 则, 从 树 根 的 左 子 树 根 出 发, 沿 结 点 的 左 孩 子 分 支 向 下 查 找, 直 到 某 个 结 点 不 存 在 左 孩 子 时 为 止, 该 结 点 即 为 此 二 叉 树 的 最 左 下 结 点 例 如, 下 图 所 示 的 以 A 为 根 的 二 叉 树 的 最 左 下 结 点 为 D, 以 C 为 根 的 子 二 叉 树 中 的 最 左 下 结 点 为 C 二 叉 树 的 结 点 类 型 定 义 如 下 : typedef struct BSTNode{ A int data; B C struct BSTNode *lch,*rch; // 结 点 的 左 右 孩 子 指 针 *BSTree; D F G 函 数 BSTree Find_Del(BSTree root) 的 功 能 是 : 若 root 指 向 一 棵 二 叉 树 的 根 结 点, 则 找 出 该 结 点 的 右 子 树 上 的 最 左 下 结 点 *p, 并 从 树 中 删 除 以 *p 为 根 的 子 树, 函 数 返 回 被 删 除 子 树 的 根 结 点 指 针 ; 若 该 树 根 的 右 子 树 上 不 存 在 最 左 下 结 点, 则 返 回 空 指 针 [ 函 数 ] BSTree Find_Del(BSTree root) { BSTree p,pre; if (!root ) return NULL; /* root 指 向 的 二 叉 树 为 空 树 */ (1) ; /* 令 p 指 向 根 结 点 的 右 子 树 */ if (!p ) return NULL; (2) ; /* 设 置 pre 的 初 值 */ while( p->lch ){ /* 查 找 最 左 下 结 点 */ pre = p; p = (3) ; if ( (4) == root ) /* root 的 右 子 树 根 为 最 左 下 结 点 */ pre->rch = NULL; else (5) = NULL; /* 删 除 以 最 左 下 结 点 为 根 的 子 树 */ return p; 2005 年 上 半 年 程 序 员 下 午 试 卷 第 4 页 ( 共 9 页 )
试 题 四 (15 分, 每 空 3 分 ) [ 说 明 ] 阅 读 以 下 说 明 和 C 语 言 函 数, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 假 设 一 个 剧 场 有 N*N 个 座 位, 顾 客 买 票 时 可 以 提 出 任 意 有 效 的 座 号 请 求 下 面 用 二 维 数 组 a[n][n] 模 拟 剧 场 中 的 座 位,a[i][j] 等 于 0 表 示 第 i 排 第 j 列 (0 i,j N-1) 的 票 尚 未 售 出 函 数 int Find(int a[][n],int R,int *row,int *col) 的 功 能 是 : 在 部 分 票 已 售 出 的 情 况 下, 找 出 剧 场 中 的 R*R 个 空 座 位, 要 求 这 些 座 位 的 排 列 形 成 一 个 正 方 形 若 找 到 满 足 要 求 的 一 个 座 位 排 列, 则 函 数 返 回 1, 并 算 出 该 正 方 形 左 上 角 的 行 列 号 ; 若 未 找 到, 返 回 0 例 如, 一 个 7 7 个 座 位 的 剧 场 如 下 图 (a) 所 示, 已 售 出 部 分 座 位 的 剧 场 如 下 图 (b) 所 示, 图 中 阴 影 部 分 表 示 已 售 出 的 座 位, 从 图 (b) 中 找 出 的 3 3 正 方 形 空 座 位 如 图 (c) 中 斜 线 区 所 示 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 (a) 剧 场 (b) 已 售 出 部 分 座 位 的 剧 场 (c) 找 出 3 3 个 空 座 位 [ 函 数 ] int Find(int a[][n],int R,int *row,int *col) { int i,j,k,c,t; int FOUND = 0; for(i=0;!found && i <N - R + 1;i++) { /* 从 第 0 排 开 始 查 找 */ (1) ; while (j < N-R+1 &&!FOUND) { for(k = 0; (2) && a[i][j+k]==0; k++);/* 查 找 第 i 排 连 续 的 R 个 空 座 位 */ if (k >= R) { /* 找 到 第 i 排 连 续 的 R 个 空 座 位 */ for(c = 0; c < R; c++) { /* 查 找 其 余 的 R*(R-1) 个 座 位 */ for(t = 1; t < R; t++) if (a[ (3) ][j+c]!=0) break; if ( t < R ) break; /* for */ if ( (4) ) FOUND = 1; /* if */ (5) ; /* while */ /* for i */ if (FOUND) { *row = i - 1; *col = j - 1; /* 计 算 正 方 形 区 域 的 左 上 角 坐 标 */ return 1; return 0; 2005 年 上 半 年 程 序 员 下 午 试 卷 第 5 页 ( 共 9 页 ) 0 1 2 3 4 5 6 0 1 2 3 4 5 6
试 题 五 (15 分, 每 空 3 分 ) 阅 读 以 下 说 明 及 Visual Basic 程 序 代 码, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 [ 说 明 ] 甲 乙 两 地 之 间 的 铁 路 线 上 有 二 十 多 个 火 车 站, 为 方 便 乘 客 查 询 票 价, 特 开 发 了 火 车 票 价 查 询 程 序, 其 运 行 窗 口 如 下 图 所 示 乘 客 只 要 通 过 两 个 下 拉 列 表 框 分 别 选 择 起 点 与 终 点 站 名, 再 单 击 查 询 按 钮, 则 票 价 文 本 框 中 就 会 显 示 相 应 的 票 价 在 开 发 过 程 中, 设 选 择 起 点 和 终 点 站 名 的 组 合 框 (ComboBox) 名 分 别 为 ST 和 SP, 显 示 票 价 的 文 本 框 (TextBox) 名 为 Price, 查 询 按 钮 (CommandButton) 名 为 Query; 设 ST 与 SP 中 的 诸 列 表 项 完 全 相 同, 且 都 是 从 甲 地 开 始 依 次 排 列, 从 第 i 站 到 第 j 站 的 票 价 存 放 在 二 维 对 称 矩 阵 P 的 元 素 P(i,j) 中 假 设 从 甲 地 到 第 i 站 行 驶 的 距 离 存 放 在 d(i) 中, 火 车 票 价 等 于 其 行 驶 距 离 乘 以 C( 常 数 ) [Visual Basic 代 码 ] Dim p(30, 30) As Single ' 通 用 声 明 Const C=0.2 Private Sub Form_Load() Dim d(30) As Single (1) = " 甲 地 " ' 在 ST 组 合 框 中 设 置 首 个 列 表 项 ' 在 ST 和 SP 中 设 置 其 他 列 表 项 ( 若 干 行 语 句 ) ' 对 数 组 d(i) 赋 值 ( 若 干 行 语 句 ) For i=0 to ST. (2) -1 ' 对 ST 中 各 列 表 项 循 环 For j=0 to SP. (2) -1 ' 对 SP 中 各 列 表 项 循 环 ( 这 两 处 填 写 内 容 相 同 ) P(i,j)= (3) Next j Next i End Sub Private Sub query_click() i = (4) ' 组 合 框 ST 中 选 择 的 当 前 项 编 号 j = ' 组 合 框 SP 中 选 择 的 当 前 项 编 号 ( 语 句 略 ) (5) =str$(p(i,j)) End Sub 2005 年 上 半 年 程 序 员 下 午 试 卷 第 6 页 ( 共 9 页 )
试 题 六 (15 分, 每 空 3 分 ) 阅 读 以 下 说 明 Java 代 码 和 HTML 文 档, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 [ 说 明 ] 当 用 户 启 动 html 浏 览 器 并 首 次 打 开 下 面 的 html 文 档 时,Java Applet 小 程 序 在 显 示 面 板 上 显 示 字 符 串 Welcome! ; 当 html 页 面 被 其 它 窗 口 遮 挡 后 再 次 显 示 时, 小 程 序 在 显 示 面 板 上 显 示 Welcome back! [Java 代 码 ] import java.awt.*; import java.applet.*; public class HelloApplet extends (1) { public void paint( (2) ){ g.drawstring(message,10,20); message = "welcome back! "; public void (3) (){ message = "Welcome! "; private (4) message; [HTML 文 档 ] <html> <head> <title> HTML Test HelloApplet Page</title> </head> <body> Test HelloApplet 小 程 序 <br> <applet codebase = "." code = " (5) " name = "TestApplet" width = "400" height = "300" > </applet> </body> </html> 2005 年 上 半 年 程 序 员 下 午 试 卷 第 7 页 ( 共 9 页 )
试 题 七 (15 分, 每 空 3 分 ) 阅 读 以 下 说 明 及 Visual Basic 程 序 代 码, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 [ 说 明 ] 某 个 文 本 文 件 中 存 放 了 若 干 个 非 零 数 值 有 效 数 据, 每 个 数 据 占 一 行, 最 后 一 行 以 数 字 0 作 为 结 束 标 志 下 面 的 程 序 用 于 计 算 该 文 件 中 这 些 数 据 之 和, 其 运 行 窗 口 如 下 : 用 户 只 要 通 过 驱 动 器 列 表 框 目 录 列 表 框 和 文 件 列 表 框, 选 择 文 本 文 件 所 在 的 驱 动 器 文 件 夹 及 相 应 的 文 件 名, 再 单 击 累 计 按 钮, 就 能 在 总 计 文 本 框 中 看 到 该 文 本 文 件 中 的 数 据 之 和 在 开 发 过 程 中, 设 驱 动 器 列 表 框 名 为 Drive1, 目 录 列 表 框 名 为 Dir1, 文 件 列 表 框 名 为 File1, 存 放 数 据 的 文 本 文 件 名 为 D:\test\vb7\data.txt, 累 计 按 钮 名 为 sum, 总 计 文 本 框 (TextBox) 名 为 text1 [Visual Basic 代 码 ] Private Sub Drive1_Change() Dir1.Path = (1) ' 用 户 选 择 的 驱 动 器 反 映 到 目 录 列 表 框 中 End Sub Private Sub Dir1_Change() File1.Path = (2) ' 用 户 选 择 的 文 件 夹 改 变 文 件 列 表 框 内 容 End Sub Private Sub sum_click() Dim (3) As New FileSystemObject, (4) As TextStream ' 创 建 自 己 的 文 件 系 统 对 象, 说 明 自 己 的 文 本 流 对 象 If Right(Dir1.Path, 1) = "\" Then Set mytextfile = fso.opentextfile(dir1.path + File1.FileName) Else Set mytextfile = fso.opentextfile(dir1.path + "\" + File1.FileName) End If S = 0 Do d = Val(myTextFile.ReadRow) S = S + d Loop While (5) Text1.Text = Str$(S) End Sub 2005 年 上 半 年 程 序 员 下 午 试 卷 第 8 页 ( 共 9 页 )
试 题 八 (15 分, 每 空 3 分 ) 阅 读 以 下 说 明 和 C++ 程 序, 将 应 填 入 (n) 处 的 字 句 写 在 答 题 纸 的 对 应 栏 内 [ 说 明 ] 下 面 程 序 的 功 能 是 计 算 并 输 出 某 年 某 月 的 天 数 [C++ 程 序 ] #include <iostream> using namespace std; (1) Month{Jan, Feb, Mar, Apr,May,Jun, Jul, Aug, Sep,Oct,Nov,Dec; class Date{ public: Date(int year, Month m_month){ (2) = year; if(m_month < Jan m_month > Dec) month = Jan; else month = m_month; ; ~Date(){; bool IsLeapYear(){ return ((year % 4 == 0 && year % 100!= 0) year % 400 ==0); ; int CaculateDays(){ switch( (3) ){ case Feb:{ if( (4) ) return 29; else return 28; case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31; case Apr: case Jun: case Sep: case Nov: return 30; ; private: int year; Month month; ; void main(){ Date day(2000,feb); cout << day. (5) (); 2005 年 上 半 年 程 序 员 下 午 试 卷 第 9 页 ( 共 9 页 )