C++基础教程(含目录).pdf
《C++基础教程(含目录).pdf》由会员分享,可在线阅读,更多相关《C++基础教程(含目录).pdf(177页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录 C+基 础 教 程 简 介.3第 章 C+基 础 知 识(Basics of C+).41.1 C+程 序 结 构(Structure of a program).51.2 变 量 和 数 据 类 型(Variables and Data types).91.3 常 量(Constants).181.4 操 作 符/运 算 符(Operators).22第 二 章 控 制 结 构 和 函 数.392.1 控 制 结 构(Control Structures).392.2 函 数 I(Functions I).492.3 函 数 II(Functions II).542.4 参 数 的
2、默 认 值(Default values in arguments).572.5 函 数 重 载(Overloaded functions).582.6 Inline 函 数(inline functions).592.7 递 归(Recursivity).602.8 函 数 的 声 明(Declaring functions).61第 三 章 高 级 数 据 类 型(Advanced Data).633.1 数 组(Arrays).633.2 字 符 序 列(Character Sequences).703.3 指 针(Pointers).773.4 动 态 内 存 分 酉 已(Dynami
3、c memory).883.5 数 据 结 构(Data Structures).933.6 自 定 义 数 据 类 型(User defined data types).101第 四 章 面 向 对 象 编 程.1054.1 类(Classes).1064.2 操 作 符 重 载(Overloading operators).1174.3 类 之 间 的 关 系(Relationships between classes).1244.4 多 态(Polymorphism).133第 五 章 C+高 级.1415.1 模 板(Templates).1415.2 名 空 间(Namespaces
4、).1505.3 出 音 处 理(Exception handling).1555.4 类 型 转 换 高 级(Advacned Class Type-casting).1595.5 预 处 理 指 令(Preprocessor Directives).164第 六 章 C+标 准 函 数 库.169C+基 础 教 程 B e ta版 原 作:Juan Soul/翻 译:Jing Xu(aqua)英 文 原 版 本 教 程 根 据 Juan Soulie的 英 文 版 6+教 程 翻 译 并 改 编。本 版 为 最 新 校 对 版,尚 未 定 稿。如 有 不 明 或 错 误 之 处,请 参 考
5、 英 文 原 版,并 敬 请 在 本 站 留 言 指 正。版 权 归 作 者 所 有,欢 迎 链 接,请 勿 转 载。本 教 程 对 a+语 言 进 行 了 深 入 浅 出 的 介 绍,从 基 础 知 识 到 A N S I+标 准 的 最 新 功 能,内 容 涵 盖 了 从 数 组,类 等 基 本 概 念 到 多 态、模 板 等 高 级 概 念。教 程 本 着 实 用 的 原 则,每 一 小 节 都 结 合 了 可 以 工 作 的 程 序 实 例,以 便 读 者 从 第 一 课 开 始 就 可 以 上 手 实 习。本 翻 译 版 本 对 许 多 C+概 念 中 的 关 键 词 保 留 了 中
6、 英 文 对 照,以 便 读 者 增 强 理 解,并 方 便 日 后 阅 读 英 文 原 版 教 材 C+基 础 教 程 简 介 怎 样 使 用 本 教 程 读 者 范 围 本 教 程 面 向 所 有 希 望 学 习 a+语 言 的 读 者。如 果 读 者 有 其 他 编 程 语 言 背 景 或 计 算 机 相 关 基 本 知 识 可 以 帮 助 更 好 的 理 解 教 程 内 容,但 这 并 非 必 须 条 件。对 于 C语 言 熟 悉 的 读 者 可 将 前 三 章(1.1到 3.4)当 作 复 习,因 为 这 部 分 内 容 主 要 介 绍 o+中 的 c 部 分。不 过 某 些 a+的
7、 语 法 与 c 还 是 有 些 差 别,所 以 建 议 还 是 快 速 的 读 一 下 这 部 分。第 四 章 讲 述 面 向 对 象 编 程。第 五 章 主 要 介 绍 A N S I-a+标 准 中 的 新 增 的 功 能。本 教 程 结 构 教 程 共 分 6 章,每 章 分 若 干 小 节。你 可 以 直 接 从 主 目 录 进 入 任 意 小 节,并 循 每 页 底 部 的 链 接 向 后 浏 览。很 多 小 节 含 有 一 页 例 题 介 绍 该 章 节 主 要 知 识 点 的 使 用。建 议 在 进 入 下 一 章 学 习 之 前 最 好 先 阅 读 这 些 例 题,理 解 每
8、 行 代 码。学 习 和 练 习 一 种 编 程 语 言 的 最 好 办 法 是 自 己 修 改 书 中 例 题 程 序,设 法 在 程 序 中 增 加 新 的 功 能。不 要 不 敢 修 改 这 些 例 题 程 序,这 正 是 学 习 的 方 法。兼 容 性 备 注 A N S I-a+标 准 近 几 年 来 被 接 受 为 国 际 标 准。尽 管 a+语 言 从 二 十 世 纪 8 0年 代 即 存 在,ANSI-a+在 1997年 才 被 发 表,2003年 又 被 修 订 过。因 此 很 多 编 译 器 不 支 持 ANSI-0+中 的 部 分 新 功 能,特 别 是 那 些 在 此
9、标 准 发 表 前 即 被 发 布 的 编 译 器。在 本 教 程 中,那 些 A N S I-a+中 新 增 的 而 老 一 代 a+编 译 器 大 多 不 支 持 概 念 将 备 用 如 下 标 志 标 出:ANSI a+新 增 的 概 念 同 样 对 于 c 和 a+在 实 现 上 有 明 显 不 同 的 概 念,将 备 用 如 下 标 志 标 出:c 与 a+不 同 的 地 方 编 译 器 本 教 程 中 所 有 例 题 程 序 均 为 console程 序(控 制 台 程 序)。此 类 程 序 以 文 本 形 式 与 用 户 交 换 信 息,显 K 结 果。所 有 a+编 译 器 均
10、 支 持 console程 序 的 编 译。要 了 解 更 多 关 于 如 何 编 译 的 说 明,请 查 询 你 的 编 译 器 用 户 使 用 手 册。O+编 译 器 和 开 发 环 境 推 荐 很 多 读 者 询 问 编 译 器 和 开 发 环 境 的 问 题。除 了 常 用 的 商 用 收 费 的 MS Visual Studio,V J+,Borland O+等 工 具 外,还 有 很 多 免 费 的 工 具 也 是 很 好 用 的。这 里 推 荐 两 种 免 费 的 6+开 发 软 件:1、Eclipse 的 CDT 开 发 工 具,官 方 网 站 在 http:/www.ecli
11、pse.org/cdt/2、开 源 工 具 Dev-O-+和 wxDev-O+第 一 章 C+基 础 知 识(Basics of C+)1.a+程 序 结 构 Structure of a program2.变 量 和 数 据 类 型 Variables and Data types3.常 量 Constants4.操 作 符/运 算 符 Operators5.控 制 台 交 互 Communication through console1.1 C+程 序 结 构(Structure of a program)下 面 我 们 从 一 个 最 简 单 的 程 序 入 手 看 一 个 a+程 序
12、的 组 成 结 构。/my first program in C+#include using namespace std;int main()cout Hello World!;return 0;Hello World!上 面 左 侧 显 示 了 我 们 的 第 一 个 程 序 的 源 代 码,代 码 文 件 名 称 为 hellowworld.cppo右 边 显 示 了 程 序 被 编 译 执 行 后 的 输 出 结 果。编 辑 和 编 译 一 个 程 序 的 方 法 取 决 于 你 用 的 是 什 么 编 译 器,根 据 它 是 否 有 图 形 化 的 界 面 及 版 本 的 不 同,编
13、 译 方 法 也 有 可 能 不 同,具 体 请 参 照 你 所 使 用 的 编 译 器 的 使 用 说 明。以 上 程 序 是 多 数 初 学 者 学 会 写 的 第 一 个 程 序,它 的 运 行 结 果 是 在 屏 幕 上 打 出 Hell。World!”这 句 话。虽 然 它 可 能 是 C+可 写 出 的 最 简 单 的 程 序 之 一,但 其 中 已 经 包 含 了 每 一 个 J+程 序 的 基 本 组 成 结 构。下 面 我 们 就 逐 个 分 析 其 组 成 结 构 的 每 一 部 分:/my first program in C+这 是 注 释 行。所 有 以 两 个 斜
14、线 符 号()开 始 的 程 序 行 都 被 认 为 是 注 释 行,这 些 注 释 行 是 程 序 员 写 在 程 序 源 代 码 内,用 来 对 程 序 作 简 单 解 释 或 描 述 的,对 程 序 本 身 的 运 行 不 会 产 生 影 响。在 本 例 中,这 行 注 释 对 本 程 序 是 什 么 做 了 一 个 简 要 的 描 述。#include 以#标 志 开 始 的 句 子 是 预 处 理 器 的 指 示 语 句。它 们 不 是 可 执 行 代 码,只 是 对 编 译 器 作 出 指 示。在 本 例 中 这 个 句 子#include 告 诉 编 译 器 的 预 处 理 器
15、将 输 入 输 出 流 的 标 准 头 文 件(iostream.h)包 括 在 本 程 序 中。这 个 头 文 件 包 括 了 J+中 定 义 的 基 本 标 准 输 入-输 出 程 序 库 的 声 明。此 处 它 被 包 括 进 来 是 因 为 在 本 程 序 的 后 面 部 分 中 将 用 到 它 的 功 能。using namespace std;J+标 准 函 数 库 的 所 有 元 素 都 被 声 明 在 一 个 名 空 间 中,这 就 是 std名 空 间。因 此 为 了 能 够 访 问 它 的 功 能,我 们 用 这 条 语 句 来 表 达 我 们 将 使 用 标 准 名 空
16、间 中 定 义 的 元 素。这 条 语 句 在 使 用 标 准 函 数 库 的 a+程 序 中 频 繁 出 现,本 教 程 中 大 部 分 代 码 例 子 中 也 将 用 到 它.int main()这 一 行 为 主 函 数(main function)的 起 始 声 明。main function是 所 有 C+程 序 的 运 行 的 起 始 点。不 管 它 是 在 代 码 的 开 头,结 尾 还 是 中 间-此 函 数 中 的 代 码 总 是 在 程 序 开 始 运 行 时 第 一 个 被 执 行。并 且,由 于 同 样 的 原 因,所 有 O+程 序 都 必 须 有 一 个 main
17、function.,m ain后 面 跟 了 一 对 圆 括 号(),表 示 它 是 一 个 函 数。J+中 所 有 函 数 都 跟 有 一 对 圆 括 号(),括 号 中 可 以 有 一 些 输 入 参 数。如 例 题 中 显 示,主 函 数(main function)的 内 容 紧 跟 在 它 的 声 明 之 后,由 花 括 号()括 起 来。cout 1 1 Hei low World!;这 个 语 句 在 本 程 序 中 最 重 要。c o u t是 J+中 的 标 准 输 出 流(通 常 为 控 制 台,即 屏 幕),这 句 话 把 一 串 字 符 串(本 例 中 为 Hell。W
18、 o r ld)插 入 输 出 流(控 制 台 输 出)中。c o u t在 的 声 明 在 头 文 件 iostream.h中,所 以 要 想 使 用 c o u t必 须 将 该 头 文 件 包 括 在 程 序 开 始 处。注 意 这 个 句 子 以 分 号(;)结 尾。分 号 标 示 了 一 个 语 句 的 结 束,O+的 每 一 个 语 句 都 必 须 以 分 号 结 尾。(6+程 序 员 最 常 犯 的 错 误 之 一 就 是 忘 记 在 语 句 末 尾 写 上 分 号).return 0;返 回 语 句(re tu rn)引 起 主 函 数 main()执 行 结 束,并 将 该
19、语 句 后 面 所 跟 代 码(在 本 例 中 为 0)返 回。这 是 在 程 序 执 行 没 有 出 现 任 何 错 误 的 情 况 下 最 常 见 的 程 序 结 束 方 式。在 后 面 的 例 子 中 你 会 看 到 所 有 J+程 序 都 以 类 似 的 语 句 结 束。你 可 能 注 意 到 并 不 是 程 序 中 的 所 有 的 行 都 会 被 执 行。程 序 中 可 以 有 注 释 行(以/开 头),有 编 译 器 预 处 理 器 的 指 示 行(以#开 头),然 后 有 函 数 的 声 明(本 例 中 m ain函 数),最 后 是 程 序 语 句(例 如 调 用 c o u
20、t),最 后 这 些 语 句 行 全 部 被 括 在 主 函 数 的 花 括 号()内。本 例 中 程 序 被 写 在 不 同 的 行 中 以 方 便 阅 读。其 实 这 并 不 是 必 须 的。例 如,以 下 程 序 int main()(cout Hello Worldreturn 0;)也 可 以 被 写 成:int main()cout Hello World return 0;以 上 两 段 程 序 是 完 全 相 同 的。在 J+中,语 句 的 分 隔 是 以 分 号(;)为 分 隔 符 的。分 行 写 代 码 只 是 为 了 更 方 便 人 阅 读。以 下 程 序 包 含 更 多
21、 的 语 句:/my second program in C+-+#include int main()(cout Hello World!cout Im a O+program;return 0;Hello World!Im a O+program在 这 个 例 子 中,我 们 在 两 个 不 同 的 语 句 中 调 用 了 cout 函 数 两 次。再 一 次 说 明 分 行 写 程 序 代 码 只 是 为 了 我 们 阅 读 方 便,因 为 这 个 m a in函 数 也 可 以 被 写 为 以 下 形 式 而 没 有 任 何 问 题:int main()cout Hello World
22、!cout Im to O-+program return 0;为 方 便 起 见,我 们 也 可 以 把 代 码 分 为 更 多 的 行 来 写:int main()(cout Hello World!;cout Im a O+program;return 0;)它 的 运 行 结 果 将 和 上 面 的 例 子 完 全 一 样。这 个 规 则 对 预 处 理 器 指 示 行(以#号 开 始 的 行)并 不 适 用,因 为 它 们 并 不 是 真 正 的 语 句。它 们 由 预 处 理 器 读 取 并 忽 略,并 不 会 生 成 任 何 代 码。因 此 他 们 每 一 个 必 须 单 独 成
23、 行,末 尾 不 需 要 分 号(;)注 释(Comments)注 释(comments)是 源 代 码 的 一 部 分,但 它 们 会 被 编 译 器 忽 略。它 们 不 会 生 成 任 何 执 行 代 码。使 用 注 释 的 目 的 只 是 使 程 序 员 可 以 在 源 程 序 中 插 入 一 些 说 明 解 释 性 的 内 容。O+支 持 两 中 插 入 注 释 的 方 法:/line comment/*block comment*/第 一 种 方 法 为 行 注 释,它 告 诉 编 译 器 忽 略 从 开 始 至 本 行 结 束 的 任 何 内 容。第 二 种 为 块 注 释(段 注
24、 释),告 诉 编 译 器 忽 略 在/*符 号 和*/符 号 之 间 的 所 有 内 容,可 能 包 含 多 行 内 容。在 以 下 我 们 的 第 二 个 程 序 中,我 们 插 入 了 更 多 的 注 释。/*my second program in O+with more comments*/#include int main()cout Hello World!/says Hello World!cout Im a O+program;/says Im a C H-+programreturn 0;Hello World!Im a C+program如 果 你 在 源 程 序 中 插
25、 入 了 注 释 而 没 有 用 符 号 或/*和*/符 号,编 译 器 会 把 它 们 当 成 J+的 语 句,那 么 在 编 译 时 就 会 出 现 一 个 或 多 个 错 误 信 息。1.2 变 量 和 数 据 类 型(Variables and Data types)你 可 能 觉 得 这 个 Hellow WorldM程 序 用 处 不 大。我 们 写 了 好 几 行 代 码,编 译,然 后 执 行 生 成 的 程 序 只 是 为 了 在 屏 幕 上 看 到 一 句 话。的 确,我 们 直 接 在 屏 幕 上 打 出 这 句 话 会 更 快。但 是 编 程 并 不 仅 限 于 在 屏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 基础教程 目录
限制150内