高 等 学 校 计 算 机 应 用 规 划 教 材 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 焉 德 军 刘 明 才 编 著 北 京
内 容 简 介 本书是 计算机基础与 C 语言程序设计(第二版) 的配套实验指导书 全书共 4 篇 第一篇是 C 语 言程序设计实验指导 介绍了 Visual C++ 6.0 的安装 程序调试和错误处理 结合教材内容提供了 11 个 实验 给出了实验目的 要求以及程序提示 第二篇是 计算机基础与 C 语言程序设计(第二版) 习题解 答 第三篇是全国计算机等级考试二级 C 介绍 包括考试大纲和模拟试题 第四篇是应用软件选讲 包 括 Office 的高级应用和 MATLAB 软件简介 本书内容丰富 实用性强 是学习 C 语言程序设计十分有用的一本参考书 适合高等学校师生和计 算机等级考试培训使用 也可供自学者参考 本书封面贴有清华大学出版社防伪标签 无标签者不得销售 版权所有 侵权必究 侵权举报电话 010-62782989 13701121933 图书在版编目(CIP)数据 计算机基础与 C 语言程序设计实验指导 /焉德军 刘明才 编著. 2 版. 北京 清华大学出版 社 2014 (高等学校计算机应用规划教材) ISBN 978-7-302-36602-7 Ⅰ. 计 Ⅱ. ①焉 ②刘 Ⅲ. ①电子计算机 高等学校 教材 ②C语言 程序设计 高等学校 教材 Ⅳ. TP3 中国版本图书馆 CIP 数据核字(2014)第 112088 号 责任编辑 胡辰浩 袁建华 装帧设计 孔祥峰 责任校对 曹 阳 责任印制 出版发行 清华大学出版社 网 址 http://www.tup.com.cn http://www.wqbook.com 地 址 北京清华大学学研大厦 A 座 邮 编 100084 社 总 机 010-62770175 邮 购 010-62786544 投稿与读者服务 010-62776969 c-service@tup.tsinghua.edu.cn 质 量 反 馈 010-62772015 zhiliang@tup.tsinghua.edu.cn 印 刷 者 装 订 者 经 销 全国新华书店 开 本 185mm 260mm 印 张 字 数 474 千字 版 次 2014 年 7 月第 1 版 印 次 2014 年 7 月第 1 次印刷 印 数 1~3000 定 价 35.00 元 产品编号
序 在 信 息 社 会 里, 对 信 息 的 获 取 存 储 传 输 处 理 和 应 用 能 力 越 来 越 成 为 一 种 最 基 本 的 生 存 能 力, 正 逐 步 被 社 会 作 为 衡 量 一 个 人 文 化 素 质 高 低 的 重 要 标 志 计 算 机 技 术 成 为 影 响 人 们 生 活 方 式 学 习 方 式 和 工 作 方 式 的 重 要 因 素 大 学 计 算 机 基 础 课 程, 作 为 非 计 算 机 专 业 学 生 的 必 修 基 础 课, 其 教 学 目 标 就 是 为 学 生 提 供 计 算 机 方 面 的 知 识 能 力 与 素 质 的 教 育, 培 养 学 生 掌 握 一 定 的 计 算 机 基 础 知 识 技 术 与 方 法, 以 及 利 用 计 算 机 解 决 本 专 业 领 域 中 问 题 的 意 识 与 能 力 多 年 来, 大 学 计 算 机 基 础 教 学 形 成 了 大 一 上 学 期 讲 授 大 学 计 算 机 基 础 课 程, 下 学 期 讲 授 计 算 机 程 序 设 计 基 础 课 程 的 教 学 模 式 目 前, 绝 大 多 数 二 本 院 校 依 然 采 取 这 种 教 学 模 式 这 种 模 式 在 实 践 中 存 在 如 下 弊 端 第 一, 因 城 乡 地 区 的 差 别, 新 生 入 学 时 计 算 机 水 平 参 差 不 齐, 给 教 学 带 来 很 大 困 难 随 着 我 国 中 小 学 信 息 技 术 教 育 的 逐 步 普 及, 高 校 新 生 计 算 机 知 识 水 平 的 起 点 也 逐 年 提 高 同 时, 由 于 我 国 中 学 信 息 科 学 教 育 水 平 的 不 平 衡, 来 自 城 市 的 学 生 入 学 时 已 经 具 备 计 算 机 的 基 本 技 能, 而 来 自 农 村 的 一 些 学 生, 特 别 是 来 自 西 部 欠 发 达 地 区 和 少 数 民 族 地 区 的 一 些 学 生, 入 学 时 才 刚 刚 接 触 计 算 机 这 种 差 异 使 得 计 算 机 基 础 教 学 的 组 织 与 安 排 非 常 困 难 第 二, 学 时 少 内 容 多 周 期 短, 并 且 与 专 业 课 学 习 脱 节, 严 重 影 响 了 学 生 的 学 习 积 极 性 和 程 序 设 计 思 想 的 培 养 在 大 一 上 学 期 讲 授 大 学 计 算 机 基 础 课 程 时, 由 于 内 容 宽 泛, 涉 及 面 广, 每 堂 课 要 讲 授 或 上 机 练 习 的 内 容 又 多, 计 算 机 基 础 知 识 好 一 点 的 学 生 上 课 不 愿 意 听 讲 不 屑 于 练 习, 而 计 算 机 基 础 知 识 相 对 差 一 点 的 学 生 又 听 不 懂, 极 大 地 挫 伤 了 学 生 学 习 计 算 机 知 识 的 兴 趣 和 积 极 性 大 一 下 学 期 讲 授 计 算 机 程 序 设 计 基 础 课 程, 由 于 学 时 少, 周 期 短, 在 教 学 中 普 遍 缺 乏 利 用 程 序 设 计 解 决 实 际 问 题 和 专 业 问 题 能 力 的 训 练, 学 完 计 算 机 程 序 设 计 基 础 课 程 后, 多 数 学 生 还 不 能 真 正 领 会 计 算 机 的 强 大 功 能, 不 能 利 用 所 学 的 计 算 机 知 识 解 决 相 关 的 专 业 问 题 第 三, 计 算 机 基 础 教 学 与 大 学 生 对 全 国 计 算 机 等 级 考 试 证 书 的 需 求 脱 节 由 于 就 业 的 压 力, 多 数 二 本 院 校 的 学 生 在 毕 业 时 迫 切 需 要 获 得 全 国 计 算 机 二 级 等 级 考 试 证 书 但 是, 在 传 统 的 计 算 机 基 础 教 学 模 式 下, 学 生 最 快 在 大 二 上 学 期 才 能 参 加 全 国 计 算 机 等 级 考 试, 一 次 性 过 级 率 相 对 较 低 为 在 毕 业 前 获 得 计 算 机 二 级 证 书, 一 些 学 生 不 得 不 一 次 又 一 次 地 参 加 校 外 培 训, 花 费 了 很 多 精 力 针 对 计 算 机 基 础 教 学 中 存 在 的 问 题 和 不 足,2009 年, 我 校 对 计 算 机 基 础 教 学 进 行 了 改 革, 建 立 了 以 学 生 为 本, 以 就 业 需 求 为 导 向, 以 实 践 能 力 创 新 能 力 和 计 算 机 应 用 能 力 培 养 为 目 标, 以 大 一 下 学 期 学 生 能 够 顺 利 参 加 全 国 计 算 机 等 级 考 试, 提 高 我 校 的 全 国 计 算 机 等 级 考 试 过 级 率 为 抓 手, 适 合 学 生 特 点 和 需 求 符 合 教 育 规 律 和 学 生 认 知 心 理 的 计 算 机 基 础 教 学 新 的 教 学 内 容 体 系 和 教 学 模 式 新 的 教 学 内 容 体 系 和 教 学 模 式 是 : 根 据 不 同 学 科 专 业 学 生 的 特 点 和 需 求, 分 别 开 设
II 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) C 语 言 程 序 设 计 Visual Basic 程 序 设 计 和 Access 数 据 库 程 序 设 计 课 程, 并 以 程 序 设 计 课 程 为 主 线, 以 相 应 的 全 国 计 算 机 二 级 等 级 考 试 大 纲 为 依 据, 对 传 统 的 大 学 计 算 机 基 础 教 学 的 两 门 课 程 大 学 计 算 机 基 础 和 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 的 教 学 内 容 进 行 梳 理 整 合, 并 将 MATLAB 基 础 知 识 和 数 学 建 模 入 门 知 识 纳 入 计 算 机 基 础 教 学 内 容 体 系 中 来, 使 之 更 贴 近 学 生 的 需 求, 更 符 合 学 生 的 认 知 规 律, 更 有 利 于 学 生 计 算 机 应 用 能 力 的 培 养 和 信 息 素 养 的 提 高 (1) 新 的 教 学 模 式 将 传 统 的 在 大 一 下 学 期 讲 授 的 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 课 程 提 前 至 大 一 上 学 期 开 始, 并 延 伸 到 大 一 下 学 期 结 束, 更 符 合 大 学 生 的 认 知 规 律 大 一 上 学 期 讲 完 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 课 程 的 基 本 内 容, 下 学 期 通 过 参 加 3 月 下 旬 的 全 国 计 算 机 等 级 考 试, 使 学 生 的 程 序 设 计 基 础 知 识 得 到 强 化 ; 等 级 考 试 后, 通 过 综 合 性 设 计 性 实 验, 使 学 生 的 计 算 机 应 用 能 力 得 到 进 一 步 提 高 (2) 将 与 专 业 课 学 习 密 切 相 关 的 计 算 机 软 件 (MATLAB 软 件 ) 纳 入 大 一 的 计 算 机 基 础 教 学 中 来, 并 结 合 数 学 建 模 进 行 讲 解, 为 学 生 学 习 后 继 专 业 课 程 和 参 加 数 学 建 模 竞 赛 奠 定 了 扎 实 的 基 础, 对 学 生 的 实 践 能 力 创 新 能 力 的 培 养 起 到 了 非 常 好 的 作 用 (3) 以 案 例 教 学 为 主 要 教 学 模 式, 改 变 了 以 往 Office 软 件 的 讲 法, 以 毕 业 论 文 排 版 为 案 例, 介 绍 Word 高 级 应 用 ; 以 成 绩 统 计 分 析 为 案 例, 介 绍 Excel 知 识 ; 以 简 历 展 板 的 设 计 为 案 例, 介 绍 PowerPoint 应 用, 更 加 贴 近 学 生 的 就 业 需 求 (4) 改 革 考 核 方 式, 实 行 阶 段 性 滚 动 考 试, 加 强 学 习 过 程 的 监 督 与 考 核, 极 大 地 提 高 了 学 生 自 主 学 习 的 积 极 性 基 于 百 科 园 通 用 考 试 平 台 开 发 了 C 语 言 VB 程 序 设 计 Access 数 据 库 Office 应 用 的 题 库, 为 学 生 自 主 练 习 提 供 了 方 便, 并 且 为 按 单 元 进 行 的 阶 段 性 考 试 和 期 末 考 试 提 供 了 重 要 保 障 以 大 连 民 族 学 院 为 例, 在 新 制 定 的 培 养 方 案 中, 非 计 算 机 专 业 的 大 学 计 算 机 基 础 课 程 共 5 学 分, 其 中 4 学 分 为 通 识 教 育 必 修 课,1 学 分 为 通 识 教 育 选 修 课 我 校 的 具 体 做 法 是 : 4 学 分 的 必 修 课 在 大 一 下 学 期 3 月 底 的 全 国 计 算 机 等 级 考 试 前 完 成,1 学 分 的 选 修 课 主 要 在 大 一 下 学 期 全 国 计 算 机 等 级 考 试 后 完 成 其 具 体 分 3 个 阶 段 实 施 第 一 阶 段, 大 一 上 学 期,3.5 学 分,68 学 时, 其 中 理 论 课 教 学 32 学 时, 上 机 实 验 课 教 学 36 学 时 根 据 不 同 的 专 业, 分 别 开 设 C 语 言 程 序 设 计 Visual Basic 程 序 设 计 和 Access 数 据 库 程 序 设 计 课 程, 并 结 合 相 应 程 序 设 计 课 程 的 需 要, 完 成 新 生 入 学 的 计 算 机 入 门 教 育, 使 学 生 尽 快 了 解 计 算 机 基 本 原 理, 熟 悉 计 算 机 的 基 本 操 作 ; 完 成 全 国 计 算 机 二 级 等 级 考 试 大 纲 所 要 求 的 计 算 机 程 序 设 计 的 主 要 内 容 第 二 阶 段, 大 一 下 学 期 前 4 周,0.5 学 分,12 学 时 的 上 机 实 验 课 教 学 针 对 3 月 底 的 全 国 计 算 机 二 级 等 级 考 试, 进 行 辅 导 和 上 机 强 化 训 练 第 三 阶 段, 大 一 下 学 期 全 国 计 算 机 等 级 考 试 后,1 学 分,24 学 时 的 上 机 实 验 课 教 学 共 两 部 分 内 容 : 一 是 进 行 计 算 机 程 序 设 计 课 程 的 综 合 性 设 计 性 实 验, 进 一 步 提 高 学 生 的 计 算 机 程 序 设 计 能 力 和 计 算 机 应 用 能 力 ; 二 是 应 用 软 件 选 讲, 提 高 学 生 使 用 软 件 解 决 实 际 问 题 和 专 业 问 题 的 能 力 通 过 开 设 不 同 的 模 块 课 程, 使 学 生 可 以 根 据 自 己 的 专 业 需 求 兴 趣 爱 好 和 个 人 能 力 等 具 体 情 况 选 修 相 应 的 课 程, 达 到 考 核 要 求 即 可 获 得 相 应 的 学 分 在 这
序 III 里 可 供 学 生 选 修 的 课 程 有 : 办 公 自 动 化 应 用 网 络 工 程 师 培 训 Flash 动 画 设 计 与 制 作 Excel VBA 数 据 处 理 技 术 图 形 图 像 处 理 Office 2010 应 用 计 算 机 组 装 维 护 与 应 用 软 件 实 训 音 频 视 频 处 理 Visio 图 形 化 设 计 和 MATLAB 基 础 与 应 用 技 术 等 多 年 的 教 学 实 践 使 我 们 体 会 到, 新 的 教 学 内 容 体 系 和 教 学 模 式 至 少 有 以 下 4 点 好 处 : 第 一, 拉 长 了 大 学 计 算 机 程 序 设 计 基 础 课 程 的 学 习 周 期, 由 原 来 的 一 个 学 期 变 为 现 在 的 两 个 学 期, 分 3 个 阶 段 实 施, 符 合 学 生 的 认 知 规 律, 并 且 对 培 养 学 生 的 编 程 思 想 和 利 用 计 算 机 解 决 实 际 问 题 的 能 力 非 常 有 益 第 二, 将 获 得 全 国 计 算 机 二 级 等 级 考 试 证 书 作 为 新 生 入 学 的 第 一 个 阶 段 性 目 标, 可 以 使 学 生 尽 快 摆 脱 刚 入 大 学 时 的 迷 茫 状 态, 有 利 于 优 良 学 风 的 建 设 第 三, 满 足 了 学 生 对 全 国 计 算 机 二 级 等 级 证 书 的 需 求, 增 加 了 学 生 将 来 就 业 的 筹 码 第 四, 提 高 了 学 生 的 素 质, 增 强 了 学 生 自 主 学 习 能 力 和 利 用 软 件 解 决 实 际 问 题 的 能 力 为 了 配 合 计 算 机 基 础 教 学 改 革, 满 足 教 学 用 书 的 基 本 需 求,2010 年 5 月, 我 们 成 立 了 教 材 编 写 委 员 会, 着 手 进 行 系 列 教 材 的 编 写 工 作 共 编 写 主 辅 教 材 6 本, 分 别 是 计 算 机 基 础 与 C 语 言 程 序 设 计 和 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导, 计 算 机 基 础 与 Visual Basic 程 序 设 计 和 计 算 机 基 础 与 Visual Basic 程 序 设 计 实 验 指 导, 计 算 机 基 础 与 Access 数 据 库 程 序 设 计 和 计 算 机 基 础 与 Access 数 据 库 程 序 设 计 实 验 指 导 2012 年 7 月 该 套 教 材 由 清 华 大 学 出 版 社 出 版 计 算 机 基 础 与 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 教 材 包 括 : 计 算 机 入 门 基 础 知 识, 全 国 计 算 机 二 级 等 级 考 试 大 纲 所 要 求 的 程 序 设 计 相 关 内 容 以 及 全 国 计 算 机 二 级 等 级 考 试 公 共 基 础 知 识 所 要 求 的 相 关 内 容 计 算 机 基 础 与 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 实 验 指 导 辅 助 教 材 包 括 : 计 算 机 基 础 与 C 语 言 (Visual Basic Access 数 据 库 ) 程 序 设 计 习 题 解 答, 实 验 指 导, 全 国 计 算 机 二 级 等 级 考 试 介 绍 ( 包 括 大 纲 模 拟 试 题 ) 以 及 应 用 软 件 选 讲 ( 包 括 Office 的 高 级 应 用 和 MATLAB 软 件 简 介 ) 教 材 是 体 现 教 学 内 容 和 教 学 方 法 的 知 识 载 体, 是 进 行 教 学 的 基 本 工 具, 是 深 化 教 育 教 学 改 革, 全 面 推 进 素 质 教 育, 培 养 创 新 人 才 的 重 要 保 证 教 材 建 设 是 提 高 教 学 质 量 的 基 础 性 工 作, 要 为 学 生 知 识 能 力 素 质 协 调 发 展 创 造 条 件 该 套 教 材 的 使 用, 为 我 校 全 国 计 算 机 等 级 考 试 过 级 率 的 提 高 起 到 了 至 关 重 要 的 作 用 与 改 革 前 相 比, 我 校 的 全 国 计 算 机 等 级 考 试 过 级 率 提 高 了 20% 2012 级 同 学 在 2013 年 3 月 首 次 参 加 全 国 计 算 机 等 级 考 试, 过 级 率 为 52.4%, 创 历 史 最 好 成 绩 该 套 教 材 是 2013 年 辽 宁 省 教 学 成 果 二 等 奖 以 就 业 需 求 为 导 向 计 算 机 应 用 能 力 培 养 为 目 标 的 计 算 机 基 础 教 学 新 模 式 的 主 要 成 果 之 一, 其 中, 计 算 机 基 础 与 C 语 言 程 序 设 计 和 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 2014 年 被 评 为 辽 宁 省 第 二 批 十 二 五 普 通 高 等 教 育 本 科 省 级 规 划 教 材 有 关 我 校 的 计 算 机 基 础 教 学 改 革,2009 年 10 月, 获 得 辽 宁 省 教 育 教 学 改 革 项 目 立 项 ; 2010 年 1 月, 在 首 届 全 国 民 族 院 校 计 算 机 基 础 课 程 教 学 研 讨 会 上, 我 校 做 了 基 于 应 用 型 人 才 培 养 的 计 算 机 基 础 教 学 课 程 体 系 及 教 学 内 容 的 探 讨 的 主 题 报 告, 初 步 介 绍 了 计 算 机
IV 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 基 础 教 学 改 革 思 路 与 设 想, 得 到 与 会 代 表 的 热 烈 反 响 ;2011 年 7 月, 在 辽 宁 省 计 算 机 基 础 学 会 年 会 上, 我 校 做 了 基 于 能 力 培 养 与 等 级 考 试 需 求 的 计 算 机 基 础 教 学 改 革 的 主 题 发 言, 得 到 与 会 同 行 们 的 充 分 肯 定 和 兄 弟 院 校 的 广 泛 关 注 ;2011 年 11 月, 获 得 国 家 民 族 事 务 委 员 会 本 科 教 学 改 革 与 质 量 建 设 研 究 项 目 立 项 ;2012 年 10 月, 在 全 国 高 等 院 校 计 算 机 基 础 教 学 研 究 会 学 术 年 会 上, 发 表 了 新 形 势 下 的 计 算 机 基 础 教 学 改 革 实 践 以 大 连 民 族 学 院 为 例 的 研 究 论 文, 全 面 介 绍 了 我 校 的 计 算 机 基 础 教 学 改 革, 获 得 优 秀 论 文 二 等 奖 ; 2013 年 6 月, 在 国 家 民 委 2013 年 民 族 院 校 教 学 观 摩 会 上, 我 校 作 了 计 算 机 基 础 课 教 学 改 革 的 经 验 介 绍 有 关 我 校 的 计 算 机 基 础 教 学 改 革,2013 年 获 得 辽 宁 省 教 学 成 果 二 等 奖 该 套 教 材 是 在 第 一 版 的 基 础 上 进 行 了 修 订, 适 合 作 为 高 等 院 校 的 计 算 机 基 础 教 学 用 书, 也 可 作 为 学 生 自 学 计 算 机 基 础 知 识 和 相 关 程 序 设 计 基 础 知 识, 准 备 全 国 计 算 机 二 级 等 级 考 试 的 参 考 用 书 为 了 继 续 做 好 计 算 机 基 础 教 学 的 改 革 工 作, 我 们 热 忱 欢 迎 专 家 同 行 以 及 广 大 读 者 多 提 宝 贵 意 见! 焉 德 军 2014 年 6 月
前 言 本 书 是 计 算 机 基 础 与 C 语 言 程 序 设 计 ( 第 二 版 ) 的 配 套 实 验 指 导 书, 全 书 共 4 篇 第 一 篇 为 C 语 言 程 序 设 计 实 验 指 导, 包 括 3 章 内 容 第 1 章 介 绍 了 用 Visual C++ 6.0 系 统 编 辑 编 译 运 行 C 程 序 的 方 法 Visual C++ 6.0 也 是 全 国 计 算 机 等 级 考 试 (C 语 言 ) 指 定 的 编 译 系 统 第 2 章 是 上 机 实 验 内 容, 这 一 部 分 安 排 了 11 个 实 验, 根 据 实 验 内 容 分 别 安 排 了 2 学 时 和 4 学 时 实 验 的 进 度 与 主 教 材 同 步 进 行 教 师 可 根 据 具 体 上 机 时 数 安 排 实 验, 根 据 具 体 的 情 况 选 取 实 验 内 容, 并 根 据 每 个 学 生 的 不 同 情 况, 适 当 安 排 必 做 题 和 选 做 题 的 课 后 练 习 学 生 在 上 机 实 验 之 前 应 做 好 实 验 准 备, 如 阅 读 实 验 内 容 复 习 教 材 中 的 有 关 章 节 对 于 程 序 设 计 题, 在 实 验 前 要 编 写 程 序 第 3 章 给 出 了 实 验 参 考 答 案 第 二 篇 为 计 算 机 基 础 与 C 语 言 程 序 设 计 ( 第 二 版 ) 习 题 解 答 选 择 题 和 填 空 题 主 要 是 测 试 读 者 对 基 本 概 念 基 本 理 论 和 基 本 方 法 的 掌 握 程 度 在 学 完 每 章 后, 读 者 应 独 立 将 选 择 题 和 填 空 题 做 完, 然 后 与 给 出 的 答 案 比 较, 由 此 检 查 自 己 的 学 习 情 况 编 程 题 的 类 型 和 数 目 较 多, 读 者 可 根 据 自 己 的 情 况 选 做 题 目 每 个 编 程 题 的 解 法 都 有 多 种, 书 中 只 提 供 了 一 种 答 案, 供 读 者 参 考 和 比 较, 以 启 发 思 路 本 书 所 有 程 序 都 在 Visual C++ 6.0 环 境 下 调 试 通 过, 也 可 在 Turbo C 2.0 环 境 下 运 行 第 三 篇 介 绍 了 全 国 计 算 机 等 级 考 试 ( 二 级 C) 考 试 大 纲 和 全 国 计 算 机 等 级 考 试 ( 二 级 公 共 基 础 ) 考 试 大 纲 对 于 笔 试 部 分, 给 出 了 4 套 模 拟 试 题 并 作 了 解 答 ; 对 于 上 机 部 分, 给 出 了 两 套 模 拟 试 题 并 作 了 解 答 这 部 分 可 供 参 加 等 级 考 试 的 读 者 参 考 使 用 第 四 篇 为 应 用 软 件 选 讲, 包 括 Office 的 高 级 应 用 和 MATLAB 软 件 入 门 在 Office 的 高 级 应 用 中, 以 毕 业 论 文 排 版 为 例, 介 绍 了 Word 的 高 级 应 用 ; 以 学 生 成 绩 统 计 分 析 为 例, 介 绍 了 Excel 的 高 级 应 用 ; 以 简 历 的 设 计 为 例, 介 绍 了 PowerPoint 软 件 在 MATLAB 软 件 入 门 中, 以 MATLAB 7.10.0(R2010a) 版 本 为 例, 介 绍 了 MATLAB 软 件 的 使 用 方 法 及 其 在 数 学 建 模 中 的 应 用 本 书 第 一 篇 和 第 四 篇 的 第 2 章 由 焉 德 军 编 写, 第 二 篇 和 第 三 篇 由 刘 明 才 编 写, 第 四 篇 的 第 1 章 由 李 宏 岩 编 写 本 书 的 编 写 工 作 还 得 到 郑 智 强 张 丽 丽 邹 冰 冰 和 通 拉 嘎 若 曼 等 几 位 老 师 的 热 情 帮 助, 另 外 还 参 考 了 一 些 网 上 资 源, 在 此 一 并 致 谢 本 书 作 者 长 期 从 事 高 等 学 校 计 算 机 基 础 课 程 的 教 学 工 作, 在 总 结 多 年 的 大 学 计 算 机 基 础 C 语 言 程 序 设 计 课 程 的 教 学 经 验 和 教 改 实 践 的 基 础 上, 编 写 了 本 套 教 材 由 于 作 者 水 平 有 限, 书 中 难 免 存 在 错 误 与 不 足, 恳 请 读 者 批 评 指 正 我 们 的 邮 箱 是 huchenhao@263.net, 电 话 是 010-62796045 编 者 2014 年 4 月
目 录 第 一 篇 C 语 言 程 序 设 计 实 验 指 导... 1 第 1 章 Visual C++ 6.0 使 用 指 南... 1 1.1 运 行 C 程 序... 1 1.2 打 开 C 源 程 序 文 件... 7 1.3 调 试 C 程 序... 7 第 2 章 实 验 内 容... 10 实 验 一 熟 悉 VC 环 境... 10 实 验 二 数 据 类 型... 11 实 验 三 运 算 符 和 表 达 式... 12 实 验 四 选 择 结 构... 13 实 验 五 循 环 结 构... 15 实 验 六 数 组... 17 实 验 七 函 数... 19 实 验 八 指 针... 21 实 验 九 结 构 体... 24 实 验 十 文 件... 27 实 验 十 一 综 合 设 计... 30 第 3 章 实 验 参 考 答 案... 32 实 验 一 熟 悉 VC 环 境... 32 实 验 二 数 据 类 型... 33 实 验 三 运 算 符 和 表 达 式... 34 实 验 四 选 择 结 构... 35 实 验 五 循 环 结 构... 36 实 验 六 数 组... 37 实 验 七 函 数... 39 实 验 八 指 针... 41 实 验 九 结 构 体... 42 实 验 十 文 件... 45 实 验 十 一 综 合 设 计... 46 第 二 篇 计 算 机 基 础 与 C 语 言 程 序 设 计 ( 第 二 版 ) 习 题 解 答... 52 第 1 章 习 题 解 答... 52 一 选 择 题... 52 二 填 空 题... 54 第 2 章 习 题 解 答... 55 一 选 择 题... 55 二 填 空 题... 56 三 编 程 题... 56 第 3 章 习 题 解 答... 58 一 选 择 题... 58 二 填 空 题... 61 三 编 程 题... 62 第 4 章 习 题 解 答... 63 一 选 择 题... 63 二 填 空 题... 65 三 编 程 题... 66 第 5 章 习 题 解 答... 68 一 选 择 题... 68 二 填 空 题... 72 三 编 程 题... 73 第 6 章 习 题 解 答... 78 一 选 择 题... 78 二 填 空 题... 81 三 编 程 题... 82 第 7 章 习 题 解 答... 87 一 选 择 题... 87 二 填 空 题... 90 三 编 程 题... 92 第 8 章 习 题 解 答... 97 一 选 择 题... 97
VII 目 录 二 填 空 题... 99 三 编 程 题... 100 第 9 章 习 题 解 答... 100 一 选 择 题... 100 二 填 空 题... 103 三 编 程 题 ( 要 求 用 指 针 完 成 )... 106 第 10 章 习 题 解 答... 112 一 选 择 题... 112 二 填 空 题... 116 三 编 程 题... 117 第 11 章 习 题 解 答... 121 一 选 择 题... 121 二 填 空 题... 123 三 编 程 题... 123 第 12 章 习 题 解 答... 128 一 选 择 题... 128 二 填 空 题... 132 第 13 章 习 题 解 答... 132 一 选 择 题... 132 二 填 空 题... 134 第 14 章 习 题 解 答... 135 一 选 择 题... 135 二 填 空 题... 138 第 三 篇 全 国 计 算 机 等 级 考 试 二 级 C 介 绍... 140 第 1 章 全 国 计 算 机 等 级 考 试 大 纲... 140 1.1 全 国 计 算 机 等 级 考 试 ( 二 级 C) 考 试 大 纲... 140 1.2 全 国 计 算 机 等 级 考 试 ( 二 级 公 共 基 础 ) 考 试 大 纲... 142 第 2 章 全 国 计 算 机 等 级 考 试 模 拟 试 题... 144 2.1 笔 试 模 拟 试 题 一 ( 全 国 计 算 机 等 级 考 试 中 选 择 题 的 主 要 内 容 )... 144 2.2 笔 试 模 拟 试 题 二 ( 全 国 计 算 机 等 级 考 试 中 选 择 题 的 主 要 内 容 )... 160 2.3 笔 试 模 拟 试 题 三 ( 全 国 计 算 机 等 级 考 试 中 选 择 题 的 主 要 内 容 )... 174 2.4 笔 试 模 拟 试 题 四 ( 全 国 计 算 机 等 级 考 试 中 选 择 题 的 主 要 内 容 )... 188 2.5 上 机 模 拟 试 题 一... 200 2.6 上 机 模 拟 试 题 二... 202 第 四 篇 应 用 软 件 选 讲... 206 第 1 章 Office 的 高 级 应 用... 206 1.1 利 用 Word 对 论 文 进 行 版 面 设 计... 206 1.2 使 用 Excel 处 理 学 生 成 绩 单.. 233 1.3 利 用 PowerPoint 设 计 简 历... 247 第 2 章 MATLAB 软 件 入 门... 260 2.1 MATLAB 简 介... 260 2.2 向 量 与 矩 阵... 261 2.3 矩 阵 与 数 组 的 基 本 运 算... 264 2.4 函 数... 266 2.5 MATLAB 绘 图... 268 2.6 MATLAB 编 程... 275 2.7 MATLAB 的 符 号 运 算... 279 2.8 MATLAB 在 数 学 建 模 中 的 应 用... 282 参 考 文 献... 293
第 一 篇 C 语 言 程 序 设 计 实 验 指 导 第 1 章 Visual C++ 6.0 使 用 指 南 Visual C++ 软 件 是 目 前 使 用 极 为 广 泛 的 可 视 化 开 发 环 境, 可 用 于 对 C 程 序 或 C++ 程 序 进 行 各 种 操 作, 如 建 立 打 开 浏 览 编 辑 保 存 编 译 连 接 和 调 试 等 本 章 主 要 介 绍 利 用 Visual C++ 6.0 集 成 环 境 ( 简 称 VC 环 境 ) 对 C 程 序 进 行 编 译 连 接 和 运 行 的 一 般 方 法 1.1 运 行 C 程 序 用 Visual C++ 6.0 运 行 一 个 C 程 序 一 般 分 以 下 几 步 1. 启 动 Visual C++ 6.0 集 成 环 境 在 Windows 操 作 系 统 下, 启 动 Visual C++ 系 统 的 方 法 是 : 选 择 开 始 程 序 Microsoft Visual Studio 6.0 Microsoft Visual C++ 6.0 命 令, 则 出 现 Visual C++ 6.0 集 成 环 境 窗 口, 如 图 1-1 所 示 图 1-1 Visual C++ 集 成 环 境 窗 口 也 可 以 在 桌 面 上 为 Visual C++ 6.0 系 统 创 建 一 个 快 捷 方 式, 利 用 该 快 捷 方 式 启 动 Visual C++ 6.0 系 统 2. 创 建 工 程 项 目 用 Visual C++ 6.0 系 统 运 行 一 个 C 程 序, 首 先 要 创 建 一 个 工 程 项 目 (Project) 工 程 项 目 存 放 C 程 序 的 所 有 信 息 创 建 一 个 工 程 项 目 的 步 骤 如 下 (1) 选 择 集 成 环 境 窗 口 中 File 菜 单 中 的 New 命 令, 在 打 开 的 对 话 框 中 选 择 Projects( 项 目 ) 选 项 卡, 在 该 选 项 卡 中 选 择 Win32 Console Application(32 控 制 台 应 用 程 序 ), 在 选 项 卡 右 上 方
2 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 的 Project name( 项 目 名 称 ) 处 为 应 用 项 目 命 名, 如 exam1, 并 在 下 面 的 Location( 位 置 ) 中 指 定 该 项 目 存 放 的 位 置 ( 也 可 采 用 默 认 路 径 ), 选 中 Create new workspace( 建 立 新 工 作 区 ) 单 选 按 钮, 单 击 OK 按 钮, 如 图 1-2 所 示 图 1-2 创 建 新 项 目 对 话 框 (2) 弹 出 如 图 1-3 所 示 的 对 话 框 ( 应 用 程 序 生 成 向 导 ), 提 问 要 生 成 的 项 目 类 型 选 中 An empty project( 空 项 目 ) 单 选 按 钮, 单 击 Finish( 结 束 ) 按 钮, 会 弹 出 一 个 窗 口, 显 示 新 项 目 的 有 关 信 息 检 查 无 误 后, 单 击 OK 按 钮, 这 时 会 弹 出 一 个 如 图 1-4 所 示 的 空 项 目 窗 口, 并 生 成 一 个 项 目 工 作 区 文 件 ( 本 例 为 exam1.dsw) 图 1-3 应 用 程 序 向 导
第 一 篇 C 语 言 程 序 设 计 实 验 指 导 3 图 1-4 空 项 目 窗 口 在 图 1-4 中 间 有 两 个 窗 口 : 左 侧 是 工 作 区 窗 口 (Workspace Window), 右 侧 是 源 程 序 窗 口 ( 即 编 辑 窗 口 ) 工 作 区 窗 口 下 面 是 输 出 窗 口 (Output Window), 也 称 信 息 窗 口, 显 示 的 是 项 目 建 立 过 程 中 所 生 成 的 信 息 3. 建 立 C 源 程 序 文 件 在 图 1-4 所 示 的 窗 口 中, 选 择 File 菜 单 中 的 New 命 令, 并 选 择 Files 选 项 卡 从 选 项 卡 中 选 择 C++ Source File(C++ 源 程 序 ) 在 选 项 卡 右 边 的 File name 处 为 所 要 建 立 的 源 程 序 命 名 ( 可 与 项 目 名 相 同 ), 同 时 要 加 上 扩 展 名.C, 否 则 系 统 会 为 文 件 添 加 默 认 的 扩 展 名.CPP(C++ 源 程 序 文 件 的 扩 展 名 ), 如 图 1-5 所 示 图 1-5 建 立 C 源 程 序 文 件 在 图 1-5 所 示 的 窗 口 中 单 击 OK 按 钮, 会 在 集 成 环 境 右 侧 的 编 辑 窗 口 中 出 现 一 个 空 文 件, 如 图 1-6 所 示 此 时, 可 以 将 C 源 程 序 输 入 到 编 辑 窗 口 中
4 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 图 1-6 空 源 程 序 窗 口 4. 编 辑 一 个 C 源 程 序 文 件 在 图 1-6 所 示 的 窗 口 中 输 入 C 源 程 序 的 内 容 例 如, 输 入 如 下 程 序 : #include<stdio.h> void main() { int x,y,sum; printf("input a integer:"); scanf("%d",&x); printf("input another integer:"); scanf("%d",&y); sum=x+y; printf("sum=%d\n",sum); } 如 图 1-7 所 示 图 1-7 编 辑 C 源 程 序
第 一 篇 C 语 言 程 序 设 计 实 验 指 导 5 5. 编 译 C 程 序 文 件 选 择 Build 菜 单 中 的 Compile *.c 命 令 ( 本 例 *.c 为 exam1.c) 编 译 程 序 编 译 的 结 果 会 在 集 成 环 境 窗 口 下 方 的 信 息 窗 口 的 Build 选 项 卡 中 显 示 出 来, 如 图 1-8 所 示 图 1-8 编 译 C 程 序 的 结 果 如 果 没 有 错 误, 将 在 图 1-8 所 示 的 Build 选 项 卡 中 显 示 内 容 : 0 error(s) 0 warning(s) 表 示 没 有 任 何 错 误 (error), 有 时 会 出 现 几 个 警 告 信 息 (warning), 但 不 影 响 程 序 执 行 编 译 的 结 果 会 生 成 一 个 目 标 文 件 (*.obj)( 本 例 为 exam1.obj) 如 果 在 编 译 的 过 程 中 发 现 了 错 误, 则 进 入 编 辑 查 错 状 态 假 设 输 入 的 源 程 序 有 错 误, 则 编 译 后 的 情 况 如 图 1-9 所 示 错 误 信 息 格 式 如 下 < 源 程 序 路 经 >( 行 )< 错 误 代 码 >:< 错 误 内 容 > 图 1-9 编 译 出 错 在 图 1-9 中 看 到 有 1 个 错 误 (error), 给 出 的 错 误 信 息 为 : D:\exam1\exam1.c(6) : error C2146: syntax error : missing ';' before identifier 'scanf' 以 上 信 息 说 明 在 程 序 exam1.c 的 第 6 行 中 的 scanf 前 缺 少 分 号 ; 双 击 Build 选 项 卡 中 的 出 错 信 息, 在 编 辑 窗 口 中 会 指 示 对 应 的 出 错 位 置, 根 据 出 错 信 息 的 提 示 进 行 纠 正 例 如, 在 程 序 的 第 5 行 的 末 尾 加 上 分 号 ;, 然 后 再 编 译, 编 译 结 果 没 有 错 误
6 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 在 检 查 程 序 时 要 细 心, 首 先 查 看 第 一 个 错 误 出 现 的 地 方 及 其 前 面 的 一 小 段 程 序 在 查 出 并 改 正 这 个 错 误 之 后, 可 以 看 一 看 其 后 的 几 个 错 误 说 明 中 的 错 误 位 置 是 否 和 第 一 个 错 误 的 位 置 相 邻 近 如 果 是, 则 有 可 能 反 映 的 还 是 那 一 个 错 误, 这 时 可 以 再 编 译 一 次, 往 往 会 发 现 错 误 的 数 目 已 经 大 为 减 少 重 复 这 个 过 程 直 到 所 有 的 错 误 均 已 纠 正 6. 连 接 C 程 序 文 件 目 标 文 件 需 要 连 接 才 能 生 成 可 执 行 文 件 选 择 Build 菜 单 中 的 Build *.exe 命 令 ( 本 例 *.exe 为 exam1.exe) 连 接 的 结 果 同 样 会 在 集 成 环 境 窗 口 下 方 信 息 窗 口 的 Build 选 项 卡 中 显 示 出 来, 如 图 1-10 所 示 图 1-10 连 接 C 程 序 如 果 没 有 错 误, 连 接 的 结 果 会 生 成 一 个 目 标 文 件 (*.exe)( 本 例 *.exe 为 exam1.exe) 以 上 两 步 ( 编 译 和 连 接 ) 可 并 为 一 步, 即 直 接 选 择 Build 菜 单 中 的 Build *.exe 命 令 在 连 接 阶 段 也 有 可 能 出 现 一 些 错 误 提 示 与 编 译 错 误 提 示 信 息 不 同 的 是 连 接 错 误 不 指 出 错 误 发 生 的 详 细 位 置, 这 是 因 为 连 接 的 对 象 是 目 标 程 序, 不 易 确 定 错 误 的 准 确 位 置 连 接 阶 段 出 现 的 错 误 比 较 少, 大 多 数 是 因 为 在 程 序 中 调 用 了 某 个 函 数, 而 连 接 程 序 却 找 不 到 该 函 数 的 定 义 这 时 最 有 可 能 的 是 函 数 名 字 拼 写 错 误 在 找 到 连 接 错 误 的 原 因 并 改 正 以 后, 一 定 要 重 新 编 译 后 再 连 接 7. 运 行 可 执 行 程 序 选 择 Build 菜 单 中 的!Execute *.exe( 本 例!Execute exam1.exe) 命 令, 即 可 执 行 程 序 当 运 行 C 程 序 后,Visual C++ 将 自 动 弹 出 输 入 / 输 出 窗 口, 如 图 1-11 所 示, 输 入 数 据 后, 输 出 结 果, 按 任 意 键 将 关 闭 该 窗 口 图 1-11 数 据 输 入 / 输 出 窗 口 另 外, 生 成 的 可 执 行 文 件 可 以 单 独 运 行 由 第 2 步 创 建 工 程 项 目 可 知, 本 例 的 所 有 信 息 都 在 D:\exam1 目 录 下 实 际 上, 可 执 行 文 件 exam1.exe 所 在 目 录 为 D:\exam1\Debug 打 开 文 件 夹 Debug, 双 击 文 件 exam1.exe 即 可 运 行 该 程 序 关 闭 Visual C++ 集 成 环 境 窗 口, 可 自 动 保 存 各 种 文 件 ( 均 在 以 项 目 名 为 名 字 的 文 件 夹 中 ) 对 于 编 译 连 接 运 行 操 作,Visual C++ 还 提 供 了 一 组 工 具 按 钮, 如 图 1-12 所 示
第 一 篇 C 语 言 程 序 设 计 实 验 指 导 7 编 译 (Compile) 构 造 (Build) 运 行 (Execute) 图 1-12 编 译 微 型 条 1.2 打 开 C 源 程 序 文 件 如 果 要 打 开 某 个 已 建 立 的 C 源 程 序 文 件, 可 使 用 如 下 两 种 方 法 (1) 启 动 Visual C++ 6.0 后, 选 择 集 成 环 境 窗 口 中 的 File Open 命 令, 弹 出 打 开 对 话 框, 如 图 1-13 所 示 图 1-13 打 开 对 话 框 在 查 找 范 围 中 选 择 C 程 序 所 在 的 文 件 夹 ( 如 exam1), 在 文 件 名 中 输 入 要 打 开 的 C 程 序 文 件 名 ( 如 exam1.c), 单 击 打 开 按 钮, 即 可 打 开 C 程 序 文 件 此 时, 可 以 对 程 序 进 行 修 改 编 译 运 行 等 各 种 操 作 (2) 打 开 项 目 工 程 所 在 的 文 件 夹 ( 如 exam1), 用 鼠 标 双 击 C 程 序 文 件 名 ( 如 exam1.c) 即 可 启 动 Visual C++ 6.0 系 统, 同 时 打 开 C 程 序 文 件 1.3 调 试 C 程 序 下 面 介 绍 用 Visual C++ 6.0 提 供 的 调 试 器 调 试 C 程 序 的 一 般 方 法 设 要 调 试 的 程 序 如 下 : /* 求 n!( 即 1*2*3*...*n)n=6 */ #include<stdio.h> void main() { int p,i,n; p=1; n=6; for(i=1;i<=n;i++) p=p*i; printf("\n%d!=%d\n",n,p); }
8 计 算 机 基 础 与 C 语 言 程 序 设 计 实 验 指 导 ( 第 二 版 ) 1. 使 程 序 执 行 到 光 标 所 在 行 暂 停 以 便 观 察 中 间 结 果 (1) 在 需 要 暂 停 的 行 上 单 击 鼠 标, 定 位 光 标 (2) 选 择 Build Start Debug Run to Cursor 命 令, 或 按 Ctrl+F10 键, 程 序 将 执 行 到 光 标 所 在 行 暂 停, 如 图 1-14 所 示 使 程 序 执 行 到 指 定 位 置 时 暂 停, 目 的 是 为 了 查 看 有 关 的 中 间 结 果 在 图 1-14 左 下 角 的 信 息 窗 口 中 的 Locals 选 项 卡 中 自 动 显 示 了 有 关 变 量 的 值, 其 中 n 和 p 的 值 分 别 是 6 和 1, 而 变 量 i 还 未 赋 值, 是 不 确 定 的 图 中 左 侧 的 箭 头 表 示 当 前 程 序 暂 停 的 位 置 如 果 还 想 增 加 观 察 变 量, 可 在 图 中 右 下 角 的 Watch 选 项 卡 的 Name 文 本 框 中 输 入 相 应 的 变 量 名 图 1-14 观 察 变 量 值 如 果 把 光 标 移 到 后 面 的 某 个 位 置, 再 按 Ctrl+F10 键, 程 序 将 从 当 前 的 暂 停 点 继 续 执 行 到 新 的 光 标 位 置, 第 二 次 暂 停 (3) 选 择 Debug Stop Debugging 命 令, 或 按 Shift+F5 键, 将 停 止 调 试, 回 到 正 常 的 运 行 状 态 2. 通 过 设 置 断 点 使 程 序 暂 停 以 便 观 察 中 间 结 果 (1) 在 需 要 设 置 断 点 ( 即 暂 停 点 ) 的 行 上 单 击, 定 位 光 标, 单 击 编 译 微 型 条 (Build Minibar) 中 最 右 面 的 按 钮 ( 如 图 1-15 所 示 ) 或 按 F9 键 被 设 置 了 断 点 的 行 前 面 会 有 一 个 红 色 的 圆 点 标 志 当 光 标 在 有 断 点 的 行 上 时, 按 F9 键 可 去 掉 断 点 标 志 设 置 了 断 点 之 后, 可 用 前 面 的 方 法 查 看 变 量 的 值 和 结 束 调 试, 也 可 按 照 下 面 的 方 法 操 作 Go Insert/Remove Breakpoint 图 1-15 设 置 断 点 (2) 单 击 编 译 微 型 条 (Build Minibar) 中 的 Go 按 钮 ( 如 图 1-15 所 示 ) 或 按 F5 键, 程 序 执 行 到 第 一 个 断 点 时 暂 停, 这 时 在 信 息 窗 口 中 可 以 查 看 有 关 的 变 量 值 再 按 F5 键, 程 序 继 续
第 一 篇 C 语 言 程 序 设 计 实 验 指 导 9 往 下 执 行 到 第 二 个 断 点 时 暂 停, 以 此 类 推 (3) 按 Shift+F5 键, 将 停 止 调 试, 回 到 正 常 的 运 行 状 态 3. 单 步 执 行 在 程 序 的 调 试 中, 当 程 序 执 行 到 某 个 位 置 时 发 现 结 果 已 经 不 正 确 了, 说 明 在 此 之 前 一 定 有 错 误 存 在 如 果 能 确 定 在 某 一 小 段 程 序 有 错, 先 按 上 面 步 骤 暂 停 在 该 小 段 程 序 的 头 一 行, 再 输 入 若 干 个 变 量 查 看, 然 后 单 步 执 行, 即 一 次 执 行 一 行 语 句, 逐 行 检 查, 找 出 错 误 并 修 改 单 步 执 行 时, 单 击 调 试 工 具 条 中 的 Step Over 按 钮 ( 如 图 1-16 所 示, 若 该 工 具 条 隐 藏, 可 右 击 工 具 栏 的 空 白 处, 在 快 捷 菜 单 中 选 中 Debug 即 可 使 其 出 现 ) 或 按 F10 键 若 遇 到 自 定 义 函 数 调 用, 想 进 入 函 数 进 行 单 步 执 行, 可 单 击 Step Into 按 钮 或 按 F11 键 若 想 结 束 函 数 的 单 步 执 行, 可 单 击 Step Out 按 钮 或 按 Shift+F11 键 对 不 是 函 数 调 用 的 语 句 来 说,F11 键 和 F10 键 的 作 用 相 同, 但 一 般 对 系 统 函 数 不 要 按 F11 键 图 1-16 调 试 工 具 条 Step Over 以 上 只 对 Visual C++ 6.0 中 的 主 要 功 能 进 行 了 介 绍 对 于 其 他 操 作, 读 者 可 以 自 己 练 习 或 参 考 有 关 Visual C++ 6.0 手 册