FY.DOC
|
|
- 虑 祝
- 7 years ago
- Views:
Transcription
1 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社
2 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主 要 内 容 包 括 C++ 语 言 基 础 知 识 基 本 数 据 类 型 和 表 达 式 函 数 数 组 结 构 体 和 共 用 体 指 针 和 应 用 类 与 数 据 抽 象 运 算 符 重 载 继 承 性 虚 函 数 和 多 态 C++ 输 入 输 出 流 文 件 处 理 本 书 内 容 丰 富, 概 念 清 楚, 实 例 丰 富, 注 重 基 础 知 识 与 典 型 应 用 的 结 合, 系 统 性 和 应 用 性 强, 是 作 者 多 年 教 学 和 实 践 经 验 的 结 晶 本 书 语 言 通 俗 易 懂, 深 入 浅 出, 力 求 突 出 重 点, 强 调 实 际 应 用 书 中 所 有 程 序 全 部 在 Visual C 环 境 下 运 行 通 过 本 书 适 合 作 为 高 职 高 专 计 算 机 及 其 相 关 专 业 学 习 程 序 设 计 语 言 课 程 的 教 材, 也 可 作 为 广 大 计 算 机 应 用 人 员 的 自 学 参 考 书 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 主 编 邓 振 杰 副 主 编 贾 振 华 孟 庆 敏 责 任 编 辑 潘 春 燕 人 民 邮 电 出 版 社 出 版 发 行 北 京 市 崇 文 区 夕 照 寺 街 14 号 邮 编 电 子 函 件 315@ptpress.com.cn 网 址 读 者 热 线 北 京 顺 义 振 华 印 刷 厂 印 刷 新 华 书 店 总 店 北 京 发 行 所 经 销 开 本 : /16 印 张 :15.75 字 数 :374 千 字 2004 年 12 月 第 1 版 印 数 :1 000 册 2004 年 12 月 北 京 第 1 次 印 刷 ISBN /TP 2230
3 编 者 的 话 伴 随 计 算 机 技 术 的 飞 速 发 展, 计 算 机 应 用 的 范 围 越 来 越 广, 计 算 机 普 及 的 程 度 越 来 越 深 入, 致 使 软 件 系 统 的 规 模 和 复 杂 性 急 剧 膨 胀, 传 统 的 面 向 过 程 程 序 设 计 已 不 能 满 足 社 会 发 展 的 需 要 巨 大 的 需 求 引 发 了 软 件 技 术 革 命, 诞 生 了 面 向 对 象 程 序 设 计 的 思 想 和 方 法 C++ 是 当 今 较 为 流 行 的 一 种 面 向 对 象 程 序 设 计 语 言, 完 全 兼 容 C 语 言, 具 有 高 效 灵 活 功 能 强 大 及 可 重 用 性 好 等 特 点 使 用 C++ 语 言 进 行 程 序 设 计 更 方 便, 软 件 维 护 更 容 易 本 书 是 作 者 在 多 年 从 事 C++ 程 序 设 计 教 学 的 基 础 上 编 写 的, 凝 聚 了 作 者 多 年 教 学 和 科 研 的 经 验 与 体 会, 具 有 很 强 的 实 用 性 和 可 读 性 本 书 针 对 学 生 在 学 习 过 程 中 容 易 出 现 的 问 题 进 行 讲 解, 通 过 大 量 程 序 示 例 进 行 启 发 式 教 学, 重 点 培 养 学 生 分 析 问 题 和 解 决 问 题 的 能 力 本 书 根 据 高 职 高 专 的 教 学 特 点, 力 求 语 言 通 俗 易 懂, 概 念 明 确, 尽 量 避 免 枯 燥 的 理 论 讲 授, 力 争 将 复 杂 的 概 念 示 例 化, 将 抽 象 的 理 论 形 象 化, 用 大 量 的 程 序 示 例 来 帮 助 读 者 理 解 概 念 和 理 论, 使 读 者 逐 步 掌 握 C++ 语 言 的 完 整 体 系 本 书 内 容 全 面, 在 内 容 安 排 上 由 浅 入 深, 从 最 简 单 的 概 念 开 始, 循 序 渐 进, 突 出 实 用 性, 使 读 者 在 学 完 本 书 后 能 够 真 正 学 以 致 用 本 书 选 材 适 当, 定 位 准 确, 示 例 丰 富, 重 点 突 出, 书 中 给 出 的 所 有 例 题 程 序 均 在 Visual C 集 成 环 境 中 运 行 通 过 本 书 还 可 以 提 供 电 子 教 案 和 所 有 程 序 的 源 代 码 全 书 以 介 绍 C++ 语 言 面 向 对 象 程 序 设 计 的 思 想 和 方 法 为 主, 共 12 章, 主 要 内 容 包 括 C++ 语 言 概 述 基 本 数 据 类 型 和 表 达 式 函 数 数 组 结 构 体 和 共 用 体 指 针 和 引 用 类 和 数 据 抽 象 运 算 符 重 载 继 承 性 虚 函 数 和 多 态 性 C++ 输 入 输 出 流 文 件 处 理 等 本 书 由 邓 振 杰 担 任 主 编, 贾 振 华 孟 庆 敏 任 副 主 编 各 章 编 写 分 工 如 下 : 第 章 由 邓 振 杰 编 写, 第 4 章 由 陈 征 峰 编 写, 第 章 由 贾 振 华 编 写, 第 11 和 12 章 由 孟 庆 敏 编 写, 斯 庆 巴 拉 金 永 涛 曲 凤 娟 邵 温 刘 立 媛 王 静 和 李 京 辉 也 参 加 了 部 分 内 容 的 编 写 以 及 大 纲 讨 论 和 文 稿 整 理 工 作 全 书 由 邓 振 杰 负 责 统 稿 由 于 作 者 水 平 有 限, 书 中 难 免 出 现 一 些 错 误 和 不 妥 之 处, 敬 请 读 者 批 评 指 正 编 者 2005 年 1 月
4 目 录 第 1 章 C++ 概 述 面 向 对 象 程 序 设 计 基 本 概 念 传 统 程 序 设 计 及 其 局 限 性 面 向 对 象 程 序 设 计 及 其 优 点 面 向 对 象 程 序 设 计 的 特 点 面 向 对 象 程 序 设 计 语 言 的 发 展 C++ 的 发 展 和 特 点 C++ 的 发 展 C++ 的 特 点 C++ 与 C 语 言 的 关 系 C++ 程 序 基 本 结 构 C++ 程 序 基 本 结 构 C++ 程 序 的 书 写 格 式 C++ 程 序 的 上 机 实 现 编 辑 编 译 连 接 运 行 12 习 题 17 第 2 章 基 本 数 据 类 型 和 表 达 式 词 法 符 号 标 识 符 关 键 字 常 量 运 算 符 分 隔 符 基 本 数 据 类 型 常 量 与 变 量 常 量 变 量 运 算 符 和 表 达 式 24
5 2 C++ 程 序 设 计 运 算 符 表 达 式 控 制 语 句 表 达 式 语 句 复 合 语 句 选 择 语 句 循 环 语 句 转 移 语 句 39 习 题 41 第 3 章 函 数 函 数 的 定 义 函 数 定 义 函 数 原 型 函 数 调 用 函 数 调 用 的 概 念 函 数 调 用 的 参 数 传 递 函 数 的 嵌 套 调 用 和 递 归 调 用 函 数 main() 的 参 数 局 部 变 量 和 全 局 变 量 局 部 变 量 全 局 变 量 内 联 函 数 函 数 重 载 56 习 题 57 第 4 章 数 组 一 维 数 组 的 定 义 和 数 组 元 素 的 引 用 一 维 数 组 的 定 义 一 维 数 组 的 初 始 化 一 维 数 组 元 素 的 引 用 一 维 数 组 的 使 用 二 维 数 组 的 定 义 和 数 组 元 素 的 引 用 二 维 数 组 的 定 义 二 维 数 组 元 素 的 初 始 化 二 维 数 组 元 素 的 引 用 二 维 数 组 的 使 用 字 符 数 组 字 符 数 组 的 定 义 及 初 始 化 68
6 目 录 字 符 串 处 理 函 数 字 符 数 组 的 应 用 71 习 题 72 第 5 章 结 构 体 和 共 用 体 结 构 体 结 构 体 的 定 义 结 构 体 变 量 的 定 义 结 构 体 变 量 的 初 始 化 结 构 体 变 量 的 使 用 结 构 体 数 组 共 用 体 共 用 体 共 用 体 变 量 的 定 义 共 用 体 变 量 的 使 用 84 习 题 85 第 6 章 指 针 和 引 用 指 针 指 针 的 概 念 指 针 与 数 组 指 针 与 字 符 串 指 针 与 函 数 动 态 内 存 分 配 引 用 引 用 的 概 念 引 用 与 函 数 105 习 题 107 第 7 章 类 与 数 据 抽 象 类 的 定 义 对 象 的 定 义 对 象 的 定 义 对 象 成 员 的 表 示 方 法 构 造 函 数 和 析 构 函 数 构 造 函 数 和 析 构 函 数 缺 省 构 造 函 数 和 缺 省 析 构 函 数 拷 贝 初 始 化 构 造 函 数 成 员 函 数 的 特 征 成 员 函 数 的 重 载 119
7 4 C++ 程 序 设 计 参 数 的 缺 省 值 静 态 成 员 静 态 数 据 成 员 静 态 成 员 函 数 友 元 友 元 函 数 友 元 类 对 象 的 指 针 和 对 象 的 引 用 对 象 的 指 针 this 指 针 对 象 引 用 对 象 数 组 常 类 型 常 指 针 和 常 引 用 常 成 员 函 数 常 数 据 成 员 139 习 题 140 第 8 章 运 算 符 重 载 概 述 运 算 符 重 载 的 一 般 规 则 一 些 特 殊 操 作 符 的 重 载 一 元 运 算 符 重 载 二 元 运 算 符 重 载 151 习 题 154 第 9 章 继 承 性 基 类 和 派 生 类 派 生 类 的 定 义 继 承 方 式 单 继 承 单 继 承 中 的 成 员 访 问 权 限 构 造 函 数 和 析 构 函 数 多 继 承 多 继 承 的 概 念 多 继 承 的 构 造 函 数 和 析 构 函 数 二 义 性 问 题 虚 基 类 虚 基 类 的 引 入 和 说 明 169
8 目 录 虚 基 类 的 构 造 函 数 虚 基 类 的 应 用 171 习 题 174 第 10 章 虚 函 数 和 多 态 性 虚 函 数 虚 函 数 的 定 义 纯 虚 函 数 抽 象 类 虚 析 构 函 数 多 态 多 态 的 含 义 多 态 的 应 用 185 习 题 187 第 11 章 C++ 输 入 / 输 出 流 输 入 / 输 出 流 的 概 念 输 出 流 基 本 输 出 操 作 输 出 格 式 控 制 输 入 流 基 本 输 入 操 作 输 入 格 式 控 制 208 习 题 208 第 12 章 文 件 处 理 文 件 简 介 文 件 和 流 顺 序 文 件 的 访 问 建 立 顺 序 访 问 文 件 读 取 顺 序 文 件 中 的 数 据 更 新 顺 序 文 件 中 的 数 据 随 机 文 件 的 访 问 建 立 随 机 访 问 文 件 读 取 随 机 文 件 中 的 数 据 数 据 写 入 随 机 文 件 221 习 题 222 第 13 章 实 训 223
9 6 C++ 程 序 设 计 13.1 实 训 1 熟 悉 Visual C 集 成 开 发 环 境 实 训 2 简 单 C++ 程 序 设 计 实 训 3 控 制 语 句 实 训 4 函 数 的 应 用 实 训 5 数 组 的 使 用 实 训 6 结 构 体 和 共 用 体 实 训 7 指 针 的 使 用 实 训 8 类 与 数 据 抽 象 实 训 9 运 算 符 重 载 实 训 10 继 承 性 和 派 生 实 训 11 虚 函 数 和 多 态 性 实 训 12 输 入 / 输 出 流 实 训 13 文 件 处 理 239 参 考 文 献 240
10 1 章 C++ 概 述 20 世 纪 90 年 代 以 来, 面 向 对 象 程 序 设 计 (Object Oriented Programming,OOP) 成 为 计 算 机 程 的 主 流, 其 设 计 思 想 已 经 被 越 来 越 多 的 软 件 设 计 人 员 所 接 受 C++ 语 言 完 全 兼 容 C 语 言, 不 仅 C 语 言 灵 活 高 效 功 能 强 大 和 可 移 植 性 好 等 优 点, 而 且 引 入 了 面 向 对 象 程 序 设 计 的 思 想 和 机 制, 大 程 度 地 提 高 编 程 能 力, 减 少 软 件 维 护 的 开 销, 增 强 软 件 的 可 扩 展 性 和 可 重 用 性 因 此,C++ 出 现 就 受 到 了 广 大 用 户 的 青 睐, 版 本 不 断 更 新, 功 能 不 断 完 善, 迅 速 成 为 面 向 对 象 程 序 设 计 的 言 1.1 面 向 对 象 程 序 设 计 基 本 概 念 1. 对 象 现 实 世 界 中 客 观 存 在 的 任 何 事 物 都 可 以 称 之 为 对 象, 它 可 以 是 有 形 的 具 体 事 物, 如 一 本 书 一 或 一 辆 汽 车 等, 也 可 以 是 一 个 无 形 的 抽 象 事 物, 如 一 次 演 出 或 一 场 球 赛 等 对 象 是 构 成 世 界 的 立 单 位, 可 以 很 简 单, 也 可 以 很 复 杂, 复 杂 的 对 象 可 以 由 简 单 的 对 象 构 成 现 实 世 界 中 的 对 象 既 具 有 静 态 的 属 性 ( 或 称 状 态 ), 又 具 有 动 态 的 行 为 ( 或 称 操 作 ) 例 如, 每 有 姓 名 性 别 年 龄 身 高 和 体 重 等 属 性, 都 有 吃 饭 走 路 睡 觉 和 学 习 等 行 为 所 以, 现 实 的 对 象 一 般 可 以 表 示 为 : 属 性 + 行 为 现 实 世 界 中 的 对 象 一 般 具 有 以 下 特 性 (1) 每 一 个 对 象 必 须 有 一 个 名 字 以 区 别 于 其 他 对 象 (2) 用 属 性 来 描 述 对 象 的 某 些 特 征 (3) 有 一 组 操 作, 每 个 操 作 决 定 对 象 的 一 种 行 为 在 面 向 对 象 程 序 设 计 中, 对 象 是 由 对 象 名 一 组 属 性 数 据 和 一 组 操 作 封 装 在 一 起 构 成 的 实 体 性 数 据 是 对 象 固 有 特 征 的 描 述, 操 作 是 对 这 些 属 性 数 据 施 加 的 动 态 行 为, 是 一 系 列 的 实 现 步 骤 称 之 为 方 法 对 象 通 过 封 装 实 现 了 信 息 隐 藏, 对 象 与 外 部 是 通 过 操 作 接 口 联 系 的, 操 作 的 具 体 实 现 步 骤 外 部 见 的 封 装 的 目 的 就 是 防 止 非 法 访 问, 操 作 接 口 提 供 了 这 个 对 象 所 具 有 的 功 能 打 个 形 象 的 比 喻, 一 个 对 象 就 好 比 一 台 录 音 机 人 们 使 用 录 音 机 时 通 过 播 放 录 音 暂 停 停 止 以 及 快 退 等 按 键 就 可 以 操 作 录 音 机, 录 音 机 就 会 完 成 相 应 的 工 作 人 们 通 过 安 装 在 录 音 机 表 面
11 C++ 程 序 设 计 音 机 所 具 有 的 功 能, 我 们 只 能 借 助 于 这 些 按 键 实 现 对 录 音 机 的 操 作 如 果 把 对 象 看 作 录 音 机, 则 录 音 机 的 功 率 声 道 数 及 电 源 电 压 等 就 相 当 于 对 象 的 属 性, 放 音 暂 停 等 动 作 就 相 当 于 对 象 的 操 作, 而 它 的 按 键 就 相 当 于 对 象 的 接 口 事 实 上, 操 作 和 属 性 数 据 在 对 象 内 部 的, 一 个 对 象 就 相 当 于 一 个 黑 盒 子, 表 示 对 象 特 征 的 属 性 数 据 和 实 现 对 象 操 作 的 代 装 在 这 个 黑 盒 子 里 面, 外 界 是 看 不 见 的, 更 不 能 从 外 面 去 访 问 和 修 改 这 些 数 据 和 代 码 当 在 程 序 设 计 中 使 用 对 象 时, 只 能 通 过 对 象 与 外 部 的 接 口 来 操 作 它, 接 口 就 是 对 象 对 外 公 开 的 就 像 只 能 通 过 按 键 来 操 作 录 音 机 一 样 这 样 不 仅 使 对 象 的 操 作 变 得 简 单 方 便, 而 且 具 有 很 高 性 和 可 靠 性 2. 类 在 现 实 世 界 中, 类 是 一 组 具 有 相 同 属 性 和 操 作 的 对 象 的 抽 象 例 如, 张 三 李 四 和 王 五 等 是 一 体 的 人, 虽 然 每 个 人 的 性 格 爱 好 相 貌 及 职 业 等 各 不 相 同, 但 他 们 的 基 本 特 征 都 是 相 同 的, 相 似 的 生 理 构 造 和 动 作 行 为 ( 吃 饭 睡 觉 和 说 话 等 ), 故 可 以 把 他 们 统 称 为 人 类, 而 张 三 王 五 等 每 一 个 人 只 是 人 类 的 一 个 实 例 对 象 类 和 对 象 之 间 是 抽 象 与 具 体 的 关 系, 类 是 对 很 多 的 对 象 进 行 抽 象 的 结 果, 一 个 对 象 是 类 的 一 个 例 如, 汽 车 是 一 个 类, 它 是 由 成 千 上 万 个 具 体 的 汽 车 抽 象 而 来 的 一 般 概 念, 而 桑 塔 纳 200 以 看 作 是 汽 车 类 的 一 个 实 例 对 象 在 面 向 对 象 程 序 设 计 中, 类 是 具 有 相 同 属 性 数 据 和 操 作 的 对 象 的 集 合, 它 是 对 一 类 对 象 的 抽 象 类 是 创 建 对 象 的 模 板, 它 包 含 着 所 创 建 对 象 的 状 态 描 述 和 方 法 的 定 义, 一 般 是 先 声 明 类, 再 由 其 对 象 按 照 这 个 模 板 创 建 的 一 个 个 具 体 的 实 例, 就 是 对 象 这 个 过 程 就 好 像 用 木 模 来 制 作 月, 把 事 先 揉 好 的 面 塞 进 木 模 里, 将 木 模 反 扣 在 桌 上, 一 个 漂 亮 的 图 案 就 出 现 在 月 饼 上, 这 样, 模 就 可 以 制 造 出 一 个 个 图 案 一 模 一 样 的 月 饼 这 个 木 模 就 好 比 是 类, 一 个 一 个 的 月 饼 就 好 比 建 的 一 个 个 对 象 3. 消 息 现 实 世 界 中 的 对 象 不 是 一 个 个 孤 立 的 实 体, 它 们 之 间 存 在 着 各 种 各 样 的 联 系 同 样, 在 面 向 对 设 计 中, 对 象 之 间 也 需 要 联 系, 我 们 称 为 对 象 的 交 互 在 面 向 对 象 程 序 设 计 中, 当 要 求 一 个 对 象 做 某 一 操 作 时, 就 向 该 对 象 发 送 一 个 相 应 的 消 息 一 向 另 一 个 对 象 发 出 的 请 求 被 称 为 消 息 当 对 象 接 收 到 发 给 它 的 消 息 时, 就 调 用 有 关 的 方 法, 应 的 操 作 这 种 对 象 与 对 象 之 间 通 过 消 息 进 行 相 互 联 系 的 机 制, 就 叫 做 消 息 传 递 机 制 面 向 对 设 计 通 过 消 息 传 递 来 实 现 对 象 的 交 互 4. 方 法 方 法 就 是 对 象 所 能 执 行 的 操 作 方 法 包 括 接 口 和 方 法 体 两 部 分 方 法 的 接 口 就 是 消 息 的 模 式 诉 用 户 如 何 调 用 该 方 法 ; 方 法 体 则 是 实 现 操 作 的 一 系 列 步 骤, 也 就 是 一 段 程 序 代 码 消 息 和 方 法 的 关 系 是 : 对 象 接 收 到 其 他 对 象 的 消 息, 就 调 用 相 应 的 方 法 ; 反 之, 有 了 合 适 的 方 法 才 能 响 应 相 应 的 消 息 所 以, 消 息 模 式 和 方 法 接 口 应 该 是 一 致 的, 只 要 方 法 接 口 保 持 不 变, 方 改 变 就 不 会 影 响 方 法 的 调 用
12 第 1 章 C++ 概 述 传 统 程 序 设 计 及 其 局 限 性 20 世 纪 50 年 代 初 的 程 序 都 是 用 机 器 语 言 和 汇 编 语 言 编 写 的, 使 程 序 设 计 相 当 麻 烦, 严 重 影 响 机 的 普 及 应 用 20 世 纪 50 年 代 中 期 出 现 了 高 级 程 序 设 计 语 言 FORTRAN, 它 在 计 算 机 程 序 设 计 语 言 发 展 史 上 时 代 的 意 义 该 语 言 引 进 了 许 多 重 要 的 程 序 设 计 概 念, 如 变 量 数 组 循 环 及 条 件 分 支 等 但 是 言 在 使 用 中 也 发 现 了 一 些 不 足, 例 如 不 同 部 分 的 相 同 变 量 名 容 易 发 生 混 淆 等 20 世 纪 50 年 代 后 期, 高 级 语 言 Algol 60 的 设 计 者 决 定 在 程 序 段 内 部 对 变 量 实 行 隔 离, 提 出 了 的 思 想, 由 Begin End 来 实 现 块 结 构, 这 样 此 块 内 的 变 量 就 不 会 和 其 他 块 内 的 同 名 变 量 混 淆 据 实 行 了 保 护 后 来, 随 着 计 算 机 应 用 的 日 益 广 泛, 一 系 列 不 同 风 格 的 为 不 同 对 象 服 务 的 程 序 设 计 语 言 出 现 了 COBOL 和 Pascal 等 高 级 语 言 的 蓬 勃 发 展, 促 使 编 译 和 形 式 语 言 理 论 日 趋 完 善 但 就 整 个 程 序 法 而 言, 并 无 实 质 性 的 突 破 20 世 纪 60 年 代 末 到 70 年 代 初, 出 现 了 大 型 的 软 件 系 统, 如 操 作 数 据 库 管 理 系 统 等, 这 给 程 序 设 计 带 来 了 许 多 新 的 问 题 大 型 软 件 系 统 的 研 制 需 要 花 费 大 量 的 物 力, 但 编 写 出 来 的 软 件 可 靠 性 差, 错 误 多, 难 以 维 护, 已 经 到 了 程 序 员 无 法 控 制 的 地 步, 于 了 软 件 危 机 1969 年,E.W.Dijkstra 首 先 提 出 了 结 构 化 程 序 设 计 的 概 念, 他 强 调 了 从 程 序 结 构 和 风 格 上 序 设 计, 对 软 件 危 机 起 了 很 大 的 缓 解 作 用 结 构 化 程 序 设 计 的 程 序 代 码 是 按 顺 序 执 行 的, 完 整 的 控 制 结 构, 函 数 之 间 的 参 数 按 一 定 规 则 传 递, 不 提 倡 使 用 全 局 变 量, 程 序 设 计 的 首 要 问 设 计 过 程 因 此, 结 构 化 程 序 设 计 仍 是 面 向 过 程 的 程 序 设 计 到 20 世 纪 70 年 代 末, 结 构 化 程 序 设 计 方 法 有 了 很 大 的 发 展, 但 由 于 程 序 规 模 越 来 越 大, 数 据 这 些 数 据 的 方 法 之 间 的 分 离 往 往 使 程 序 变 得 难 以 理 解, 单 纯 的 面 向 过 程 的 程 序 设 计 不 适 宜 于 大 序 开 发, 已 不 能 满 足 要 求, 因 此 出 现 了 模 块 化 程 序 设 计 模 块 化 程 序 设 计 将 软 件 划 分 成 若 干 个 可 单 独 命 名 和 编 址 的 部 分, 称 之 为 模 块 模 块 化 程 序 设 计 思 路 是 自 顶 向 下, 逐 步 求 精, 其 程 序 结 构 是 按 功 能 划 分 成 若 干 个 基 本 模 块, 各 模 块 之 间 尽 可 能 简 单, 在 功 能 上 相 对 独 立 模 块 和 模 块 之 间 隔 离, 其 他 模 块 不 能 访 问 这 个 模 块 的 内 部 信 息 些 信 息 对 模 块 外 部 是 不 透 明 的, 只 能 通 过 严 格 定 义 的 接 口 对 模 块 进 行 访 问 模 块 化 程 序 设 计 将 数 据 结 构 和 相 应 算 法 集 中 在 一 个 模 块 中, 提 出 了 数 据 结 构 + 算 法 = 程 序 设 计 序 设 计 方 法 模 块 化 能 够 有 效 地 管 理 和 维 护 软 件 研 发, 能 够 有 效 地 分 解 和 处 理 复 杂 问 题, 这 使 化 程 序 设 计 方 法 普 遍 被 人 们 接 受 但 它 仍 是 一 种 面 向 过 程 的 程 序 设 计 方 法, 程 序 员 必 须 时 刻 考 处 理 数 据 的 格 式, 对 不 同 格 式 的 数 据 做 相 同 处 理 或 对 相 同 数 据 格 式 做 不 同 处 理 都 要 重 新 编 程, 重 用 性 不 好 综 上 所 述, 随 着 计 算 机 技 术 大 规 模 地 推 广, 人 们 对 计 算 机 软 件 的 功 能 要 求 越 来 越 多, 对 软 件 的 求 越 来 越 高, 传 统 的 程 序 设 计 已 不 能 满 足 这 些 日 益 增 长 的 需 要, 其 局 限 性 主 要 表 现 在 以 下 几 个 1. 传 统 程 序 设 计 开 发 的 软 件 生 产 效 率 低 下 从 1946 年 世 界 上 第 一 台 电 子 计 算 机 问 世 以 来, 计 算 机 硬 件 的 发 展 已 经 历 了 电 子 管 晶 体 管
13 C++ 程 序 设 计 费 用 高 硬 件 生 产 之 所 以 效 率 高, 主 要 原 因 是 其 生 产 方 式 已 由 分 立 元 件 一 级 的 设 计 发 展 到 芯 片 ( 模 集 成 电 路 ) 一 级 的 设 计, 硬 件 重 用 性 很 好, 便 于 实 现 生 产 过 程 的 工 程 化 和 自 动 化, 生 产 效 率 高 了 然 而, 传 统 的 程 序 设 计 语 言 尽 管 经 历 了 从 低 级 语 言 到 高 级 语 言 的 发 展, 但 其 程 序 设 计 的 主 要 工 围 绕 设 计 解 题 过 程 来 进 行 的, 故 称 为 面 向 过 程 的 程 序 设 计, 传 统 的 程 序 设 计 语 言 也 称 为 过 程 性 这 种 软 件 生 产 方 式 仍 是 采 用 原 始 方 式 进 行 的, 程 序 设 计 还 是 从 语 句 一 级 开 始, 软 件 生 产 缺 乏 可 构 件, 软 件 的 重 用 问 题 没 有 得 到 很 好 的 解 决, 导 致 软 件 生 产 的 工 程 化 和 自 动 化 屡 屡 受 阻 复 杂 性 也 是 影 响 软 件 生 产 效 率 的 重 要 因 素 随 着 计 算 机 应 用 范 围 越 来 越 广, 软 件 的 规 模 越 来 越 大 决 的 问 题 也 越 来 越 复 杂 传 统 程 序 设 计 的 是 数 据 与 数 据 的 操 作 分 离, 而 且 对 同 一 数 据 的 操 作 往 在 程 序 的 不 同 地 方 这 样, 如 果 一 个 或 多 个 数 据 的 结 构 发 生 变 化, 这 种 变 化 将 波 及 程 序 的 许 多 甚 至 遍 及 整 个 程 序, 致 使 许 多 函 数 和 过 程 需 要 重 写, 严 重 时 会 导 致 整 个 程 序 的 崩 溃 因 此, 程 杂 性 对 传 统 程 序 设 计 是 一 个 很 棘 手 的 问 题, 也 是 传 统 程 序 设 计 难 于 有 根 本 性 突 破 的 重 要 原 因 软 件 维 护 是 软 件 生 命 周 期 中 最 后 一 个 环 节 传 统 程 序 设 计 中 数 据 与 数 据 的 操 作 分 离 的 结 构, 使 数 据 和 处 理 数 据 的 操 作 过 程 要 花 费 大 量 的 时 间 和 精 力, 严 重 地 影 响 了 软 件 的 生 产 效 率 总 之, 要 提 高 软 件 的 生 产 效 率, 就 必 须 很 好 地 解 决 软 件 的 重 用 性 复 杂 性 和 可 维 护 性 问 题, 但 统 程 序 设 计 无 法 解 决 的 2. 传 统 程 序 设 计 难 以 应 付 庞 大 的 信 息 量 和 多 样 的 信 息 类 型 当 前, 计 算 机 要 处 理 的 数 据 已 从 简 单 的 数 字 和 字 符, 发 展 为 具 有 多 种 格 式 的 多 媒 体 数 据, 如 文 本 视 频 图 形 图 像 和 动 画 等, 描 述 的 问 题 从 单 纯 的 计 算 问 题 发 展 到 复 杂 的 自 然 现 象 和 社 会 现 于 是, 计 算 机 要 处 理 的 信 息 量 和 信 息 类 型 迅 速 增 加, 这 就 要 求 程 序 语 言 有 更 强 大 的 信 息 处 理 而 这 是 传 统 程 序 设 计 无 法 办 到 的 3. 传 统 程 序 设 计 难 以 适 应 各 种 新 环 境 当 前, 在 计 算 机 应 用 技 术 中, 并 行 处 理 分 布 式 处 理 网 络 和 多 机 系 统 应 用 等 已 经 成 为 程 序 设 流, 这 就 要 求 系 统 包 括 一 些 具 有 独 立 数 据 处 理 能 力 的 节 点, 节 点 之 间 有 通 信 机 制, 即 能 以 消 息 行 联 络, 而 这 也 是 传 统 程 序 设 计 无 能 为 力 的 显 然, 传 统 程 序 设 计 已 不 能 满 足 计 算 机 技 术 迅 猛 发 展 的 需 要, 大 规 模 软 件 开 发 迫 切 需 要 一 种 全 序 设 计 方 法 来 满 足 需 要 面 向 对 象 程 序 设 计 及 其 优 点 在 程 序 设 计 中 各 种 概 念 和 方 法 日 益 成 熟 的 基 础 上, 就 如 何 超 越 程 序 的 复 杂 性 障 碍, 如 何 在 计 算 中 自 然 地 表 示 客 观 世 界 等 问 题, 人 们 提 出 了 面 向 对 象 的 程 序 设 计 方 法 它 不 是 以 过 程 为 中 心, 对 象 为 中 心 环 节, 提 出 了 对 象 + 消 息 = 程 序 设 计 的 理 论, 使 人 们 对 复 杂 系 统 的 认 识 过 程 与 系 序 设 计 实 现 过 程 尽 可 能 地 一 致 面 向 对 象 程 序 设 计 是 程 序 设 计 发 展 史 上 的 一 个 重 要 里 程 碑, 它 从 根 本 上 改 变 了 人 们 以 往 设 计 程 维 方 式, 从 而 使 程 序 设 计 摆 脱 了 具 体 的 数 据 格 式 和 过 程 的 束 缚, 将 精 力 集 中 在 要 处 理 对 象 的 设 究 上, 极 大 地 减 少 了 软 件 开 发 的 复 杂 性, 提 高 了 软 件 开 发 的 效 率 面 向 对 象 程 序 设 计 摒 弃 了 传
14 第 1 章 C++ 概 述 5 括 抽 象 和 继 承 等 ), 是 一 种 全 新 的 进 行 程 序 设 计 的 思 想 体 系 它 将 数 据 及 对 数 据 的 操 作 集 中 在 作 为 一 个 相 互 依 存, 不 可 分 割 的 整 体 来 处 理, 采 用 数 据 抽 象 和 信 息 隐 藏 技 术 加 入 了 类 及 其 继 对 象 以 类 为 模 板 被 创 建, 系 统 由 对 象 组 成, 对 象 经 历 一 系 列 的 状 态 变 化 以 完 成 任 务 在 面 向 对 设 计 中, 首 要 的 任 务 是 设 计 类, 每 个 类 应 设 置 足 够 的 操 作, 并 利 用 继 承 机 制 显 示 共 享 相 同 的 代 码 可 重 用 性 好 面 向 对 象 程 序 设 计 主 要 有 以 下 优 点 1. 可 提 高 程 序 代 码 的 重 用 性 面 向 对 象 程 序 设 计 中 对 象 所 具 有 的 封 装 性 和 信 息 隐 藏 等 特 性, 使 得 对 象 内 部 实 现 与 外 界 隔 离, 强 的 独 立 性, 可 以 作 为 一 个 可 重 用 的 程 序 构 件, 供 同 类 程 序 直 接 使 用 面 向 对 象 程 序 设 计 中 的 继 承 机 制 不 仅 使 子 类 可 以 重 用 其 父 类 的 数 据 和 程 序 代 码, 而 且 可 以 在 父 础 上 直 接 修 改 和 扩 充 这 种 修 改 并 不 影 响 对 原 有 类 的 使 用, 就 像 使 用 集 成 电 路 (IC) 构 建 硬 件 一 样, 可 以 方 便 地 利 用 类 来 构 建 软 件 系 统 因 此, 有 人 把 类 称 为 软 件 IC 2. 可 控 制 程 序 的 复 杂 性 面 向 对 象 程 序 设 计 采 用 了 数 据 抽 象 和 信 息 隐 藏 技 术, 把 数 据 和 对 数 据 的 操 作 封 装 在 类 中, 作 为 存 不 可 分 割 的 整 体 来 处 理 这 样, 在 程 序 中 任 何 要 访 问 这 些 数 据 的 地 方, 只 要 简 单 地 通 过 消 和 调 用 方 法 就 可 以 实 现 数 据 访 问, 有 效 地 控 制 了 程 序 的 复 杂 性 3. 可 改 善 程 序 的 可 维 护 性 在 面 向 对 象 程 序 设 计 中, 对 象 的 操 作 只 能 通 过 消 息 传 递 来 实 现 所 以, 只 要 消 息 模 式 即 对 应 的 口 不 变, 方 法 体 的 任 何 修 改 都 不 会 导 致 发 送 消 息 的 程 序 修 改, 这 显 然 给 程 序 的 维 护 带 来 了 方 便, 类 的 封 装 和 信 息 隐 藏 机 制 使 得 外 界 不 可 能 对 类 中 的 数 据 和 程 序 代 码 进 行 非 法 操 作, 这 也 大 大 程 序 出 错 的 可 能 性 4. 能 更 好 地 支 持 大 型 程 序 设 计 在 开 发 一 个 大 型 系 统 时, 应 对 任 务 进 行 明 确 的 严 格 划 分, 使 每 个 程 序 员 了 解 自 己 要 做 的 工 作 以 人 的 接 口, 方 便 每 个 程 序 员 独 立 地 设 计 调 试 自 己 负 责 的 模 块, 使 各 个 模 块 能 够 顺 利 地 应 用 到 统 中 面 向 对 象 程 序 设 计 中 的 类 是 一 个 抽 象 的 数 据 类 型, 所 以 类 作 为 一 个 程 序 模 块, 比 通 常 的 子 程 序 性 强 得 多, 面 向 对 象 程 序 设 计 又 引 入 了 动 态 连 接 和 继 承 等 机 制, 可 以 更 好 地 支 持 大 型 程 序 设 计 5. 增 强 了 计 算 机 处 理 信 息 的 范 围 面 向 对 象 程 序 设 计 模 拟 人 类 考 虑 问 题 和 认 识 世 界 的 方 式, 代 表 了 计 算 机 程 序 设 计 的 全 新 思 维 这 种 方 法 把 描 述 事 物 静 态 属 性 的 数 据 结 构 和 表 示 事 物 动 态 行 为 的 操 作 放 在 一 起 构 成 一 个 整 体, 自 然 地 表 示 客 观 世 界 的 实 体 用 类 来 直 接 描 述 现 实 世 界 中 的 类 型, 可 使 计 算 机 系 统 的 描 述 和 处 理 的 对 象 从 数 据 扩 展 到 现 实 世 种 事 物, 这 将 大 大 扩 展 计 算 机 系 统 能 够 处 理 的 信 息 量 和 信 息 类 型 6. 能 很 好 地 适 应 新 环 境 面 向 对 象 程 序 设 计 中 的 对 象 消 息 传 递 等 思 想 和 机 制, 与 并 行 处 理 分 布 式 处 理 网 络 和 多 机 用 等 恰 好 吻 合, 可 以 开 发 出 适 应 这 些 新 环 境 的 软 件 系 统 面 向 对 象 程 序 设 计 也 影 响 到 计 算 机 硬 系 结 构, 现 在 已 经 有 人 开 始 研 究 直 接 支 持 对 象 概 念 的 面 向 对 象 计 算 机, 这 样 的 计 算 机 将 更 加 适
15 C++ 程 序 设 计 面 向 对 象 程 序 设 计 的 特 点 面 向 对 象 程 序 设 计 是 在 吸 取 结 构 化 程 序 设 计 的 一 切 优 点 的 基 础 上 发 展 起 来 的 一 种 全 新 的 程 序 法, 其 本 质 是 把 数 据 和 处 理 数 据 的 过 程 抽 象 成 一 个 具 有 特 定 身 份 和 属 性 的 实 体 对 象 面 程 序 设 计 最 突 出 的 特 点 就 是 封 装 性 继 承 性 和 多 态 性 1. 封 装 性 封 装 是 一 种 数 据 隐 藏 技 术 在 面 向 对 象 程 序 设 计 中 可 以 把 数 据 和 与 数 据 有 关 的 操 作 集 中 在 一 起, 将 类 的 一 部 分 属 性 和 操 作 隐 藏 起 来, 不 让 用 户 访 问 ; 另 一 部 分 作 为 类 的 外 部 接 口, 用 户 可 以 类 通 过 接 口 与 外 部 发 生 联 系, 用 户 只 能 通 过 类 的 外 部 接 口 使 用 类 提 供 的 服 务, 而 内 部 的 具 体 实 则 被 隐 藏 起 来, 对 外 是 不 可 见 的 封 装 可 以 描 述 如 下 1 一 个 清 楚 的 边 界 对 象 的 所 有 属 性 和 操 作 被 限 定 在 该 边 界 内 部 2 一 个 口 该 接 口 用 以 描 述 这 个 对 象 和 其 他 对 象 之 间 的 相 互 作 用, 就 是 给 出 在 编 写 程 序 时, 用 户 可 以 用 的 属 性 和 操 作 3 隐 藏 受 保 护 的 属 性 和 内 部 操 作 类 所 提 供 的 功 能 的 实 现 细 节, 以 及 仅 供 内 和 修 改 的 属 性, 不 能 在 定 义 这 个 对 象 的 类 的 外 部 访 问 C++ 语 言 通 过 类 来 支 持 封 装 性 类 是 对 象 的 抽 象 及 描 述, 对 象 是 类 的 实 例 化 的 产 物, 一 个 类 中 对 象 都 具 有 相 同 的 数 据 结 构 和 操 作 代 码 在 C++ 语 言 中, 类 是 数 据 及 其 相 关 操 作 的 封 装 体, 可 一 个 整 体 来 使 用 类 中 的 具 体 操 作 细 节 被 封 装 起 来, 用 户 在 使 用 一 个 已 定 义 类 的 对 象 时, 无 需 内 部 的 实 际 工 作 流 程, 只 要 知 道 如 何 通 过 其 外 部 接 口 使 用 它 即 可 封 装 的 目 的 就 是 防 止 非 法 访 问 对 属 性 和 操 作 的 访 问 权 限 进 行 合 理 控 制, 减 少 程 序 之 间 的 相 互 影 响, 降 低 出 错 的 可 能 性 2. 继 承 性 继 承 这 一 概 念 在 现 实 世 界 中 无 处 不 在, 如 子 女 会 继 承 父 母 的 大 部 分 特 点, 新 的 产 品 会 在 老 型 号 上 进 行 改 进 因 为 有 继 承, 人 类 的 文 明 史 才 会 不 断 地 延 续 和 发 展 在 面 向 对 象 程 序 设 计 中, 继 承 是 指 新 建 的 类 从 已 有 的 类 那 里 获 得 已 有 的 属 性 和 操 作 已 有 的 类 类 或 父 类, 继 承 基 类 而 产 生 的 新 建 类 称 为 基 类 的 子 类 或 派 生 类 由 父 类 产 生 子 类 的 过 程 称 为 类 C++ 语 言 支 持 单 继 承 和 多 继 承 通 过 继 承, 程 序 可 以 在 现 有 类 的 基 础 上 声 明 新 类, 即 新 类 是 从 的 基 础 上 派 生 出 来 的, 新 类 将 共 享 原 有 类 的 属 性, 并 且 还 可 以 添 加 新 的 属 性 继 承 有 效 地 实 现 代 码 的 重 用, 增 强 了 系 统 的 可 扩 充 性 3. 多 态 性 在 人 们 的 日 常 生 活 中, 常 常 把 下 象 棋 下 跳 棋 下 围 棋 和 下 军 棋 等 统 称 为 下 棋 是 用 下 棋 这 同 一 个 名 称 来 代 替 下 象 棋 下 跳 棋 下 围 棋 和 下 军 棋 等 这 些 类 似 在 面 向 对 象 程 序 设 计 中, 通 过 多 态 性 来 支 持 这 一 思 想 多 态 性 是 指 相 同 的 函 数 名 可 以 有 多 个 不 数 体, 即 一 个 函 数 名 可 以 对 应 多 个 不 同 的 实 现 部 分 在 调 用 同 一 函 数 时, 由 于 环 境 的 不 同, 可 不 同 的 行 为, 导 致 不 同 的 动 作, 这 种 功 能 称 为 多 态 它 使 得 类 中 具 有 相 似 功 能 的 不 同 函 数 可 以 一 个 函 数 名 多 态 既 表 达 了 人 类 的 思 维 方 式, 又 减 少 了 程 序 中 标 示 符 的 个 数, 方 便 了 程 序 员 编 写 程 序 多 态
16 第 1 章 C++ 概 述 7 伴 随 面 向 对 象 程 序 设 计 方 法 的 提 出, 出 现 了 不 少 面 向 对 象 程 序 设 计 语 言 早 在 20 世 纪 60 年 代, 就 了 最 早 的 面 向 对 象 程 序 设 计 语 言 Simula 67 语 言 它 将 Algol 60 语 言 中 的 块 结 构 概 念 向 前 推 进 了 一, 提 出 了 对 象 的 概 念 对 象 代 表 着 待 处 理 问 题 中 的 一 个 实 体, 在 处 理 问 题 过 程 中, 一 个 对 象 可 种 形 式 与 其 他 对 象 通 信 从 概 念 上 讲, 一 个 对 象 是 既 包 含 数 据 又 包 含 有 处 理 这 些 数 据 操 作 的 一 个 程 元 Simula 语 言 中 还 使 用 了 类 的 概 念, 类 是 用 来 描 述 特 性 相 同 或 相 近 的 一 组 对 象 的 结 构 和 行 为 该 也 支 持 类 的 继 承 继 承 可 将 多 个 类 组 成 为 层 次 结 构, 进 而 允 许 共 享 结 构 和 行 为 这 些 概 念 奠 定 了 面 象 程 序 设 计 语 言 的 基 础 20 世 纪 70 年 代 出 现 的 Ada 语 言 是 支 持 数 据 抽 象 类 型 的 最 重 要 的 语 言 之 一 数 据 抽 象 是 一 种 由 数 据 及 作 用 在 数 据 结 构 上 的 操 作 组 成 的 一 个 实 体, 把 数 据 结 构 隐 藏 在 操 作 接 口 的 内 部, 通 过 操 作 接 口 实 部 的 交 流 对 外 部 来 讲, 只 知 道 做 什 么, 而 不 知 道 如 何 做 Ada 语 言 中 面 向 对 象 的 抽 象 结 构 是 包, 持 数 据 抽 象 类 型 函 数 运 算 符 重 载 和 多 态 性 等 面 向 对 象 的 机 制 但 是,Ada 语 言 不 是 全 面 地 支 持, 因 此 人 们 常 称 它 为 基 于 对 象 的 程 序 设 计 语 言 20 世 纪 80 年 代 出 现 的 Smalltalk 语 言 是 最 有 影 响 的 面 向 对 象 程 序 设 计 语 言 之 一, 它 丰 富 了 面 向 对 概 念 该 语 言 并 入 了 Simula 语 言 的 许 多 面 向 对 象 的 特 征, 包 括 类 和 继 承 等, 而 且 信 息 隐 藏 更 加 严 Smalltalk 语 言 是 一 种 弱 类 型 化 的 语 言, 一 个 程 序 中 的 同 一 个 对 象 可 以 在 不 同 时 间 内 表 现 为 不 同 的 自 1986 年 以 来, 面 向 对 象 程 序 设 计 逐 渐 走 出 实 验 室 和 研 究 部 门, 开 始 进 入 实 际 应 用 面 向 对 象 设 计 语 言 大 量 涌 现, 广 泛 地 应 用 于 程 序 设 计, 出 现 了 Object-C,Java 和 C++ 等 有 广 泛 影 响 的 面 向 程 序 设 计 语 言 这 些 语 言 大 致 可 分 为 两 类 (1) 开 发 全 新 的 面 向 对 象 程 序 设 计 语 言, 其 中 最 具 有 代 表 性 的 语 言 是 Java,Smalltalk 和 Eiffel Jav 适 合 网 络 应 用 编 程 ;Smalltalk 语 言 完 整 体 现 了 面 向 对 象 程 序 设 计 的 概 念 ;Eiffel 语 言 除 了 具 有 封 装 和 外, 还 集 成 了 其 他 面 向 对 象 的 特 征, 是 一 种 很 好 的 面 向 对 象 程 序 设 计 语 言 (2) 对 传 统 语 言 进 行 面 向 对 象 程 序 设 计 的 扩 展 这 类 语 言 又 称 混 合 型 语 言, 一 般 是 在 其 他 语 基 础 上 加 入 面 向 对 象 程 序 设 计 的 概 念 开 发 出 来 的, 最 典 型 的 代 表 是 C++ C++ 是 一 种 高 效 实 用 的 型 面 向 对 象 程 序 设 计 语 言, 它 是 在 传 统 C 语 言 的 基 础 上 增 加 了 对 面 向 对 象 程 序 设 计 的 支 持, 包 括 分 : 一 部 分 是 C++ 基 础 部 分, 以 C 语 言 为 核 心 ; 另 一 部 分 是 C++ 面 向 对 象 部 分, 是 C++ 对 C 语 言 充 这 使 得 C++ 既 支 持 传 统 的 面 向 过 程 的 结 构 化 程 序 设 计, 又 支 持 新 型 的 面 向 对 象 程 序 设 计, 同 有 C 语 言 丰 富 的 应 用 基 础 和 开 发 环 境 的 支 持 ; 对 于 已 经 较 好 地 掌 握 了 C 语 言 的 用 户 而 言, 学 习 相 对 容 易 一 些, 这 些 都 是 C++ 成 为 当 前 最 为 流 行 的 面 向 对 象 程 序 设 计 语 言 的 主 要 原 因
17 C++ 程 序 设 计 1.2 C++ 的 发 展 和 特 点 C++ 的 发 展 各 种 程 序 设 计 语 言 对 程 序 设 计 方 法 的 支 持 是 不 同 的,C++ 完 全 支 持 面 向 对 象 程 序 设 计 C++ 的 要 归 功 于 C 语 言,C 语 言 在 C++ 中 作 为 子 集 保 留 了 下 来 C 语 言 是 由 Dennis Ritchie 设 计, 并 在 DEC PDP-11 上 的 Unix 操 作 系 统 环 境 下 实 现 的, 它 是 在 19 Ken Thompson 设 计 的 B 语 言 基 础 上 发 展 来 的 1980 年, 美 国 AT&T 公 司 贝 尔 实 验 室 的 Bjarne Stioustrup 博 士 为 了 仿 真 课 题 研 究, 编 写 了 称 为 C 的 语 言 版 本 1983 年 7 月 用 C++ 将 该 语 言 名 字 定 下 来, 并 向 研 究 小 组 之 外 发 表 C++ 的 名 了 从 C 语 言 而 来 的 演 化 特 性, ++ 是 C 的 增 量 运 算 符, 之 所 以 没 有 叫 D 语 言, 是 因 为 C++ 是 的 扩 充, 它 继 承 了 C 语 言 的 优 点, 又 极 大 地 扩 充 了 C 语 言 的 功 能, 是 在 C 语 言 的 基 础 上 增 加 了 象 程 序 设 计 的 特 征 C++ 已 经 在 众 多 应 用 领 域 中 迅 速 成 为 程 序 员 首 选 的 程 序 设 计 语 言, 尤 其 适 用 于 开 发 大 中 型 项 目 件 开 发 时 间 费 用 到 软 件 的 可 重 用 性 可 扩 充 性 可 维 护 性 以 及 可 靠 性 等 方 面,C++ 都 显 示 出 性 与 之 相 适 应,C++ 语 言 的 开 发 环 境 也 随 之 不 断 推 出 目 前, 常 用 的 C++ 开 发 环 境 主 要 有 Borla +,Visual C++( 简 称 VC) 等 1986 年 Borland 公 司 开 发 了 Turbo C++ 程 序 语 言, 而 后 又 推 出 了 Borland C++ 版 本 Microsoft 公 20 世 纪 80 年 代 中 期 在 Microsoft C 6.0 的 基 础 上 开 发 了 Microsoft C/C++ 7.0, 同 时 引 进 了 Microso ndation Class(MFC)1.0 版 本, 完 善 了 源 代 码 这 些 版 本 都 是 依 赖 于 DOS 环 境 的, 直 到 Microso 推 出 的 Microsoft C/C++ 8.0, 即 Visual C 版 本 出 现, 它 是 第 一 个 真 正 基 于 Windows 环 境 视 化 的 集 成 开 发 环 境, 将 编 辑 编 译 连 接 和 运 行 集 成 为 一 体 从 Visual C 版 本 以 后,Microso 决 定 不 再 将 更 多 的 努 力 花 在 支 持 16 位 编 程 上 虽 然 Visual C 仍 提 供 对 16 位 的 支 持, 但 版 本 以 后,Visual C++ 将 更 多 地 用 来 创 建 32 位 程 序 在 版 本 上,Microsoft 公 司 没 有 推 出 3.0 版 本 号 直 接 从 2.0 跳 到 了 4.0, 将 Visual C++ 与 MFC 的 版 本 号 取 得 一 致 由 于 Internet 的 迅 猛 发 展, 针 对 网 络 环 境 下 的 面 向 对 象 程 序 设 计 明 显 占 据 主 导 地 位, 所 以 Microso 在 Visual C 版 本 中, 引 进 了 为 Internet 编 程 而 设 计 的 新 类 库 Visual C 版 本 也 增 加 新 类, 但 注 意 力 更 多 地 集 中 在 改 善 界 面 设 计 上, 以 提 供 一 个 更 好 的 在 线 帮 助 系 统 更 高 级 的 宏 对 在 开 发 者 组 内 进 行 类 和 其 他 代 码 共 享 的 支 持 伴 随 Windows 98 操 作 系 统 的 发 布,Microsoft 公 司 又 隆 重 推 出 了 Visual C 它 在 Visual C++ 5 础 上 做 了 很 大 改 进, 提 供 了 许 多 新 的 特 点, 功 能 更 加 强 大 它 具 有 以 下 特 点 (1) 编 译 器 较 以 前 有 了 很 大 的 改 进, 可 以 支 持 ANSI C++ 标 准, 并 支 持 布 尔 类 型, 对 于 模 板 的 得 到 了 改 善 (2)Visual C 开 发 环 境 Developer Studio 是 由 Windows 95/98 或 Windows NT 环 境 下 运 行 集 成 工 具 所 组 成 Developer Studio 编 辑 器 有 了 很 大 的 改 善, 它 具 有 允 许 编 辑 器 自 动 地 完 成 通 用 辑 的 特 点 使 用 Developer Studio 不 仅 可 以 创 建 被 Visual C 使 用 的 源 文 件 和 其 他 文 档, 而
18 第 1 章 C++ 概 述 9 作 区 窗 口 来 查 看 和 访 问 项 目 中 的 各 种 元 素 (3)Visual C 包 括 一 些 增 加 的 MFC(Microsoft Fundation Class) 库 的 新 功 能 增 加 的 内 容 包 Internet 编 程 的 库 和 支 持 在 Internet Explorer 和 Windows 98 中 介 绍 的 新 的 通 用 控 件 (4)Visual C 提 供 了 最 快 的 集 成 数 据 库 访 问 方 式, 允 许 用 户 建 立 强 有 力 的 数 据 库 应 用 程 序 使 用 ODBC 类 和 高 性 能 的 32 位 ODBC 驱 动 程 序 来 访 问 各 种 数 据 库 管 理 系 统, 也 可 以 使 用 DA 据 访 问 对 象 ) 类 通 过 编 程 语 言 来 访 问 和 操 纵 数 据 库 中 的 数 据 并 管 理 数 据 库 数 据 库 对 象 与 结 构 (5)Visual C 对 Internet 提 供 了 强 有 力 的 支 持 (6) 一 个 增 强 型 的 联 机 帮 助 系 统 使 Visual C 变 得 容 易 学 习, 只 需 单 击 鼠 标 即 可 实 现 若 机 上 安 装 了 MSDN, 联 机 帮 助 系 统 将 自 动 使 用 最 新 的 MSDN 版 本 总 之,Visual C++ 经 历 了 从 1.0 到 6.0 版 本 的 发 展, 软 件 系 统 逐 渐 庞 大, 功 能 也 日 臻 完 善 考 虑 ual C 的 流 行 性, 本 书 将 以 Visual C 作 为 编 写 C++ 程 序 的 集 成 开 发 环 境, 所 有 程 序 均 中 文 VC 集 成 开 发 环 境 下 运 行 通 过 C++ 的 特 点 (1)C++ 全 面 兼 容 C 语 言, 许 多 C 语 言 代 码 不 经 修 改 就 可 以 在 C++ 中 使 用 (2) 用 C++ 编 写 的 程 序 可 读 性 更 好, 代 码 结 构 更 为 合 理 (3) 生 成 代 码 质 量 高, 运 行 效 率 仅 比 汇 编 语 言 慢 10%~20% (4) 从 开 发 时 间 费 用 到 形 成 软 件 的 可 重 用 性 可 扩 充 性 可 维 护 性 和 可 靠 性 等 方 面 都 有 很 大 使 得 大 中 型 软 件 开 发 变 得 容 易 (5) 支 持 面 向 对 象 程 序 设 计, 可 方 便 地 构 造 出 模 拟 现 实 问 题 的 实 体 和 操 作 C++ 与 C 语 言 的 关 系 C++ 是 C 语 言 的 一 个 超 集,C++ 包 含 了 C 语 言 的 全 部 内 容, 它 与 C 语 言 的 关 系 如 下 1.C++ 保 持 了 与 C 语 言 的 兼 容 这 种 兼 容 性 表 现 在 绝 大 多 数 C 语 言 程 序 代 码 无 需 任 何 修 改 就 可 以 直 接 在 C++ 程 序 中 应 用, 用 C 写 的 许 多 库 函 数 和 应 用 软 件 也 都 可 以 直 接 用 于 C++, 这 使 得 C 程 序 员 能 够 更 容 易 地 学 习 C++, 握 C++ 语 言 的 新 特 征 就 可 以 了 但 是, 这 种 兼 容 性 也 使 得 C++ 语 言 不 是 一 个 纯 粹 的 面 向 对 象 程 序 设 计 语 言 因 为 C 语 言 是 面 向 过 序 设 计 语 言,C++ 要 与 C 语 言 兼 容, 所 以 C++ 也 要 支 持 面 向 过 程 的 程 序 设 计 这 使 得 C++ 可 以 将 同 风 格 的 程 序 设 计 技 术 融 为 一 体, 但 也 有 可 能 使 初 学 者 感 到 无 所 适 从 因 此, 在 学 习 C++ 程 序 设 计 时 用 面 向 过 程 的 思 想 去 学 习 面 向 对 象 的 程 序 设 计, 要 转 变 以 前 传 统 的 观 念, 注 意 采 用 面 向 对 象 的 思 维 从 全 新 的 面 向 对 象 的 角 度 来 学 习 C++ 程 序 设 计 2.C++ 对 C 语 言 作 了 很 多 改 进 C++ 既 保 持 了 C 语 言 的 简 洁 高 效 的 特 点, 同 时 又 对 C 语 言 作 了 改 进 和 补 充, 主 要 有 以 下 几 点 (1) 增 加 了 一 些 新 的 运 算 符, 使 得 C++ 应 用 起 来 更 加 方 便 例 如 :::,new,delete 和 > 等 (2) 改 进 了 类 型 系 统, 增 加 了 安 全 性 C 语 言 中 类 型 转 换 很 不 严 格,C++ 规 定 类 型 转 换 多 采 取 换 ; 又 规 定 函 数 的 说 明 必 须 采 用 原 型 ; 对 缺 省 类 型 作 了 些 限 制 ; 还 增 加 了 编 译 系 统 检 查 类 型 的
19 C++ 程 序 设 计 (4) 允 许 函 数 和 运 算 符 重 载, 允 许 设 置 缺 省 参 数, 这 些 措 施 提 供 了 程 序 的 灵 活 性, 减 少 了 冗 余 性 进 了 内 联 函 数 的 概 念, 提 高 了 程 序 的 效 率 (5) 对 变 量 说 明 更 加 灵 活 C 语 言 只 允 许 在 函 数 体 内 部 进 行 说 明, 而 且 必 须 先 声 明 后 使 用, 否 出 错 C++ 打 破 了 这 一 限 制, 可 以 根 据 需 要 随 时 对 变 量 进 行 说 明 3.C++ 与 C 语 言 的 本 质 区 别 C 语 言 仅 仅 支 持 面 向 过 程 的 程 序 设 计, 而 C++ 是 在 C 语 言 的 基 础 上 增 加 了 面 向 对 象 程 序 设 计 的, 所 以 C++ 支 持 面 向 对 象 程 序 设 计 可 以 说 C++ 不 仅 仅 是 对 C 语 言 进 行 了 一 些 改 进, 更 重 要 的 了 一 次 变 革, 使 得 C++ 成 为 学 习 面 向 对 象 程 序 设 计 的 首 选 1.3 C++ 程 序 基 本 结 构 学 习 C++ 程 序 设 计, 最 好 先 从 最 简 单 的 C++ 程 序 开 始, 先 接 触 C++ 的 最 基 本 结 构, 以 后 再 逐 步 了 解 C++ 程 序 的 完 整 结 构 C++ 程 序 基 本 结 构 现 在 通 过 编 制 一 个 小 程 序 来 说 明 C++ 程 序 的 基 本 结 构, 该 程 序 在 屏 幕 上 显 示 输 出 一 行 字 符 串 Th y first C++ program! 例 1.1 一 个 简 单 的 C++ 程 序 # include "iostream.h" void main() // 在 显 示 器 上 输 出 显 示 一 行 字 符 串 cout<<"this is my first C++ program! "<<endl; 下 面 来 分 析 例 1.1 的 程 序 结 构 程 序 第 一 行 #include <iostream.h> 是 一 条 预 处 理 指 令, 指 示 编 译 器 将 头 文 件 iostream.h 中 的 代 码 程 序 中 该 指 令 所 在 之 处 C++ 程 序 开 始 部 分 出 现 以 # 开 头 的 命 令, 表 示 这 些 命 令 是 预 处 理 命 令 C+ 了 3 类 预 处 理 命 令 : 宏 定 义 命 令 文 件 包 含 命 令 和 条 件 编 译 命 令 例 1.1 中 出 现 的 # inclu stream.h> 是 文 件 包 含 命 令, 其 中 include 是 关 键 字, 尖 括 号 内 是 被 包 含 的 文 件 名,iostream.h 是 一 件, 它 以.h 为 扩 展 名, 该 文 件 包 含 程 序 输 入 / 输 出 操 作 所 必 须 的 标 准 输 入 / 输 出 流 对 象 第 二 行 定 义 了 一 个 主 函 数 main(), 其 中 main 是 函 数 名,void 表 示 该 函 数 没 有 返 回 值 它 是 程 执 行 的 地 方, 即 程 序 生 成 可 执 行 文 件 后, 将 在 此 处 开 始 运 行 程 序 C++ 的 程 序 是 由 若 干 个 文 件, 每 个 文 件 又 由 若 干 个 函 数 组 成 因 此, 可 以 认 为 C++ 的 程 序 就 是 由 一 个 个 的 函 数 组 成 的 函 是 相 互 独 立 的, 相 互 之 间 可 以 调 用 在 组 成 一 个 C++ 程 序 的 若 干 个 函 数 中, 必 须 有 一 个 且 只 能 主 函 数 main() 执 行 程 序 时, 系 统 先 从 主 函 数 开 始 运 行, 其 他 函 数 只 能 被 主 函 数 调 用 或 通 过 主 用 的 函 数 所 调 用, 函 数 可 以 嵌 套 调 用, 即 在 一 个 函 数 中 调 用 另 外 一 个 函 数 主 函 数 可 以 带 参 数 以 不 带 参 数 函 数 在 调 用 之 前, 必 须 先 定 义 好 定 义 函 数 要 按 照 系 统 规 定 的 格 式 进 行, 以 后 再
20 第 1 章 C++ 概 述 11 函 数 的 结 束 函 数 体 部 分 由 许 多 C++ 语 句 组 成, 这 些 语 句 描 述 了 函 数 的 功 能 实 现 第 四 行 是 程 序 的 注 释 部 分, 用 来 说 明 下 面 的 语 句 是 要 在 显 示 器 上 输 出 显 示 一 行 字 符 串 注 释 信 较 大 或 较 复 杂 的 C++ 程 序 是 非 常 必 要 的, 可 以 解 释 一 行 语 句 或 几 行 语 句 的 作 用 或 功 能, 提 高 程 读 性 在 C++ 中, 注 释 信 息 有 两 种 类 型 : 一 种 是 如 例 1.1 所 示 用 // 作 注 释, 则 本 行 中 // 字 符 都 会 被 作 为 注 释 信 息 处 理 ; 另 一 种 注 释 信 息 是 用 /* 和 */ 作 注 释, 则 /* 和 */ 所 有 字 符 都 会 被 作 为 注 释 信 息 处 理, 此 时 的 注 释 信 息 可 以 是 一 行, 也 可 以 是 多 行, 适 合 于 大 块 第 五 行 是 主 函 数 的 函 数 体 部 分, 也 是 例 1.1 的 主 要 部 分 该 部 分 只 有 一 条 语 句, 其 中 cout 是 标 流 对 象, 实 际 指 定 显 示 器 为 输 出 设 备 ; << 是 cout 中 的 运 算 符, 表 示 把 它 后 面 的 数 据 在 输 出 输 出 显 示 ; This is my first C++ program! 是 要 输 出 显 示 的 具 体 内 容, 双 引 号 表 示 要 显 示 是 一 个 字 符 串 ; 最 后 的 endl 表 示 回 车 换 行 ; 分 号 ; 表 示 语 句 结 束,C++ 规 定 语 句 必 须 要 用 ; 结 尾 由 以 上 分 析 可 以 看 出, 一 个 C++ 程 序 的 基 本 结 构 包 括 以 # 开 头 的 若 干 个 预 处 理 命 令, 将 程 要 的 头 文 件 包 含 进 来 ; 然 后 是 定 义 主 函 数 和 其 他 函 数, 当 然 函 数 也 可 以 在 程 序 的 起 始 部 分 先 利 原 型 进 行 声 明, 在 以 后 再 进 行 定 义 ; 用 大 括 号 括 起 来 的 部 分 就 是 函 数 体 部 分, 函 数 体 部 分 主 各 种 各 样 的 语 句 和 注 释 信 息, 这 部 分 应 该 是 程 序 的 主 体 部 分, 占 的 比 重 也 最 大 C++ 程 序 的 书 写 格 式 C++ 程 序 的 书 写 格 式 基 本 与 C 语 言 程 序 书 写 格 式 相 同 基 本 原 则 如 下 (1) 一 般 情 况 下 一 行 只 写 一 条 语 句 短 语 句 可 以 一 行 写 多 条, 长 语 句 可 以 分 成 多 行 来 写 分 行 不 能 将 一 个 单 词 分 开 ; 用 双 引 号 括 起 来 的 字 符 串 最 好 也 不 要 分 开, 如 果 一 定 要 分 开, 有 的 编 译 求 在 行 尾 加 上 续 行 符 \ (2)C++ 程 序 书 写 时 要 尽 量 提 高 可 读 性 因 此, 采 用 适 当 地 缩 进 格 式 书 写 程 序 是 非 常 必 要 的, 类 内 容 或 同 一 层 次 的 语 句 要 对 齐 例 如, 一 个 循 环 的 循 环 体 中 的 各 语 句 要 对 齐, 同 一 个 if 语 句 if 体 内 的 若 干 条 语 句 或 else 体 内 的 若 干 语 句 要 对 齐 (3)C++ 程 序 中 大 括 号 使 用 较 多, 其 书 写 方 法 也 较 多, 建 议 用 户 要 养 成 使 用 大 括 号 的 固 定 例 如, 每 个 大 括 号 占 一 行, 并 与 使 用 大 括 号 的 语 句 对 齐, 大 括 号 内 的 语 句 采 用 缩 进 两 个 字 符 的 写, 如 例 1.1 所 示 1.4 C++ 程 序 的 上 机 实 现 C++ 源 程 序 要 经 过 编 辑 编 译 连 接 和 运 行 4 个 环 节, 才 能 在 屏 幕 上 显 示 结 果 例 如, 要 编 制 为 Hello 的 程 序, 其 操 作 流 程 如 图 1-1 所 示 源 程 序 目 标 程 序 可 执 行 程 序 编 辑 编 译 连 接 运 行 Hello.cpp Hello.obj Hello.exe
21 C++ 程 序 设 计 编 辑 编 辑 是 将 写 好 的 C++ 源 程 序 输 入 到 计 算 机 中 生 成 磁 盘 文 件 的 过 程 C++ 程 序 的 编 辑 可 以 使 用 计 提 供 的 各 种 编 辑 器 进 行 编 辑, 编 辑 好 的 源 程 序 可 以 保 存 到 磁 盘 文 件 中, 默 认 文 件 扩 展 名 为 *.cpp Visual C 为 编 辑 C++ 源 程 序 提 供 了 一 个 功 能 良 好 的 编 辑 器, 其 主 要 编 辑 功 能 有 定 义 块 移 复 制 块 删 除 块 插 入 字 符 以 及 保 存 文 件 等 编 译 编 辑 好 的 源 程 序 必 须 经 过 编 译, 翻 译 成 计 算 机 能 够 识 别 的 机 器 代 码, 计 算 机 才 能 执 行 编 译 器 C++ 源 程 序 转 换 成 二 进 制 代 码 的 形 式, 这 些 二 进 制 代 码 称 为 目 标 代 码 将 这 些 目 标 代 码 以 *.obj 为 保 存 在 磁 盘 中, 称 为 目 标 程 序 编 译 阶 段 要 进 行 词 法 分 析 和 语 法 分 析, 又 称 源 程 序 分 析 这 一 阶 段 主 要 是 分 析 程 序 的 语 法 结 构 C++ 源 程 序 的 语 法 错 误 如 果 分 析 过 程 中 发 现 有 不 符 合 要 求 的 语 法 错 误, 就 会 及 时 报 告 给 用 户, 类 型 显 示 在 屏 幕 上 例 如, 在 程 序 中 将 标 准 输 出 流 对 象 cout 误 写 成 couth, 则 进 行 编 译 时, 在 信 窗 口 会 显 示 error C2065: couth :undeclared identifier, 表 明 couth 是 一 个 没 有 声 明 的 标 识 符 该 错 误 信 息, 光 标 会 指 到 出 错 的 代 码 行, 便 于 用 户 进 行 修 改 编 译 可 以 生 成 符 号 表 或 称 数 据 字 典, 它 用 来 映 射 程 序 中 的 各 种 符 号 及 它 们 的 属 性, 如 某 个 变 量 所 占 内 存 空 间 和 分 配 在 存 储 器 中 的 相 对 位 置 等 连 接 编 译 后 生 成 的 目 标 代 码 还 不 能 直 接 在 计 算 机 上 运 行, 其 主 要 原 因 是 编 译 器 对 每 个 源 程 序 文 件 分 别 进 行 如 果 一 个 程 序 有 多 个 源 程 序 文 件, 编 译 后 这 些 源 程 序 文 件 还 分 布 在 不 同 的 地 方 因 此, 需 要 把 它 们 连 起, 生 成 可 以 在 计 算 机 上 运 行 的 可 执 行 文 件 即 使 C++ 源 程 序 只 有 一 个 源 文 件, 这 个 源 文 件 生 成 的 目 还 需 要 系 统 提 供 的 库 文 件 中 的 一 些 代 码, 故 也 需 要 连 接 起 来 连 接 工 作 一 般 由 编 译 系 统 中 的 连 接 程 序 ( 又 称 连 接 器 ) 来 完 成, 连 接 器 将 由 编 译 器 生 成 的 目 标 件 和 库 中 的 某 些 文 件 连 接 在 一 起, 生 成 一 个 可 执 行 文 件 可 执 行 文 件 的 默 认 扩 展 名 为 *.exe 运 行 一 个 C++ 源 程 序 经 过 编 译 和 连 接 后 生 成 了 可 执 行 文 件, 该 文 件 可 以 在 Windows 环 境 下 直 接 双 击 也 可 以 在 Visual C 的 集 成 开 发 环 境 下 运 行 程 序 运 行 后, 将 在 屏 幕 上 显 示 运 行 结 果 或 显 示 提 示 用 户 输 入 数 据 的 信 息 用 户 可 以 根 据 运 行 结 断 程 序 是 否 有 算 法 错 误 在 生 成 可 执 行 文 件 之 前, 一 定 要 改 正 编 译 和 连 接 时 出 现 的 致 命 错 误 和 误, 这 样 才 能 保 证 运 行 结 果 是 正 确 的 因 为 程 序 中 的 警 告 错 误 虽 然 不 影 响 生 成 可 执 行 文 件, 但 导 致 结 果 错 误 下 面 以 一 个 简 单 C++ 程 序 设 计 为 例 来 说 明 C++ 程 序 的 上 机 实 现 过 程 (1) 启 动 Visual C 用 户 可 以 单 击 开 始 菜 单, 在 程 序 选 项 中 选 择 Microsoft Visu dio 6.0 级 联 菜 单 下 的 Microsoft Visual C++6.0, 或 在 桌 面 上 双 击 Microsoft Visual C++6.0
22 第 1 章 C++ 概 述 13 图 1-2 Visual C++ 的 集 成 开 发 环 境 (2) 在 文 件 菜 单 下, 选 择 新 建 命 令, 将 弹 出 新 建 对 话 框, 如 图 1-3 所 示 图 1-3 新 建 对 话 框 在 该 对 话 框 中 选 择 工 程 标 签 下 的 Win32 Console Application 选 项, 可 创 建 一 个 基 于 控 制 程 序 的 工 程 在 工 程 编 辑 栏 内 输 入 创 建 的 工 程 名 称 (sum), 在 位 置 编 辑 栏 内 输 入 工 程 位 置 (f:\sum), 其 他 选 项 选 择 默 认 值, 单 击 确 定 按 钮 将 弹 出 Win32 Console Application 骤 对 话 框, 如 图 1-4 所 示
23 C++ 程 序 设 计 图 1-4 Win32 Console Application 项 目 步 骤 对 话 框 (3) 在 Win32 Console Application 项 目 步 骤 对 话 框 中, 用 户 可 以 选 择 想 要 创 建 应 用 程 序 的 类 型 4 个 选 项 : 一 个 空 白 工 程 一 个 简 单 应 用 程 一 个 世 界, 你 好 应 用 程 序 和 一 个 支 持 C 的 应 用 程 序 不 同 的 选 项 意 味 着 系 统 自 动 生 成 码 会 有 所 不 同 此 例 中 选 择 第 2 个 选 项, 创 建 一 个 简 单 的 应 用 然 后 单 击 完 成 按 钮, 将 出 现 新 建 工 程 对 话 框 如 图 1-5 所 示 该 对 话 框 给 出 了 新 创 程 的 简 单 信 息 (4) 单 击 确 定 按 钮, 将 回 到 Visual C 成 开 发 环 境 至 此, 一 个 新 的 应 用 程 序 创 建 完 成, 系 统 为 用 户 创 建 了 主 文 件 sum.cpp 和 预 编 译 头 文 件 Stdafx.h, 1-6 所 示 在 右 边 的 程 序 编 辑 窗 口 中 输 入 以 下 代 码 : #include"iostream.h" // 函 数 原 型 int add(int a,int b); 图 1-5 新 建 工 程 信 息 对 话 框
24 第 1 章 C++ 概 述 15 图 1-6 新 创 建 的 应 用 程 序 int main(int argc, char* argv[]) int x,y,sum; cout<<" 请 输 入 两 个 整 数 :"<<endl; cin>>x>>y; sum=add(x,y); cout<<" 两 数 之 和 为 :"<<sum<<endl; return 0; // 函 数 add 定 义 int add(int a,int b) int c; c=a+b; return c; 代 码 输 入 完 毕 后, 单 击 文 件 菜 单 中 的 保 存 命 令, 或 直 接 单 击 工 具 栏 上 的 保 存 工 具 保 存 C++ 源 程 序, 文 件 名 为 sum.cpp (5) 用 户 也 可 以 在 新 建 对 话 框 中 选 择 文 件 标 签, 出 现 如 图 1-7 所 示 的 界 面 在 该 对 话
25 可 进 入 代 码 编 辑 窗 口, 如 图 1-8 所 示 C++ 程 序 设 计 图 1-7 新 建 文 件 对 话 框 图 1-8 代 码 编 辑 窗 口 在 该 窗 口 中 输 入 程 序 代 码 (6) 单 击 微 型 编 译 工 具 栏 中 的 编 译 程 序 工 具 按 钮, 对 C++ 源 程 序 sum.cpp 进 行 编 译 如 有 错 误, 需 要 回 到 程 序 编 辑 窗 口 重 新 编 辑, 直 到 没 有 错 误 为 止 此 时, 将 在 信 息 输 出 窗 口 中 显 m.obj - 0 error(s), 0 warning(s) 的 信 息 (7) 编 译 完 成 后, 单 击 微 型 编 译 工 具 栏 中 的 连 接 程 序 工 具 按 钮, 如 果 没 有 连 接 错 误, 将 执 行 文 件 sum.exe
26 第 1 章 C++ 概 述 17 图 1-9 程 序 执 行 结 果 程 序 运 行 后, 将 弹 出 一 个 窗 体 要 求 用 户 输 入 两 个 整 数, 用 户 输 入 两 个 整 数 ( 如 4 和 5) 后 回 车, 显 示 求 和 的 结 果, 如 图 1-9 所 示 习 题 1. 试 比 较 面 向 对 象 程 序 设 计 结 构 化 程 序 设 计 和 模 块 化 程 序 设 计 2. 解 释 以 下 概 念 : 类 对 象 封 装 数 据 抽 象 继 承 多 态 3. 谈 谈 你 对 C++ 语 言 特 点 的 理 解 4. 编 写 程 序 在 屏 幕 上 显 示 字 符 串 欢 迎 大 家 学 习 C++ 语 言!, 并 按 照 书 中 介 绍 练 习 C++ 语 言 实 现 过 程
27 第 2 章 基 本 数 据 类 型 和 表 达 式 数 据 是 程 序 处 理 的 对 象, 是 程 序 中 必 不 可 少 的 重 要 组 成 部 分 对 不 同 类 型 的 数 据 有 不 同 的 处 理 方 法, 每 种 数 据 都 有 适 合 自 己 运 算 规 则 的 表 达 式 C++ 语 言 提 供 了 丰 富 的 数 据 类 型 运 算 符 和 表 达 式, 能 够 准 确 地 描 述 现 实 世 界 的 各 种 问 题, 方 便 有 效 地 加 工 处 理 各 种 类 型 的 数 据 2.1 词 法 符 号 就 像 一 篇 英 语 文 章 是 由 英 文 单 词 和 标 点 符 号 组 成, 而 单 词 是 由 26 个 英 文 字 母 组 成 一 样, 一 个 由 特 定 程 序 设 计 语 言 编 写 的 程 序 也 有 一 些 确 定 的 单 词 和 字 符 可 以 使 用 单 词 又 称 词 法 符 号, 它 是 由 若 干 个 字 符 组 成 的 具 有 一 定 意 义 的 最 小 词 法 单 元 C++ 语 言 中 共 有 5 种 词 法 符 号 : 标 识 符 关 键 字 常 量 运 算 符 和 分 隔 符 在 介 绍 词 法 符 号 之 前, 先 来 了 解 C++ 语 言 可 以 使 用 的 字 符 集 字 符 是 构 成 C++ 语 言 的 基 本 要 素, 所 有 可 用 的 字 符 构 成 了 字 符 集, 就 像 英 语 中 的 26 个 英 文 字 母 和 各 种 可 用 的 标 点 符 号 一 样 C++ 语 言 的 字 符 集 包 括 以 下 几 种 (1) 英 文 字 母 :A~Z,a~z (2) 数 字 字 符 :0~9 (3) 特 殊 字 符 : 空 格! # % ^ & * _( 下 划 线 ) + = ~ < > / \ ' " ;., ( ) [] 标 识 符 标 识 符 是 程 序 员 为 命 名 程 序 中 的 一 些 实 体 而 定 义 的 专 用 词 法 符 号, 常 见 的 有 函 数 名 类 名 变 量 名 常 量 名 和 对 象 名 等 C++ 语 言 中 标 识 符 的 命 名 规 则 如 下 (1) 标 识 符 由 英 文 字 母 ( 包 括 大 写 和 小 写 ) 数 字 和 下 划 线 组 成, 并 且 以 字 母 和 下 划 线 开 始, 其 后 跟 零 个 或 多 个 字 母 数 字 或 下 划 线 注 意 : 标 识 符 不 可 以 数 字 开 始 例 如,Abc,X1,_x1 及 desk 都 是 合 法 的 标 识 符, 而 2A 是 非 法 的 (2) 标 识 符 中 大 写 和 小 写 字 母 是 有 区 别 的 例 如,A1 和 a1 是 两 个 不 同 的 标 识 符 (3) 标 识 符 的 长 度 是 任 意 的, 但 有 的 编 译 系 统 仅 识 别 前 32 个 字 符 (4) 标 识 符 不 能 和 C++ 语 言 的 关 键 字 同 名 关 键 字 关 键 字 是 一 种 有 特 殊 用 途 的 词 法 符 号, 是 C++ 系 统 预 定 义 的 保 留 字, 不 能 再 用 作 其 他 用 途
28 第 2 章 基 本 数 据 类 型 和 表 达 式 19 下 面 列 举 一 些 C++ 语 言 中 常 用 的 关 键 字 auto break bool case char class const continue default delete do double else enum explicit extern float for friend goto if inline int long mutable new operator private protected public register return short signed sizeof static static_cast struct switch this true typedef union unsigned using virtual void while 常 量 常 量 在 运 算 过 程 中 值 保 持 不 变, 可 以 直 接 用 字 符 表 示 常 量 包 括 数 字 常 量 字 符 常 量 和 字 符 串 常 量 例 如, 定 义 常 量 pi 表 示 圆 周 率 , 则 以 后 就 可 以 用 pi 替 代 运 算 符 运 算 符 是 C++ 语 言 实 现 各 种 运 算 的 符 号, 包 括 +,,* 和 / 等 运 算 符 根 据 操 作 对 象 的 个 数 不 同, 可 以 分 为 单 目 运 算 符 双 目 运 算 符 和 三 目 运 算 符 单 目 运 算 符 又 称 一 元 运 算 符, 它 只 对 一 个 操 作 数 进 行 操 作 例 如, 求 负 运 算 符 (-) 逻 辑 求 反 运 算 符 (!) 等 双 目 运 算 符 又 称 二 元 运 算 符, 它 可 以 对 两 个 操 作 数 进 行 操 作 例 如, 加 法 运 算 符 (+) 乘 法 运 算 符 (*) 等 三 目 运 算 符 又 称 三 元 运 算 符, 它 可 以 对 三 个 操 作 数 进 行 操 作 C++ 语 言 中 只 有 一 个 三 目 运 算 符, 就 是 条 件 运 算 符 (?:) 有 关 各 种 运 算 符 的 使 用 方 法 将 在 以 后 的 章 节 中 详 细 介 绍 分 隔 符 分 隔 符 又 称 标 点 符 号, 是 用 来 分 隔 单 词 或 程 序 正 文 的, 它 可 以 表 示 某 个 程 序 实 体 的 结 束 和 另 一 个 程 序 实 体 的 开 始 在 C++ 语 言 中, 常 用 的 分 隔 符 有 以 下 几 个 (1) 空 格 符 : 常 用 来 作 为 单 词 与 单 词 之 间 的 分 隔 符 (2) 逗 号 : 用 来 作 为 多 个 变 量 之 间 的 分 隔 符, 或 用 来 作 为 函 数 的 多 个 参 数 之 间 的 分 隔 符 (3) 分 号 : 仅 用 来 作 为 for 循 环 语 句 中 for 关 键 字 后 面 括 号 中 三 个 表 达 式 的 分 隔 符 (4) 冒 号 : 用 来 作 为 语 句 标 号 与 语 句 之 间 的 分 隔 符, 或 switch 语 句 中 关 键 字 case< 整 型 常 量 > 与 语 句 序 列 之 间 的 分 隔 符 还 有 () 和 也 可 以 作 为 分 隔 符 这 些 分 隔 符 不 表 示 任 何 实 际 的 操 作, 仅 用 于 构 造 程 序 由 于 C++ 编 译 器 将 注 释 也 当 作 空 白 对 待, 故 注 释 也 可 用 作 分 隔 符 2.2 基 本 数 据 类 型 C++ 语 言 中, 程 序 能 够 处 理 的 所 有 数 据 肯 定 都 属 于 某 种 数 据 类 型 数 据 类 型 不 同, 则 数 据 所 占 用 的 存 储 空 间, 所 能 表 示 的 数 据 范 围 和 精 度 以 及 所 能 进 行 的 运 算 均 不 相 同 C++ 语 言 的 数 据 类 型 是 十 分 丰 富 的, 大 致 可 分 为 基 本 数 据 类 型 和 非 基 本 数 据 类 型 基 本
29 20 C++ 程 序 设 计 数 据 类 型 包 括 整 型 字 符 型 浮 点 型 和 布 尔 型 非 基 本 数 据 类 型 主 要 包 括 数 组 类 型 结 构 体 类 型 共 用 体 类 型 指 针 类 型 和 空 类 型 等, 如 图 2-1 所 示 本 章 将 主 要 讨 论 基 本 数 据 类 型, 非 基 本 数 据 类 型 的 有 关 知 识 将 在 以 整 型 字 符 型 基 本 整 型 短 整 型 长 整 型 后 的 章 节 介 绍 除 了 如 图 2-1 所 示 的 数 据 类 型 以 外,C++ 还 提 供 了 4 个 类 型 修 饰 符 作 为 前 缀, 它 用 来 基 本 数 据 类 型 单 精 度 型 浮 点 型 双 精 度 型 布 尔 型 改 变 基 本 数 据 类 型 的 含 义, 以 便 更 准 确 地 适 应 各 种 情 况 的 需 要 这 4 个 类 型 修 饰 符 分 别 是 :long 长 型,signed 有 符 号,unsigned 无 符 号,short 短 型 其 中 long 和 short 在 修 饰 基 本 整 型 int 时 可 省 略 int,signed 在 表 示 有 符 号 数 时 可 省 略 signed 数 据 类 型 决 定 了 数 据 在 内 存 中 所 占 的 空 数 组 类 型 数 据 类 型 构 造 数 据 类 型 结 构 体 类 型 共 用 体 类 型 指 针 类 型 空 类 型 图 2-1 C++ 语 言 的 数 据 类 型 间 大 小, 也 确 定 了 表 示 范 围 各 种 基 本 数 据 类 型 的 长 度 和 取 值 范 围 如 表 2-1 所 示 表 2-1 C++ 的 基 本 数 据 类 型 数 据 类 型 说 明 长 度 ( 字 节 ) 取 值 范 围 bool 布 尔 型 true,false char(signed char) 字 符 型 1 128~127 unsigned char 无 符 号 字 符 型 1 0~255 short(signed short) 短 整 型 ~32767 unsigned short 无 符 号 短 整 型 2 0~65535 int(signed int) 基 本 整 型 ~ unsigned int 无 符 号 整 型 4 0~ long(signed long) 长 整 型 ~ unsigned long 无 符 号 长 整 型 4 0~ float 单 精 度 型 ~ double 双 精 度 型 ~ 说 明 : (1) 单 精 度 型 float 和 双 精 度 型 double 都 属 于 浮 点 型 (2)char 型 和 各 种 int 型 有 时 又 统 称 为 整 数 类 型 因 为 字 符 型 数 据 在 计 算 机 中 是 以 ASCII 码 形 式 表 示, 故 其 本 质 上 是 整 数 类 型 的 一 部 分, 也 可 以 当 作 整 数 来 运 算 (3) 各 种 数 据 类 型 的 长 度 以 字 节 为 单 位,1 个 字 节 等 于 8 个 二 进 制 位 数 2.3 常 量 与 变 量 在 程 序 运 行 过 程 中, 值 不 能 被 改 变 的 量 称 为 常 量, 值 可 以 改 变 的 量 称 为 变 量 在 C++ 程 序 中, 数 据 以 常 量 或 变 量 的 形 式 来 表 示, 每 个 常 量 或 变 量 都 有 确 定 的 数 据 类 型
30 第 2 章 基 本 数 据 类 型 和 表 达 式 常 量 1. 整 型 常 量 整 型 常 量 即 整 型 常 数, 没 有 小 数 部 分, 可 以 用 十 进 制 八 进 制 和 十 六 进 制 3 种 形 式 来 表 示 (1) 十 进 制 整 型 常 量 由 0~9 组 成, 没 有 前 缀, 不 能 以 0 开 始 例 如,234, 67 为 合 法 的 十 进 制 整 型 常 量 (2) 八 进 制 整 型 常 量 以 0 为 前 缀, 后 跟 由 0~7 组 成 的 整 型 常 数 例 如,0134, 076 为 合 法 的 八 进 制 整 型 常 量 (3) 十 六 进 制 整 型 常 量 以 0X 或 0x 为 前 缀, 后 跟 由 0~9 和 A~F 组 成 的 整 型 常 数 例 如, 0x2F,0xA3B4 为 合 法 的 十 六 进 制 整 型 常 量 整 型 常 量 中 的 长 整 型 用 L 或 l 作 后 缀 表 示 例 如,324L,076L 等 整 型 常 量 中 的 无 符 号 型 用 U 或 u 作 后 缀 表 示 例 如,431U,0x34DU 等 2. 浮 点 型 常 量 浮 点 型 常 量 又 称 实 型 常 量, 是 由 整 数 部 分 和 小 数 部 分 组 成 的, 只 能 用 十 进 制 表 示 浮 点 型 常 量 有 两 种 表 示 方 法 : 小 数 表 示 法 和 科 学 计 数 法 (1) 小 数 表 示 法 : 由 符 号 数 字 和 小 数 点 组 成 例 如,9.55,.25,4. 和 等 注 意 : 必 须 有 小 数 点 (2) 科 学 计 数 法 : 是 用 指 数 形 式 来 表 示 浮 点 型 常 量, 即 在 小 数 表 示 法 后 面 加 上 E 或 e 表 示 指 数 例 如,3.2E 5,7e10, 34.5e2 等 注 意 :E 或 e 的 前 面 必 须 要 有 数 字, 指 数 部 分 可 正 可 负, 但 必 须 是 整 数 3. 字 符 常 量 C++ 中 有 两 种 字 符 常 量, 即 一 般 字 符 常 量 和 转 义 字 符 常 量 (1) 一 般 字 符 常 量 一 般 字 符 常 量 是 用 一 对 单 引 号 括 起 来 的 一 个 字 符, 其 值 为 ASCII 码 值 例 如,'a','A','$' 以 及 '5' 等 都 是 合 法 的 字 符 常 量 注 意 :'a' 和 'A' 是 两 个 不 同 的 字 符 常 量 在 内 存 中, 字 符 数 据 是 以 ASCII 码 形 式 存 储 的, 以 整 数 表 示, 占 据 一 个 字 节 (2) 转 义 字 符 转 义 字 符 是 一 个 以 \ 开 头 的 特 定 字 符, 表 示 其 后 的 字 符 具 有 特 殊 意 义 例 如,'\n' 中 的 n 不 是 代 表 字 符 n, 而 是 代 表 回 车 换 行 的 意 思 常 用 的 转 义 字 符 如 表 2-2 所 示 表 2-2 C++ 的 基 本 数 据 类 型 字 符 形 式 ASCII 码 值 功 能 \0 0x00 NULL \a 0x07 响 铃 \b 0x08 退 格 (BackSpace 键 ) \t 0x09 水 平 制 表 (Tab 键 ) \f 0x0c 走 纸 换 页 \n 0x0a 回 车 换 行
31 22 C++ 程 序 设 计 续 表 字 符 形 式 ASCII 码 值 功 能 \v 0x0b 垂 直 制 表 \r 0x0d 回 车 ( 不 换 行 ) \\ 0x5c 字 符 \ \ 0x27 单 引 号 \ 0x22 双 引 号 \? 0x3f 问 号 \ddd 0ddd 1~3 位 八 进 制 数 所 代 表 的 字 符 \xhh 0xhh 1~2 位 十 六 进 制 数 所 代 表 的 字 符 反 斜 杠 \ 可 以 和 八 进 制 数 或 十 六 进 制 数 结 合 起 来 使 用, 以 表 示 相 当 于 该 字 符 的 ASCII 码 例 如,'\0x0a' 和 '\n' 同 义, 都 表 示 回 车 换 行 转 义 字 符 用 八 进 制 数 表 示 时, 最 多 是 三 位 数, 且 必 须 以 0 开 头, 范 围 为 '\000'~'\377' 转 义 字 符 用 十 六 进 制 数 表 示 时 是 两 位 数, 用 x 或 X 引 导, 表 示 范 围 为 '\x00'~'\xff' 4. 字 符 串 常 量 字 符 串 常 量 是 用 一 对 双 引 号 括 起 来 的 字 符 序 列 例 如,"a","123" 和 "hello" 等 都 是 字 符 串 常 量 在 C++ 中, 字 符 串 常 量 和 字 符 常 量 是 不 同 的 字 符 串 常 量 是 由 双 引 号 括 起 来 的 若 干 个 字 符, 这 些 字 符 在 内 存 中 连 续 存 储, 并 在 最 后 加 上 字 符 '\0' 作 为 字 符 串 结 束 的 标 志 例 如, 字 符 串 "HELLO" 在 内 存 中 占 连 续 6 个 内 存 单 元, 存 放 示 意 图 如 图 2-2 所 示 字 符 常 量 是 用 单 引 号 括 起 来 的 一 个 字 符, 它 在 内 存 中 只 占 一 个 字 节 所 以,"x" 和 'x' 是 不 同 的 H E L L O \0 图 2-2 字 符 串 "HELLO" 在 内 存 中 的 存 放 示 意 图 注 意 : 不 能 将 一 个 字 符 串 常 量 赋 给 字 符 常 量 例 如, 语 句 char c="abc" 是 错 误 的 5. 符 号 常 量 在 C++ 中, 可 以 用 一 个 标 识 符 来 表 示 一 个 常 数, 这 个 标 识 符 就 是 符 号 常 量 例 如, 在 求 解 圆 的 问 题 时 经 常 要 用 到 圆 周 率 π( 即 ), 如 果 用 符 号 π 表 示, 则 C++ 编 译 器 不 能 识 别 ; 如 果 用 表 示, 则 很 容 易 出 现 输 入 错 误 此 时, 可 以 通 过 一 个 容 易 理 解 和 记 忆 的 名 字 pi 来 代 表 圆 周 率 π, 这 样 就 不 会 发 生 上 述 问 题 pi 就 是 一 个 符 号 常 量 使 用 符 号 常 量 可 以 增 加 程 序 的 可 读 性 和 可 维 护 性 假 如 程 序 中 多 个 地 方 用 到 某 一 个 常 量, 修 改 该 常 量 时, 则 每 一 处 用 到 该 常 量 的 地 方 都 要 修 改 如 果 使 用 符 号 常 量, 则 只 需 修 改 一 个 地 方 即 可, 这 样 就 使 程 序 更 加 容 易 维 护 C++ 语 言 提 供 了 两 种 定 义 符 号 常 量 的 方 法 (1) 用 const 语 句 定 义 符 号 常 量 这 种 方 法 是 C++ 语 言 中 广 泛 采 用 的 定 义 符 号 常 量 的 方 法, 其 一 般 格 式 为 : const 数 据 类 型 符 号 常 量 = 表 达 式 ; 例 如 : const double pi = ; 该 语 句 定 义 了 一 个 符 号 常 量 pi, 其 值 为
32 第 2 章 基 本 数 据 类 型 和 表 达 式 23 注 意 : 在 定 义 符 号 常 量 时 必 须 进 行 初 始 化, 否 则 将 出 现 编 译 错 误 (2) 用 #define 语 句 定 义 符 号 常 量 这 是 C 语 言 中 定 义 符 号 常 量 的 方 法, 其 中 #define 是 预 处 理 指 令 其 缺 点 是 不 能 显 示 声 明 常 量 的 类 型 在 C++ 语 言 中 保 留 它, 仅 仅 是 为 了 与 C 语 言 保 持 兼 容 其 一 般 格 式 为 : #define 常 量 名 常 量 值 例 如 : #define pi 注 意 :#define 语 句 的 最 后 不 允 许 加 分 号 ; 变 量 变 量 是 指 在 程 序 运 行 过 程 中, 其 值 可 以 改 变 的 量 变 量 是 有 名 字 的, 在 内 存 中 占 据 一 定 的 存 储 单 元 C++ 语 言 中 使 用 变 量 前, 必 须 先 对 它 的 数 据 类 型 进 行 说 明, 以 便 告 诉 编 译 程 序 为 变 量 分 配 多 大 的 空 间 1. 变 量 的 命 名 变 量 的 命 名 要 遵 循 C++ 语 言 中 标 识 符 的 命 名 规 定 (1) 系 统 规 定 的 关 键 字 不 可 再 作 为 变 量 名 (2) 第 一 个 字 符 必 须 是 字 母 或 下 划 线, 后 跟 字 母 数 字 或 下 划 线, 中 间 不 能 有 空 格 (3) 命 名 变 量 应 尽 量 做 到 见 名 知 意, 这 样 有 助 于 记 忆, 增 加 可 读 性 (4) 在 命 名 变 量 时, 大 小 写 字 母 是 不 一 样 的 例 如,X1 和 x1 是 两 个 不 同 的 变 量 习 惯 上 用 小 写 字 母 命 名 变 量 2. 变 量 的 定 义 变 量 定 义 的 一 般 格 式 为 : 数 据 类 型 变 量 1, 变 量 2, 其 中 数 据 类 型 可 以 是 前 面 讲 过 的 各 种 数 据 类 型, 它 决 定 了 变 量 在 内 存 中 所 占 的 存 储 单 元 数 例 如 : int x,y,z; // 定 义 了 3 个 整 型 变 量 x y z float a,b,c; // 定 义 了 3 个 单 精 度 型 变 量 a b c 在 定 义 变 量 时, 必 须 注 意 变 量 类 型 的 选 择, 应 该 保 证 该 变 量 中 将 要 存 储 的 值 不 突 破 该 变 量 类 型 所 能 表 示 的 最 大 值 当 然, 也 不 能 因 此 就 将 每 个 变 量 都 声 明 成 表 示 范 围 最 大 的 类 型, 否 则 会 白 白 浪 费 存 储 空 间 3. 变 量 赋 值 与 初 始 化 在 使 用 已 定 义 的 变 量 前, 要 用 赋 值 运 算 符 = 对 它 进 行 赋 值 例 如 : int x1,y1; x1=10;y1=20; 也 可 以 在 变 量 定 义 时 直 接 进 行 初 始 化 例 如 : int x1=10,y1=20; 在 C++ 语 言 中, 还 有 另 外 一 种 方 式 给 变 量 赋 初 值, 例 如 : int i(1) 该 语 句 定 义 了 一 个 整 型 变 量 i, 其 初 值 为 1
33 24 C++ 程 序 设 计 2.4 运 算 符 和 表 达 式 C++ 语 言 有 丰 富 的 运 算 符, 能 构 成 多 种 表 达 式, 几 乎 所 有 的 操 作 都 可 以 使 用 运 算 符 来 处 理 表 达 式 是 用 运 算 符 将 各 种 运 算 对 象 ( 常 数 变 量 以 及 常 量 等, 也 称 操 作 数 ) 组 合 而 成 的 在 C++ 程 序 中, 表 达 式 与 在 数 学 中 学 到 的 类 似, 是 用 于 计 算 的 式 子, 是 计 算 求 值 的 基 本 单 位 运 算 符 和 数 学 中 的 概 念 一 样, 运 算 是 指 对 数 据 的 求 值 计 算, 如 加 减 运 算 等 运 算 符 给 出 了 计 算 的 类 型, 而 参 与 运 算 的 数 据 叫 操 作 数 C++ 语 言 定 义 了 丰 富 的 运 算 符, 这 些 运 算 符 按 所 要 求 的 操 作 数 的 多 少, 可 分 为 单 目 运 算 符 双 目 运 算 符 和 三 目 运 算 符 ; 按 运 算 符 的 运 算 性 质, 又 可 分 为 算 术 运 算 符 关 系 运 算 符 及 逻 辑 运 算 符 等 学 习 运 算 符 时, 要 注 意 以 下 几 点 (1) 运 算 符 的 功 能, 如 加 减 乘 除 等 (2) 与 操 作 数 的 关 系, 这 里 要 注 意 运 算 符 要 求 操 作 数 的 个 数 和 类 型 如 单 目 运 算 符 只 能 有 一 个 操 作 数, 如 果 有 两 个 操 作 数 参 与 运 算 就 会 出 现 编 译 错 误 而 取 余 运 算 符 %( 或 称 取 模 运 算 符 ) 则 要 求 参 与 运 算 的 两 个 操 作 数 类 型 必 须 为 整 型 (3) 运 算 符 的 优 先 级 别 当 一 个 表 达 式 中 含 有 多 个 运 算 符 时, 先 进 行 优 先 级 高 的 运 算, 后 进 行 优 先 级 低 的 运 算 当 表 达 式 中 出 现 了 多 个 相 同 优 先 级 的 运 算 时, 运 算 的 顺 序 就 要 看 运 算 符 的 结 合 性 了 (4) 运 算 符 的 结 合 性 结 合 性 是 指 当 一 个 操 作 数 左 右 两 边 的 运 算 符 优 先 级 相 同 时, 按 什 么 顺 序 进 行 运 算, 是 自 左 向 右, 还 是 自 右 向 左 例 如, 在 表 达 式 3*5/6 中,5 的 两 边 有 两 个 优 先 级 别 相 同 的 运 算 符 * 和 /, 按 照 从 左 到 右 的 结 合 性 应 该 先 进 行 乘 法, 再 进 行 除 法, 即 操 作 数 5 与 左 边 的 运 算 符 结 合, 称 左 结 合 性 当 然,C++ 语 言 中 也 有 结 合 方 向 从 右 到 左 的, 称 右 结 合 性 表 2-3 列 出 了 常 用 运 算 符 的 优 先 级 功 能 说 明 和 结 合 性 表 2-3 C++ 中 常 用 运 算 符 的 优 先 级 功 能 说 明 和 结 合 性 优 先 级 运 算 符 功 能 说 明 结 合 性 ( ) 改 变 优 先 级 :: 作 用 域 运 算 符 1 2 [ ] 数 组 下 标 运 算 符. > 成 员 选 择. * > * 成 员 指 针 选 择 * 指 针 运 算 符 & 取 地 址 sizeof 求 内 存 字 节 数! 逻 辑 求 反 ~ 按 位 求 反 增 1 减 1 运 算 符 + 取 正 取 负 运 算 符 左 结 合 右 结 合
34 第 2 章 基 本 数 据 类 型 和 表 达 式 25 优 先 级 运 算 符 功 能 说 明 结 合 性 3 * / % 乘 法 除 法 取 余 左 结 合 4 + 加 法 减 法 左 结 合 5 << >> 左 移 位 右 移 位 左 结 合 6 < > <= >= 小 于 大 于 小 于 等 于 大 于 等 于 左 结 合 7 ==!= 等 于 不 等 于 左 结 合 8 & 按 位 与 左 结 合 9 ^ 按 位 异 或 左 结 合 10 按 位 或 左 结 合 11 && 逻 辑 与 左 结 合 12 逻 辑 或 左 结 合 13?: 条 件 运 算 符 右 结 合 14 = += = * = /= %= <<= >>= &= ^= = 赋 值 运 算 符 续 表 右 结 合 15, 逗 号 运 算 符 左 结 合 1. 算 术 运 算 符 C++ 语 言 中 的 算 术 运 算 符 包 括 基 本 算 术 运 算 符 和 增 1 减 1 运 算 符 (1) 基 本 算 术 运 算 符 基 本 算 术 运 算 符 有 :+( 取 正 或 加 ) ( 取 负 或 减 ) *( 乘 ) /( 除 ) 和 %( 取 余 ) 其 中 +( 取 正 ) ( 取 负 ) 是 单 目 运 算 符, 其 余 是 双 目 运 算 符 上 述 运 算 符 与 其 在 数 学 中 的 意 义 优 先 级 和 结 合 性 基 本 相 同 不 过 必 须 注 意 的 是 / 运 算 符, 当 它 的 两 个 操 作 数 都 是 整 数 时, 其 计 算 结 果 应 是 除 法 运 算 后 所 得 商 的 整 数 部 分 例 如,5/2 的 结 果 是 2 要 完 成 通 常 意 义 上 的 除 法, 则 两 个 操 作 数 中 至 少 有 一 个 不 为 整 型 例 如,5.0/2 的 结 果 是 2.5 取 余 运 算 符 (%) 用 来 计 算 两 个 整 数 相 除 后 的 余 数 例 如,9%4 的 结 果 是 1,4%2 的 结 果 是 0 注 意 : 要 求 取 余 运 算 符 (%) 的 两 个 操 作 数 必 须 是 整 数 或 字 符 型 数 据 (2) 增 1 减 1 运 算 符 增 1 减 1 运 算 符 都 是 单 目 运 算 符, 这 两 个 运 算 符 都 有 前 置 和 后 置 两 种 形 式 前 置 形 式 是 指 运 算 符 在 操 作 数 的 前 面, 后 置 是 指 运 算 符 在 操 作 数 的 后 面 例 如 : i++; //++ 后 置 --j; //-- 前 置 无 论 是 前 置 还 是 后 置, 这 两 个 运 算 符 的 作 用 都 是 使 操 作 数 的 值 增 1 或 减 1 但 操 作 数 和 运 算 符 组 成 的 表 达 式 不 同, 最 后 的 结 果 也 并 不 相 同 假 设 i=2,j=2, 看 下 面 的 两 个 例 子 : i++; ++j; 经 过 计 算 后, 第 一 个 表 达 式 的 值 为 2,i 值 为 3; 第 二 个 表 达 式 值 为 3,j 值 为 3 即 前 置 形 式 是 先 计 算 操 作 数 的 值 ( 增 1 或 减 1), 后 把 操 作 数 的 值 作 为 表 达 式 的 结 果 ; 而 后 置 形 式 是 先 将 操 作 数 的 值 作 为 表 达 式 的 结 果, 然 后 把 操 作 数 的 值 增 1 或 减 1 这 一 点 在 这 种 表 达 式 被 当 作 操
35 26 C++ 程 序 设 计 作 数 继 续 参 与 其 他 运 算 时 要 特 别 注 意 例 如, 假 设 a=5, 分 别 计 算 下 面 两 个 表 达 式 的 结 果 b = a ++ 或 b = ++ a 执 行 上 述 两 个 表 达 式 后,a 的 值 都 变 为 6, 但 b 的 值 却 不 一 样 第 一 个 表 达 式 的 结 果 为 b=5, 原 因 在 于 先 取 值 后 计 算, 表 达 式 先 将 变 量 a 的 值 赋 值 给 变 量 b, 然 后 再 增 1 第 二 个 表 达 式 的 结 果 为 b=6, 是 因 为 先 计 算 后 取 值 的 缘 故, 变 量 a 先 增 1, 然 后 再 赋 值 给 变 量 b 所 以, 尽 管 两 个 表 达 式 类 似, 但 计 算 结 果 却 不 同 在 进 行 算 术 运 算 时, 还 需 注 意 计 算 中 的 溢 出 问 题 在 计 算 机 中 每 种 基 本 数 据 类 型 都 有 一 定 的 取 值 范 围 对 于 实 数, 如 果 运 算 结 果 超 出 范 围, 程 序 将 被 异 常 中 止 另 外, 整 数 或 实 数 被 零 除 也 会 导 致 程 序 异 常 中 止 但 C++ 语 言 并 不 认 为 整 数 溢 出 是 一 个 错 误 事 实 上, 在 C++ 语 言 中 有 时 还 需 要 利 用 整 数 溢 出 来 进 行 一 些 有 目 的 的 编 程 当 然, 程 序 员 也 有 义 务 在 程 序 中 处 理 好 溢 出, 避 免 计 算 错 误 2. 关 系 运 算 符 关 系 运 算 符 用 于 比 较 两 个 操 作 数 的 大 小, 其 比 较 的 结 果 是 一 个 布 尔 型 的 值 当 两 个 操 作 数 满 足 关 系 运 算 符 指 定 的 关 系 时, 表 达 式 的 值 为 true, 否 则 为 false 在 C++ 语 言 中, 关 系 运 算 符 都 是 双 目 运 算 符, 共 有 6 个 :<( 小 于 ) <=( 小 于 或 等 于 ) > ( 大 于 ) >=( 大 于 或 等 于 ) ==( 等 于 ) 和!=( 不 等 于 ) 其 中 前 4 种 和 后 2 种 属 于 不 同 的 优 先 级, 前 4 种 的 优 先 级 高 于 后 2 种 在 C 语 言 中 没 有 布 尔 类 型, 它 采 用 整 数 1 和 0 表 示 真 和 假 C++ 语 言 中 虽 然 有 布 尔 类 型, 但 它 仍 然 继 承 了 C 语 言 的 规 定,true 等 于 1,false 等 于 0 例 如, 表 达 式 2>=3 的 结 果 为 0(false) 所 以, 关 系 运 算 符 的 比 较 结 果 可 以 作 为 算 术 运 算 中 的 操 作 数 关 系 运 算 符 的 操 作 数 可 以 是 任 何 基 本 数 据 类 型 的 数 据 但 由 于 实 数 在 计 算 机 中 只 能 近 似 地 表 示, 所 以, 一 般 不 能 直 接 进 行 相 等 比 较 当 需 要 进 行 这 样 的 比 较 时, 通 常 的 作 法 是 指 定 一 个 极 小 的 精 度 值, 当 两 个 实 数 的 差 在 这 个 精 度 之 内 时, 就 认 为 两 实 数 相 等, 否 则 认 为 不 相 等 在 使 用 关 系 运 算 符 时 还 应 注 意 以 下 两 点 (1) 不 要 把 关 系 运 算 符 = = 误 用 为 赋 值 运 算 符 = 比 如, 如 果 将 判 断 变 量 x 是 否 等 于 8 的 关 系 表 达 式 x= =8 写 成 x=8, 则 该 表 达 式 的 值 永 远 为 true( 真 ), 而 不 管 x 原 来 的 值 是 多 少 也 不 要 将 不 等 于 运 算 符!= 写 成 其 他 语 言 中 的 不 等 于 运 算 符 <> (2) 对 于 数 学 中 表 示 x 大 于 等 于 5, 且 x 小 于 等 于 20 的 数 学 关 系 式 5 x 20, 如 果 写 成 下 面 的 表 达 式 : 5 <= x <= 20 则 在 C++ 中 是 错 误 的 这 种 错 误 是 一 种 语 义 上 的 错 误, 而 不 是 语 法 上 的 错 误, 编 译 器 查 不 出 来, 编 译 时 不 会 报 告 错 误 但 运 行 时, 不 论 x 为 何 值 ( 比 如 为 3 或 60), 表 达 式 的 值 都 是 真, 所 以 这 种 错 误 较 隐 蔽, 不 易 被 发 现, 希 望 引 起 注 意 正 确 的 表 达 式 应 该 为 : 5 <= x && x <= 逻 辑 运 算 符 逻 辑 运 算 符 共 有 3 个 :1 个 单 目 运 算 符!( 逻 辑 求 反 ), 两 个 双 目 运 算 符 &&( 逻 辑 与 ) 和 ( 逻
36 第 2 章 基 本 数 据 类 型 和 表 达 式 27 辑 或 ) 其 中 逻 辑 与 的 优 先 级 比 逻 辑 或 高 逻 辑 运 算 的 结 果 是 逻 辑 值 参 与 逻 辑 运 算 的 操 作 数 可 以 是 任 一 基 本 数 据 类 型 的 数 据, 在 进 行 判 断 时, 系 统 将 视 非 零 值 为 真, 零 为 假 对 于 单 目 运 算 符!( 逻 辑 求 反 ), 若 其 操 作 数 为 false(0), 则 运 算 结 果 为 true(1), 否 则 为 false(0) 例 如,!4 的 结 果 为 0 对 于 &&( 逻 辑 与 ) 运 算 符, 只 要 两 个 操 作 数 中 有 一 个 为 false(0), 运 算 结 果 就 为 false(0), 否 则 为 true(1) 例 如,3&&4 的 结 果 为 1 对 于 ( 逻 辑 或 ) 运 算 符, 只 要 两 个 操 作 数 中 有 一 个 为 true(1), 运 算 结 果 就 为 true(1), 否 则 为 false(0) 例 如,3 0 的 结 果 为 1 注 意 : 关 系 运 算 和 逻 辑 运 算 的 结 果 若 为 真, 其 值 为 1; 若 为 假, 其 值 为 0 4. 赋 值 运 算 符 C++ 中 的 赋 值 运 算 符 分 为 两 种 : 简 单 赋 值 运 算 符 和 复 合 赋 值 运 算 符 (1) 简 单 赋 值 运 算 符 简 单 赋 值 运 算 符 有 = 其 表 达 式 的 一 般 形 式 为 : 变 量 = 表 达 式 该 表 达 式 执 行 时, 先 计 算 赋 值 运 算 符 右 部 表 达 式 的 值, 然 后 将 它 赋 值 给 左 部 变 量 (2) 复 合 赋 值 运 算 符 复 合 赋 值 运 算 符 由 一 个 数 值 型 运 算 符 和 基 本 赋 值 运 算 符 组 合 而 成, 共 有 10 个, 分 别 为 +=, -=,*=,/=,%=,<<=,>>=,&=,^= 和 = 如 果 以 # 表 示 数 值 型 运 算 符, 则 复 合 赋 值 表 达 式 的 一 般 形 式 为 : 变 量 #= 表 达 式 该 表 达 式 等 价 于 : 变 量 = 变 量 # 表 达 式 即 先 用 左 部 变 量 和 右 部 表 达 式 做 数 值 运 算, 然 后 将 运 算 结 果 赋 给 左 部 变 量 例 如 : a += 5 等 价 于 a = a+5 x *=6 等 价 于 x = x * 6 m %=7 等 价 于 m = m % 7 使 用 复 合 赋 值 运 算 符 不 仅 书 写 简 练, 而 且 经 过 编 译 以 后 生 成 的 代 码 少 5. 位 运 算 符 C++ 语 言 继 承 了 C 语 言 能 进 行 位 算 的 优 点, 提 供 了 6 个 位 运 算 符 :~( 按 位 求 反 ) &( 按 位 与 ) ( 按 位 或 ) ^( 按 位 异 或 ) <<( 右 移 位 ) 和 >>( 左 移 位 ) 其 中 ~( 按 位 求 反 ) 是 单 目 运 算 符, 其 余 都 是 双 目 运 算 符 位 运 算 符 是 对 其 操 作 数 按 二 进 制 形 式 逐 位 进 行 运 算, 参 与 运 算 的 操 作 数 都 应 为 整 数, 不 能 是 实 型 数 (1)~( 按 位 求 反 ): 其 作 用 是 对 一 个 二 进 制 数 的 每 一 位 求 反, 即 0 1,1 0 (2)&( 按 位 与 ): 其 作 用 是 对 两 个 操 作 数 对 应 的 每 一 位 分 别 进 行 逻 辑 与 操 作 两 操 作 数 对 应 位 都 是 1, 则 该 位 运 算 结 果 为 1, 否 则 该 位 运 算 结 果 为 0 (3) ( 按 位 或 ): 其 作 用 是 对 两 个 操 作 数 对 应 的 每 一 位 分 别 进 行 逻 辑 或 操 作 两 操 作 数 对 应 位 中 有 1 位 是 1, 则 该 位 运 算 结 果 为 1, 否 则 该 位 运 算 结 果 为 0
新版 明解C++入門編
511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,
More information新版 明解C言語入門編
328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66
More informationCC213
: (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,
More informationuntitled
1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override
More information新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
More informationnooog
C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1
More information新・解きながら学ぶC言語
330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180
More information( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)
( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.
More information新・明解C言語入門編『索引』
!... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177
More informationMicrosoft Word - 01.DOC
第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的
More information提问袁小兵:
C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.
More informationuntitled
3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(
More informationChapter12 Derived Classes
继 承 -- 派 生 类 复 习 1. 有 下 面 类 的 说 明, 有 错 误 的 语 句 是 : class X { A) const int a; B) X(); C) X(int val) {a=2 D) ~X(); 答 案 :C 不 正 确, 应 改 成 X(int val) : a(2) { 2. 下 列 静 态 数 据 成 员 的 特 性 中, 错 误 的 是 A) 说 明 静 态 数
More information中 国 中 西 医 结 合 杂 志 年 月 第 卷 第 期!" 通 透 性 增 加 产 生 蛋 白 水 解 酶 促 进 血 管 内 皮 细 胞 有 丝 分 裂 内 皮 细 胞 从 基 底 膜 上 迁 移 到 血 管 周 围 间 隙 粘 附 聚 集 重 构 为 三 维 管 腔 并 与 周 围 血 管
中 国 中 西 医 结 合 杂 志 年 月 第 卷 第 期!" 学 术 探 讨 冠 心 病 的 治 疗 性 血 管 新 生 与 活 血 化 瘀 段 练 熊 兴 江 王 阶 摘 要 治 疗 性 血 管 新 生 /) '0 1/ * ' 是 冠 状 动 脉 硬 化 性 心 脏 病 * '( '/) *! / * ) '/ ' + 治 疗 的 新 策 略 而 活 血 化 瘀 治 法 对 于 + 的 基 础
More information_汪_文前新ok[3.1].doc
普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向
More informationuntitled
A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (
More informationC 1
C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=
More information! "#$ %$ $ 资 料 与 方 法 $ 调 查 对 象 全 国 东 北 华 北 华 东 西 北 西 南 和 中 南 六 个 大 区 个 省 自 治 区 直 辖 市 * 个 城 市 中 的 & 所 医 院 参 加 了 本 次 调 查 各 省 省 会 城 市 的 医 学 院 校 附 属 医 院 省
! "#$ %$ $ 临 床 研 究 中 国 住 院 新 生 儿 流 行 病 学 调 查 中 华 医 学 会 儿 科 学 分 会 新 生 儿 学 组 摘 要 目 的 通 过 全 国 范 围 内 城 市 医 院 住 院 新 生 儿 的 调 查 以 了 解 我 国 目 前 住 院 新 生 儿 的 疾 病 谱 及 转 归 方 法 抽 取 全 国 个 省 和 自 治 区 的 * 个 城 市 中 的 & 所
More information得 到 了 補 償. 對 於 武 姜 而 言, 莊 公 與 自 己 的 關 係 並 不 親 密, 而 共 叔 段 又 是 自 己 向 來 疼 愛 有 加 的 兒 子, 所 以, 對 莊 公 提 出 再 怎 麼 無 理 的 要 求, 武 姜 也 不 會 覺 得 有 什 麼 不 妥 之 處, 而 對 共
左 傳 - 鄭 伯 克 段 於 鄢 人 物 心 理 1021141 林 詩 倩 一. 緒 論 鄭 伯 克 段 於 鄢, 及 共 叔 段 之 亂, 是 魯 隱 公 元 年, 即 公 元 前 722 年, 春 秋 初 年 在 鄭 國 國 內 發 生 的 一 場 內 亂. 武 姜 成 為 武 公 夫 人 並 先 後 為 武 公 生 下 了 兩 個 兒 子, 長 子 莊 公 由 於 腳 先 出 來 造 成
More information一 耀 州 青 瓷 的 裝 飾 手 法 與 紋 飾 種 類 耀 州 窯 的 裝 飾 紋 樣, 豐 富 多 變, 而 且 題 材 內 容 廣 泛, 組 合 形 式 多 樣, 圖 案 形 象 優 美, 令 人 賞 心 悅 目, 並 且 反 映 了 當 時 社 會 的 審 美 趣 味 和 理 想 裝 飾
宋 代 耀 州 青 瓷 的 紋 飾 風 格 與 意 義 曾 肅 良 英 國 萊 斯 特 大 學 博 物 館 學 博 士 國 立 台 灣 師 範 大 學 美 術 研 究 所 助 理 教 授 摘 要 中 國 的 飲 茶 之 風, 興 於 唐 而 盛 於 宋, 特 別 是 宋 代 宮 廷 禁 苑 和 地 方 官 吏 文 人 學 士 的 尚 茶 崇 茶, 以 品 茶 為 雅 尚 的 觀 念 與 作 法, 使
More information1911 年 武 汉 起 义, 广 东 独 立 胡 汉 民 任 总 督, 陈 任 广 东 军 政 府 外 交 部 副 部 长 陈 不 愿 做 官, 几 个 月 后 即 辞 职 1915 年 与 李 煜 堂 设 立 上 海 保 险 公 司, 陈 任 主 席 1921 年 孙 中 山 就 任 非 常 大
近 代 新 会 名 人 事 迹 张 云 田 : 新 会 县 双 水 区 人, 中 国 同 盟 会 员 华 侨 镇 南 关 起 义 烈 士 张 云 田 少 年 受 其 父 教 育, 精 通 文 翰, 其 时 深 受 外 国 嘲 笑 中 华 民 族 为 东 亚 病 夫 之 辱, 因 而 弃 文 就 武, 中 武 秀 才 中 年 时 结 交 三 合 会 兄 弟, 立 志 革 清 兴 华, 参 加 孙 中
More informationint *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;
Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,
More informationPs22Pdf
C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (
More information(procedure-oriented)?? 2
1 (procedure-oriented)?? 2 (Objected-Oriented) (class)? (method)? 3 : ( 4 ???? 5 OO 1966 Kisten Nygaard Ole-Johan Dahl Simula Simula 爲 6 Smalltalk Alan Kay 1972 PARC Smalltalk Smalltalk 爲 Smalltalk 爲 Smalltalk
More informationC/C++语言 - C/C++数据
C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;
More information## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / 0 1 2 0 / $ # ( *. 3. 3 *..# 4 #$ 3 ( 5 ) ### 4 $ # 5, $ ## # 4 $# 5 ( %
# # $ %& $ %# ( $ # ( # $ ( $ $ ( ( % ( $ ( $ ( ( % ( % $ ( $ ( ( $ ( ( ( & ( ( ( $ ( ( % %# ( ( $ ( %# % ## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / 0 1 2 0 / $ # ( *.
More information! # % % & # # % #!& % &# % &# % % % # %& ( (!& (! & & % % #!! ) %&! *& % %! % %!! # % %!! %*!& % &# % &# ) ) ( % # # ) % ( (!& (! (!! # % % #!! # ( &!
!#!#!%!&!& #!#!#!#!#!#!! #!% # ( )! & & % & ) % ( %! # )& ) &!) &!% )& )! )!!% & ( (!&!&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! )! % * % * ( & )!! % & # %! %! )! % * % * ( & )!! % & # %! %! # )! % * % *
More information1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File
51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test
More informationuntitled
1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++
More information51 C 51 isp 10 C PCB C C C C KEIL
http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom
More information概述
OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3
More information4 中 南 大 学 学 报 医 学 版 摘 要 目 的 探 讨 早 发 性 精 神 分 裂 症 患 者 在 静 息 状 态 下 是 否 存 在 脑 功 能 连 接 异 常 以 及 异 常 区 域 的 定 位 方 法 采 用 第 版 美 国 精 神 障 碍 诊 断 与 统 计 手 册 ( * ) (
中 南 大 学 学 报 医 学 版 3! + )! + - + - %$ 58: 58:7& * 1:D * $%&' 1&! & )& "# ( &!& )#% & '& '#! & #& & " ( ) 5*( )/ + ( / + + 6') * )* ) ; + *6 / + * ) *+ ' 6') * )+ * ) 6 9, * : + * ) *+ ) /+( * ( / * ) (
More informationC/C++程序设计 - 字符串与格式化输入/输出
C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int
More information6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit
6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128
More informationCHAPTER VC#
1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )
More informationMicrosoft PowerPoint - OPVB1基本VB.ppt
大 綱 0.VB 能 做 什 麼? CH1 VB 基 本 認 識 1.VB 歷 史 與 版 本 2.VB 環 境 簡 介 3. 即 時 運 算 視 窗 1 0.VB 能 做 什 麼? Visual Basic =>VB=> 程 式 設 計 語 言 => 設 計 程 式 設 計 你 想 要 的 功 能 的 程 式 自 動 化 資 料 庫 計 算 模 擬 遊 戲 網 路 監 控 實 驗 輔 助 自 動
More information序
软 件 工 程 思 想 林 锐 序 软 件 工 程 思 想 讲 述 软 件 开 发 和 做 程 序 员 的 道 理, 视 野 独 特, 构 思 新 颖, 内 容 风 趣, 不 落 窠 臼, 令 人 耳 目 一 新 堪 称 难 得, 以 至 回 味 无 穷 作 者 从 事 了 八 年 的 软 件 开 发 工 作, 在 他 的 博 士 学 位 论 文 完 成 之 际 写 下 了 这 本 心 之 所 感
More information<4D F736F F D20B2C43032B3B920B8EAAEC6ABACBA41BB50AAEDA5DCA6A12E646F63>
C++ î Á 2-1! C Ã Ñ Ó 2-1.1! î ô à i¾ ò{î ~ à } Ñ lf ŠÈx«v ~ C ÃÑ lî nùƒ f d Û Ã ó ÎÛol ƒ à ó dîû Ê óãi Š~ v C v ÃÈxi á «constant Û Ù Ã ˆ ó nù d «12-452 100000 0 d 'A' 'Z' 8.23 0.1232 0.001 ŒÛ~ iñ C++ ó
More informationMicrosoft Word - 第3章.doc
Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck
More information《C语言程序设计》教材习题参考答案
教 材 名 称 : C 语 言 程 序 设 计 ( 第 1 版 ) 黄 保 和 江 弋 编 著 清 华 大 学 出 版 社 ISBN: 978-7-302-13599-9, 红 色 封 面 答 案 制 作 时 间 :2011 年 2 月 -5 月 一 思 考 题 1 常 量 和 变 量 有 什 么 区 别? 它 们 分 别 是 如 何 定 义 的? 常 量 是 指 在 C 程 序 运 行 过 程 中
More informationuntitled
1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立
More information02
Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC
More information内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2
第 六 讲 指 针 与 字 符 串 1 内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2 指 针 什 么 是 指 针 指 针 的 定 义 与 运 算 指 针 与 一 维 数 组 指 针 数 组 行 指 针 与 二 维 数 组 指 针 与 引 用 指 针 与 函 数 3 指 针 定 义 什 么 是 指 针 指 针 变 量, 简 称 指 针, 用 来 存 放
More information全国计算机技术与软件专业技术资格(水平)考试
全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明
More information第 期 邸 志 欣 等! 复 杂 山 前 带 地 震 勘 探 采 集 技 术 的 实 践 与 认 识 " 剧 烈 以 上 条 件 给 山 前 带 地 震 采 集 观 测 系 统 设 计 及 炮 检 点 布 设 地 震 波 激 发 接 收 噪 声 压 制 静 校 正 处 理 等 带 来 了 诸 多 问
第 " 卷 第 期 " 年 月 石 油 物 探 &869%: ; 8%:& 8 8; 5 '!"!! 文 章 编 号 " 复 杂 山 前 带 地 震 勘 探 采 集 技 术 的 实 践 与 认 识 邸 志 欣 丁 伟 王 增 明 敬 朋 贵 刘 斌 陈 吴 金! 中 国 海 洋 大 学 山 东 青 岛! 中 国 石 油 化 工 股 份 有 限 公 司 胜 利 石 油 管 理 局 地 球 物 理 勘
More information(\244j\257d\276\307\274\351_201508021-C.indd_70%.pdf)
1847-1852 1872 20 1 1896 8000 20 1896 1950 1 1896 1896 13 1900 1900 3 20 2 4 1910 1950 3 1911 1 2 3 4 1927 4 20 300 6 1906 1930 7 1911 5 1919 8 1914 9 1920 10 11 1902 200 6 12 1930 7 " # #! $! 14 15! "!
More informationC/C++ - 文件IO
C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;
More informationC/C++ - 字符输入输出和字符确认
C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,
More information<4D6963726F736F667420576F7264202D20A4D5A46CA1D0A740A4E5A5FEB6B02E646F63>
我 讀 孔 子 ( 第 六 屆 ) 征 文 比 賽 獲 獎 作 文 選 集 澳 門 人 文 科 學 學 會 主 辦 澳 門 基 金 會 教 育 暨 青 年 局 贊 助 2008 11 1 一 等 獎 ( 以 下 以 下 按 照 學 校 筆 劃 順 序 排 列 ) 將 心 比 心, 推 己 及 人 王 錦 江 ( 培 正 中 學 ) 己 所 不 欲, 勿 施 於 人 聖 人 孔 子 這 句 只 有 八
More informationMicrosoft Word - d.doc
我 看 > 之 感 想 7B 蔡 進 軍 電 視 連 續 劇 在 校 園 出 現 了 一 股 熱 潮 現 象 同 學 們 無 論 在 小 息 或 午 膳 時 間 爭 相 討 論 項 羽 劉 邦 的 英 雄 氣 概 這 現 象 形 成 了 一 種 風 氣, 一 種 誘 惑, 什 至 是 壓 力 不 看 似 乎 是 一 大 憾 事, 到 底 該 劇 有
More informationuntitled
1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete
More information科学计算的语言-FORTRAN95
科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造
More informationCHAPTER 1
CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation
More information1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10
Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1
More information理 L~ 胆 有 纪 嚣 中 国 共 产 党 早 期 的 主 要 领 导 人, 伟 大 的 马 克 思 主 义 者, 卓 越 的 无 产 阶 级 革 命 家 理 论 家 和 宣 传 家, 中 国 革 命 文 学 事 业 的 重 要 奠 基 人 一 一 瞿 秋 白 同 志 诞 辰 110 周 年 暨
陈 铁 健, 却 因 为 多 余 的 话 一 度 被 误 为 多 余 的 人 著 品 理 L~ 胆 有 纪 嚣 中 国 共 产 党 早 期 的 主 要 领 导 人, 伟 大 的 马 克 思 主 义 者, 卓 越 的 无 产 阶 级 革 命 家 理 论 家 和 宣 传 家, 中 国 革 命 文 学 事 业 的 重 要 奠 基 人 一 一 瞿 秋 白 同 志 诞 辰 110 周 年 暨 伟 大 的 五
More informationzt
!!!!!!!!!!!!!!!!!!!! $ $ $ $ $ $ $ $ $ $ % $ % (!$ $ &% ) $ $ *) $ $ $ $ $ $ +) $ $ $ $ $ $,) $ $ $ $ $ $ -) $ $ $ $ $ $!) $ $ *) $ $ $ +) $ $ $,) $ $ $ -) $ $ $ () $ $ *) $ $ $ +),) -) &) $ $ *) +),)!
More informationMicrosoft Word - 97.01.30軟體設計第二部份範例試題_C++_ _1_.doc
電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 範 例 試 題 (C++) 試 題 編 號 :11900-920201-4 審 定 日 期 : 94 年 7 月 1 日 修 訂 日 期 : 96 年 2 月 1 日 97 年 1 月 30 日 ( 第 二 部 份 ) 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 參 考 資 料 壹 試
More information第3章.doc
3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo
More informationuntitled
MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12
More information.' 6! "! 6 "'' 6 7% $! 7%/'& 人 类 非 洲 锥 虫 病 又 称 昏 睡 病 是 布 氏 锥 虫 冈 比 亚 亚 种!! 或 布 氏 锥 虫 罗 得 西 亚 种 "#$$ %! &'!!! 感 染 引 起 的 一 种 寄 生 虫 病 以 采 采 蝇! 为 传 播 ' 媒
) 文 章 编 号 '.')) 论 著!"#$%&' ' ' ' ' '!"# ' $%& ' ' '8 目 的 对 ' 例 输 入 性 非 洲 锥 虫 病 患 者 进 行 实 验 室 诊 断 与 病 原 体 鉴 定 方 法 收 集 患 者 的 临 床 发 病 与 流 行 病 学 调 查 资 料 采 集 血 样 脑 脊 液 瑞 氏 吉 氏 染 色 涂 片 后 镜 检 用 布 氏 锥 虫 表 达 位
More information第 期 熊 安 萍 等 *1$ 文 件 系 统 中 范 围 锁 机 制 的 应 用 研 究! 锁 命 名 空 间 '+'($($ 描 述 了 资 源 和 锁 的 集 合 它 同 时 在 客 户 节 点 和 服 务 节 点 存 在 不 同 之 处 只 是 利 用 一 个 数 据 标 识 来 有 效 区
第 卷 第 期 重 庆 邮 电 大 学 学 报 自 然 科 学 版 年 月!"#$" %$&'$ ''())$($*($'('+$$,-./0 1' 文 件 系 统 中 范 围 锁 机 制 的 应 用 研 究 熊 安 萍 葛 军 邹 洋 重 庆 邮 电 大 学 计 算 机 科 学 与 技 术 学 院 重 庆! 摘 要 分 布 式 锁 机 制 是 分 布 式 文 件 系 统 的 重 要 机 制 *1$
More information# # # # # # # # # % # & # & # # # () # (( # * * (( # (+ # ( (# # (# # (# # ( # ( +) (
# # # # # # # # # % # & # & # # # () # (( # * * (( # (+ # ( (# # (# # (# # ( # ( +) ( # +) # +( # ++ # + + # + # +# # + # +% +& # +& # + # + # ) ( # ( # + # # # # # # ) ( # + # # # # + # # # # # # #
More information6 22 22 23 23 24 24 1., 2., 3., 24 26 26 28 30 31 31 31 32 32 34 34 1. 2., 3.,, 34 37 37 39 40 43 44 2
1 1 1., 2.,, 3., 1 3 3 5 7 9 11 11 12 12 13 13 1., 2.,, 3., 13 15 15 18 19 21 1 6 22 22 23 23 24 24 1., 2., 3., 24 26 26 28 30 31 31 31 32 32 34 34 1. 2., 3.,, 34 37 37 39 40 43 44 2 44 45 45 47 1., 2.
More information24 第 3 章 创 建 Access 数 据 库 和 表 3.1 创 建 Access 数 据 库 Access 2003 中 的 数 据 库 属 于 关 系 型 数 据 库, 以.mdb 为 文 件 的 后 缀, 建 立 一 个 数 据 库 的 同 时, 就 创 建 了 数 据 库 中 的 对
第 3 章 创 建 Access 数 据 库 和 表 在 Access 中, 数 据 库 是 一 个 存 储 数 据 库 应 用 系 统 中 各 对 象 的 容 器,Access 可 以 通 过 一 个 数 据 库 文 件 来 管 理 所 有 的 数 据 库 资 源 Access 2003 数 据 库 是 所 有 表 查 询 窗 体 报 表 宏 模 块 和 页 等 对 象 的 集 合 其 中, 表
More informationWindows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco
Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows
More informationMicrosoft PowerPoint - plan06.ppt
程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 6. 基 本 控 制 抽 象 子 程 序 抽 象 子 程 序 活 动 和 局 部 环 境 静 态 实 现 模 型 一 般 实 现 模 型 调 用 序 列 和 在 线 展 开 参 数 机 制 泛 型 子 程 序 异 常 处 理 其
More informationuntitled
不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int
More information人 才 培 养 与 专 业 建 设 人 才 培 养 与 专 业 建 设 首 都 师 范 大 学 重 点 专 业 培 育 与 建 设 计 划 实 施 办 法 校 发 号 根 据 首 都 师 范 大 学 十 二 五 时 期 本 科 专 业 建 设 与 发 展 规 划 安 排 为 进 一 步 加 强 学 校 本 科 人 才 培 养 工 作 加 大 专 业 建 设 力 度 提 升 专 业 建 设 水 平
More information/0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $ $ $ $ $ ( $ $ $ $ $ # ( $ $ ( $ $ $ ( $ $ $ $
"!!!!!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ /0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $
More information(2) 廠 商 具 有 維 修 維 護 或 售 後 服 務 能 力 之 證 明 ;(3) 廠 商 具 有 製 造 供 應 或 承 做 能 力 之 證 明 ;(4) 具 有 相 當 人 力 之 證 明 屬 特 定 資 格 之 ㄧ 8.(3) 機 關 辦 理 預 算 金 額 為 新 台 幣 四 億 元
政 府 採 購 法 規 概 要 題 庫 最 後 更 新 日 期 :( 人 發 局 第 一 期 ) 2010/03/20 選 擇 題 : ( 答 案 ) 正 確 錯 誤 解 析 1.(3) 機 關 訂 定 招 標 文 件, 何 者 正 確?(1) 廠 商 履 行 契 約 所 必 須 具 備 之 財 務 商 業 或 技 術 資 格 條 件, 不 考 慮 廠 商 在 外 國 之 商 業 活 動 應 (2)
More information论 文 :?,,,,,,,,,, (, ),, ( ),,,,,,,, (, ) : (, ),,, :,, ;,,,,
:? * 珠 江 三 角 洲 农 民 工 工 资 的 决 定 模 型 刘 林 平 张 春 泥 : 本 文 通 过 对 珠 江 三 角 洲 农 民 工 问 卷 调 查 资 料 的 回 归 分 析, 构 建 了 一 个 决 定 农 民 工 工 资 水 平 的 模 型 本 文 发 现, 人 力 资 本 中 的 教 育 年 限 培 训 工 龄 等 变 量 对 农 民 工 工 资 有 显 著 的 正 向 影
More information$$() * * ) ) + + +, ) - ),,, ) ). /, ) ) ). /01(). /,,. / ) ), ) ), + + ) ), ) ) ) ) ), $ ( ) $ $ $ ( ) * $ $ * * (, -. -/01/. (, -. * $ ) ( + $ $ ( ) $ ** $ $ $ $ ** ** + $ ), $ $ ( )) * ( * + $ $ (
More informationuntitled
MPICH anzhulin@sohu.com 1 MPICH for Microsoft Windows 1.1 MPICH for Microsoft Windows Windows NT4/2000/XP Professional Server Windows 95/98 TCP/IP MPICH MS VC++ 6.x MS VC++.NET Compaq Visual Fortran 6.x
More information口 的 70% 连 南 县 的 瑶 族. 有 排 瑶 过 山 瑶 排 瑶 6 万 多 人 住 在 三 排 南 岗 i 雨 水 大 麦 山 大 坪 香 坪 盘 石 金 坑 8 个 乡 镇. 形 成 了 占 全 县 面 积 80% 的 聚 居 地 << 连 州 志 } 卷 八 排 瑶 志 曰 在 连 者
居 住 地 域 与 文 化 变 迁 一 一 以 广 东 瑶 族 为 例 赵 家 旺 * 中 国 是 个 多 民 族 国 家. 共 有 56 个 民 族. 其 中 少 数 民 族 有 归 个 根 据 1990 年 的 人 口 普 查. 全 国 总 人 口 11 亿 3 千 多 万 人. 汉 族 10 忆 4 千 多 万 人. 占 全 国 总 人 口 的 90% 多. 少 数 民 族 人 口 不 到 10%
More information第 一 部 分 增 城 区 人 力 资 源 和 社 会 保 障 局 概 况 一 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 主 要 职 能 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 是 区 委 区 政 府 主 管 人 事 人 才 劳 动 社 会 保 障 的
广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 2016 年 部 门 预 算 目 录 第 一 部 分 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 概 况 一 部 门 主 要 职 能 二 部 门 预 算 单 位 构 成 三 部 门 人 员 构 成 第 二 部 分 2016 年 部 门 预 算 安 排 情 况 说 明 第 三 部 分 2016 年 部 门 预 算 报
More informationMicrosoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc
2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.
More informationMicrosoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc
2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.
More informationC C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40
C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer
More informationuntitled
22 B 7 037160901616 60901617 60901618 60901619 60901610 037163715000 450016 2 22 B 7 037160901616 60901617 60901618 60901619 60901610 037163715000 450016 3 22 B 7 037160901616 60901617 60901618 60901619
More informationMicrosoft Word - 970617cppFinalSolution.doc
國 立 台 灣 海 洋 大 學 資 訊 工 程 系 C++ 程 式 設 計 期 末 考 參 考 答 案 姓 名 : 系 級 : 學 號 : 97/06/17 考 試 時 間 :10:00 12:10 試 題 敘 述 蠻 多 的, 看 清 楚 題 目 問 什 麼, 針 對 重 點 回 答 是 很 重 要 的 ; 不 確 定 的 請 一 定 要 當 場 提 出 來, 不 要 白 花 力 氣 在 誤 會
More information年 第 期 许 德 刚 基 于 遗 忘 因 子 -./ 算 法 的 自 适 应 直 达 波 对 消 技 术 * 达 站 周 围 的 环 境 可 能 比 较 复 杂 来 自 近 距 离 不 同 固 定 物 体 所 反 射 的 多 径 信 号 也 强 于 回 波 信 号 大 大 影 响 了 雷 达 的
第 期 年 月! " #$ %# &' # 工 程 与 应 用 # $$ # #( )*$### 基 于 遗 忘 因 子 算 法 的 自 适 应 直 达 波 对 消 技 术 许 德 刚 中 国 电 子 科 技 集 团 公 司 第 + 研 究 所 合 肥 ++ 摘 要 在 以 民 用 广 播 电 视 及 &, 等 信 号 为 照 射 源 的 无 源 雷 达 系 统 中 由 于 发 射 信 号 为 连
More information二O一四年大华府拖拉机游戏锦标赛规则
二 O 一 四 年 大 华 府 拖 拉 机 游 戏 锦 标 赛 规 则 第 一 章 总 则 1.1 该 规 则 为 华 盛 顿 地 区 拖 拉 机 游 戏 比 赛 专 用 规 则 为 了 保 证 比 赛 的 公 平 性 和 娱 乐 性, 请 牌 手 自 觉 遵 守 规 则 并 服 从 裁 判 组 裁 决 如 有 违 规, 轻 则 警 告 / 罚 分 / 降 级 ; 重 则 判 取 消 参 赛 资 格
More informationPs22Pdf
: : : / : ISBN 7-5617 - 2033-8 / K 116 : 5. 00 : 2005 7 1 CIP ( 2005) 109076 , 123, 1976 10 6, 10 9 1015,,,,, : ; 2 3,, 3 10 15 17 1 16 1, 4,, 17 18,,,, 23, 3, 7 19 3 4 6 4. 5 20, 23, 24 1900, 3000 770.,
More information动 物 中 能 促 进 但 会 在 表 达 的 物 种 中 产 生 不 良 反 应 如 引 起 脂 肪 肝 或 升 高 74-4 水 平 2 # ) 9 等 建 立 血 脂 异 常 和 肝 硬 化 仓 鼠 模 型 进 行 研 究 结 果 表 明 7'&$ 不 能 改 善 血 脂 异 常 和 肝 硬
综 述 胆 固 醇 逆 向 转 运 的 研 究 进 展 及 中 医 药 干 预 何 芷 慧 江 巍 李 松 胆 固 醇 逆 向 转 运,0! 1! 1 ) 1 是 胆 固 醇 从 周 围 组 织 转 运 到 肝 脏 进 行 再 循 环 或 以 胆 酸 形 式 排 出 体 外 的 过 程 是 机 体 清 除 多 余 胆 固 醇 的 重 要 生 理 途 径 若 受 影 响 血 浆 中 含 量 过 高 的
More informationCC213
: (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++
More information(京)新登字063号
教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言
More information2.2016 年 中 央 国 家 机 关 政 府 采 购 中 心 网 上 竞 价 品 目 表 中 央 国 家 机 关 政 府 采 购 中 心 2016 年 7 月 21 日 - 2 -
国 机 采 字 2016 13 号 关 于 印 发 中 央 国 家 机 关 政 府 采 购 中 心 网 上 竞 价 管 理 办 法 的 通 知 为 进 一 步 规 范 网 上 竞 价 操 作 行 为, 提 高 采 购 质 量 和 效 率, 强 化 合 同 和 履 约 管 理, 依 据 中 华 人 民 共 和 国 政 府 采 购 法 ( 以 下 简 称 政 府 采 购 法 ) 中 华 人 民 共 和
More informationepub83-1
C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C
More information<4D6963726F736F667420576F7264202D20B2C4A4BBA9A1B8EAB054BAD8A46C2DB773BB44B443C5E9B27BAA70B56FAE69BB50A5BCA8D3B773C1CDB6D5BDD2ABE1A4DFB16F>
課 程 時 間 :98 年 5 月 2 日 ( 六 ) 課 程 名 稱 : 新 聞 媒 體 現 況 發 展 與 未 來 新 趨 勢 課 程 講 師 : 陳 佩 敏 老 師 中 天 電 視 公 司 新 聞 部 製 播 中 心 主 任 6 th 資 訊 種 子 學 員 心 得 : 整 理 人 :6 th 課 務 程 仲 駿 (0968-471656) 第 一 組 姓 名 蘇 怡 萍 學 校 / 系 別
More informationebook8-30
3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis
More informationBOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2
PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native
More information幻灯片 1
白 色 花 诗 集 人 民 文 学 出 版 社 1981 年 出 版 共 收 七 月 派 诗 人 阿 垅 鲁 藜 孙 钿 彭 燕 郊 方 然 冀 汸 钟 瑄 郑 思 曾 卓 杜 谷 绿 原 胡 征 芦 甸 徐 放 牛 汉 鲁 煤 化 铁 朱 健 朱 谷 怀 罗 洛 等 二 十 人 的 诗 作 一 百 十 九 首 集 名 出 自 阿 垅 未 入 选 的 一 首 诗 中 要 开 作 一 枝 白 色 花
More informationebook50-15
15 82 C / C + + Developer Studio M F C C C + + 83 C / C + + M F C D L L D L L 84 M F C MFC DLL M F C 85 MFC DLL 15.1 82 C/C++ C C + + D L L M F C M F C 84 Developer Studio S t u d i o 292 C _ c p l u s
More information1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un
Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................
More informationChapter 9: Objects and Classes
Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum
More informationVB程序设计教程
高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处
More information北魏山东佛教文化个案研究
北 魏 山 东 佛 教 文 化 个 案 研 究 一 北 魏 时 期 佛 教 在 山 东 的 传 播 与 发 展 以 滨 州 博 兴 龙 华 寺 为 代 表 社 会 背 景 北 魏 佛 教 的 发 展 是 伴 随 着 佛 教 的 中 国 化 即 汉 化 的 过 程 而 不 断 发 展 的, 同 时 也 带 有 北 魏 统 治 者 作 为 少 数 民 族 的 本 身 特 色 自 汉 通 西 域, 佛 教
More information23 10 18 5 1997 12 1 (1) (7) (16) (25) (35) (37) (44) (48) (51) (54) ( ) (58) (69) (74) (77) (89) (94) (98) (100) (107) (113) (117) (121) (126) " 37 38 ( ) ( ) ( ) ( ) 300 1 500 200 1938 1 30 15 8 1937
More information