c++面向对象程序设计_自学指导书.pdf
《c++面向对象程序设计_自学指导书.pdf》由会员分享,可在线阅读,更多相关《c++面向对象程序设计_自学指导书.pdf(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C+面 向 对 象 程 序 设 计 自 学 指 导 书 浙 江 师 范 大 学 信 息 科 学 与 工 程 学 院 朱 建 新 编 2005年 4 月 3 0日目 录 第 一 章 C+语 言 概 述.4【学 习 要 点】.4【例 题 分 析】.4【思 考 题】.5第 二 章 基 本 数 据 类 型 运 算 符 及 表 达 式.6【学 习 要 点】.6【例 题 分 析】.6【思 考 题】.8第 三 章 控 制 结 构.8【学 习 要 点】.8【例 题 分 析】.9【思 考 题】.17第 四 章 数 组.20【学 习 要 点】.20【例 题 分 析】.21【思 考 题】.24第 五 章 函 数
2、与 编 译 预 处 理.33【学 习 要 点】.33【例 题 分 析】.33【思 考 题】.40第 六 章 指 针.49【学 习 要 点】.49【例 题 分 析】.50【思 考 题】.58第 七 章 结 构 体 与 共 用 体.60【学 习 要 点】.60【例 题 分 析】.60【思 考 题】.67第 八 章 类 与 对 象.70【学 习 要 点】.70【例 题 分 析】.71【思 考 题】.77第 九 章 继 承 与 派 生 类.80【学 习 要 点】.80【例 题 分 析】.80【思 考 题】.84第 十 章 运 算 符 重 载 与 虚 函 数.89【学 习 要 点】.89【例 题 分 析
3、】.89【思 考 题】.99第 十 一 章 文 件 与 流 类 库.100【学 习 要 点】.100【例 题 分 析】.100【思 考 题】.105第 一 章 C+语 言 概 述 本 章 主 要 介 绍 C+十 的 起 源、发 展 历 史 及 其 特 点;C+十 程 序 的 基 本 结 构;Visual C+6.0集 成 开 发 环 境 及 上 机 操 作 过 程。【学 习 要 点】1.了 解 C+语 言 的 特 点。2.理 解 C+十 语 言 源 程 序 的 结 构、书 写 格 式 和 main()函 数 的 作 用。3.熟 悉 Visual C+6.0集 成 开 发 环 境。熟 练 掌 握
4、 利 用 Visual C+6.0集 成 开 发 环 境 开 发、调 试 C+十 控 制 台 程 序 的 步 骤 和 基 本 操 作。【例 题 分 析】一、选 择 题 例 1-1 以 下 叙 述 中 正 确 的 是 A.C+十 程 序 由 main()函 数 组 成 B.C+十 程 序 由 函 数 组 成 C.C+十 程 序 的 执 行 从 第 一 个 函 数 开 始 D.在 C+十 程 序 中,注 释 只 能 位 于 一 条 语 句 之 后 解:对 于 C+十 程 序 应 明 确:(1)程 序 由 函 数 组 成。一 个 可 运 行 的 C+十 源 程 序 可 由 一 个 且 仅 能 由 一
5、 个 main()函 数 加 上 其 他 的 函 数 组 成,其 他 函 数 可 有 可 无。(2)不 管 main()函 数 出 现 在 什 么 位 置,程 序 总 是 从 main()函 数 开 始 执 行。(3)注 释 的 两 种 方 法:一 是 用/*和*/把 注 释 信 息 括 起 来;二 是 用,它 表 示/之 后 到 本 行 结 束 为 注 释 内 容。可 以 在 程 序 任 何 位 置 进 行 注 释。正 确 答 案:Bo二、填 空 题 例 1-2 在 下 列 程 序 的 每 行 之 后 加 上 注 释。#includc iostrcam.hvoid main()(coutHe
6、llo!n;cout Welcome to C+!n;解:注 释 如 下:#include iostream.h 指 示 编 译 器 在 此 处 将 文 件 iostream.h上 中 的 代 码 嵌 入 木 程 序。void main()主 函 数,void表 示 main()函 数 没 有 返 回 值。coutV V H ello!n;输 出 字 符 串 Hello!”到 显 示 器 上。cout Welcome to C+!n;输 出 字 符 串 Welcome to C+!n”。例 1-3 C+十 中 函 数 的 函 数 体 由 符 号 _ 开 始,用 符 号 _ 结 束。解:C+十
7、中 函 数 的 函 数 体 由 符 号“”开 始,用 符 号“”结 束。三、编 程 题 例 1-4编 写 一 个 程 序,运 行 时 提 示 输 入 个 数 字,再 把 这 个 数 字 显 示 出 来。解:程 序 如 下:#include iostream.hvoid main()int i;cout请 输 入 一 个 数 字:;cini;cout你 输 入 的 数 字 是 viendl;【思 考 题】一、选 择 题 1.C+十 语 言 规 定:在 一 个 源 程 序 中,main()函 数 的 位 置 A.必 须 在 最 开 始 B.必 须 在 系 统 调 用 的 库 函 数 的 后 面 C
8、.可 以 任 意 D.必 须 在 最 后 2.以 下 正 确 的 叙 述 是 A.C+十 程 序 的 每 行 中 只 能 写 一 个 语 句 B.C+语 言 本 身 无 输 入、输 出 语 句 C.在 对 一 个 C+十 源 程 序 进 行 编 译 的 过 程 中,可 发 现 注 释 中 的 拼 写 错 误 D.在 C+十 程 序 中,main()函 数 必 须 位 于 程 序 的 最 前 面 3.以 下 符 号 中 能 作 为 用 户 标 识 符 的 是 A._123 B.void C.struct D.switch4.C+十 语 言 程 序 的 基 本 单 位 是 A.程 序 行 B.语
9、句 C.函 数 D.字 符 二、填 空 题 5.一 个 可 执 行 的 C+十 程 序 至 少 必 须 有-个 函 数。6.C+十 源 程 序 中 注 释 的 作 用 是 7.一 个 C+语 句 以 结 束。_ 是 C+十 语 句 的 组 成 部 分。8.在 C+十 语 言 中 输 入、输 出 操 作 是 通 过 来 实 现 的。9.在 下 列 程 序 的 每 行 之 后 力,上 注 释。#include void main()int nl,n2,s u m;cont n l n 2;suin=nl+n2;coutnl+nl=s u m e n d l;三、编 程 题 10.参 照 例 题 分
10、 析,编 写 一 个 C+十 程 序 并 上 机 运 行,能 输 出 以 下 信 息:Hello,C+!11.编 写 一 个 C+十 程 序,输 入 任 意 三 个 数 a,b,c,能 输 出 其 中 的 最 大 值。第 二 章 基 本 数 据 类 型 运 算 符 及 表 达 式 本 章 是 C+十 语 言 中 需 要 熟 记 的 内 容 最 多 的 一 章,对 于 数 据 类 型、运 算 符、表 达 式 等 内 容 既 要 熟 记,更 要 灵 活 运 用;特 别 要 注 意 与 自 然 语 言 明 显 不 同 的 逗 号 运 算、自 增 自 减 等 运 算 的 特 点。【学 习 要 点】1.
11、掌 握 常 量 与 变 量、整 型 数 与 实 型 数 的 概 念。2.掌 握 字 符 型 数 据 与 字 符 串 型 数 据 的 概 念 以 及 二 者 的 区 别。3.掌 握 各 种 类 型 的 变 量 说 明 及 其 初 始 化。4.掌 握 算 术 运 算、逻 辑 运 算、关 系 运 算、赋 值 运 算、逗 号 运 算 等 概 念。5.掌 握 运 算 符 的 优 先 级、左 结 合 和 右 结 合 规 则 以 及 目 数 的 概 念。6.掌 握 表 达 式 求 值 时 类 型 的 自 动 转 换 和 强 制 类 型 转 换。7.掌 握 表 达 式 的 组 成、表 达 式 的 优 化。8.
12、掌 握 位 运 算 和 位 运 算 符。【例 题 分 析】、选 择 题 例 21 下 列 不 合 法 的 变 量 名 为 一 A.student B.-student C._student D.student()解:根 据 变 量 命 名 要 求,曾 字 母 以 英 文 字 母 或 下 划 线 开 头。正 确 答 案:Bo例 22 下 列 不 合 法 的 变 量 名 为 A.t%udent B.astudent C.s_tudent D.studen()解:根 据 变 量 命 名 要 求,变 量 七 组 成 只 能 由 大 小 写 字 母、数 字、下 划 线 组 成。正 确 答 案:Ao例 2
13、3 下 列 不 合 法 的 变 量 名 为 A.lint B.inti c.int D._lint解:根 据 变 量 命 名 要 求,系 统 关 键 字 示 能 作 为 变 量 名。正 确 答 案:C例 24 当 a=6,b=5 时,逻 辑 表 达 式 a 8的 值 为 _A.true B.false C.非 0 整 型 数 D.0解:根 据 题 意 和 该 逻 辑 表 达 式 的 运 算 结 果。正 确 答 案:Co例 2-5 设 X,y,Z 为 整 型 数,下 列 各 式 中,运 算 结 果 与 X=y=2 4 的 表 达 式 相 同 的 是 A.x=(y=z=8,4X 6)B.x=y=(
14、z=8,4X 6)C.X=y=z=8.4X 6 D.x=(y=z=8),4X 6解:C+语 言 的 赋 值 运 算 有 别 于 其 他 高 级 语 言,逗 号 运 算 又 是 其 他 高 级 语 言 所 没 有 的。1.在 赋 值 表 达 式 中,可 以 有 多 个 赋 值 运 算 符;计 算 顺 序 自 右 向 左,运 算 优 先 级 低,仅 高 于 远 号 运 算 符。2.逗 号 既 是 分 隔 符,又 是 运 算 符,可 以 用 一 个 逗 号 运 算 符 或 多 个 逗 号 运 算 得 将 多 个 表 达 式 连 接 成 逗 号 表 达 式,计 算 顺 序 自 左 向 右,并 将 最
15、后 一 个 表 达 式 的 值 作 为 整 个 逗 号 表 达 式 的 值,运 算 优 先 级 最 低;例:a=(2X 2,4+6,2 0/4,6);结 果 a=6正 确 答 案:Bo例 2 6 设 i=6,k=0下 列 各 式 中,运 算 结 果 为 k=7 的 表 达 式 是 A.k=i+k B.k=k+i+C.k=+i+k D.k=k+(十 十 i)解:自 增 十 十、自 减 一 一 运 算 符 是 C+十 语 言 特 有 的。1.运 算 符 在 变 量 的 前 面 或 后 面,其 运 算 结 果 是 不 同 的。若 十 十 或 一 一 在 变 量 前;则 先 将 变 量 的 值 加 1
16、(或 减 1 后,再 将 变 量 的 值 参 加 运 算;反 之 则 先 将 变 量 的 值 参 加 运 算;再 将 变 量 的 值 加 1(或 减 1)。2.自 增、自 减 运 算 符 优 先 级 高 于 算 术 运 算 符,A 式 i+k,先 计 算 i+,再 力。k,D 式 k=k+(+i),若 去 掉 括 号,则 改 变 了 运 算 顺 序;变 为 k+十 后,再 十 1。正 确 答 案;C 和 D。二、填 空 题 例 2 7 表 达 式 A+B+2 0 的 值 为 _解:不 同 类 型 的 数 据 混 合 运 算 时,系 统 可 以 自 动 进 行 类 型 转 换,将 表 示 范 围
17、 小 的 数 据 类 型 转 换 成 另 一 操 作 数 的 相 同 类 型 后 再 参 与 运 算,则 转 换 为 65+66+20=15k例 28 如 果 定 义 inte=8;double f=6.4,g=8.例 则 表 达 式 f+in t(e/3*int(f+g)/2)%4 的 值 为 解:不 同 类 型 的 数 据 混 合 运 算 时,可 以 使 用 强 制 类 型 转 换 符,强 制 将 一 种 数 据 类 型 转 换 成 另 一 种 数 据 类 型 后 再 参 与 运 算,对 于 表 达 式,先 求 表 达 式 的 值,然 后 再 转 换 值 的 类 型,本 例 的 运 算 结
18、 果 为 9.4。若 将 式 中 e/3 改 为 e/3.0则 运 算 结 果 为 6.4,因 为 e/3 的 值 是 整 型 数,而 e/3.0 的 值 是 实 型 数,改 变 了 括 号 内 的 运 算 结 果,致 使 整 个 表 达 式 的 值 发 生 变 化。例 29 若 inti=65535,j=0 xOOOx,k:k=i&j;,贝 Ijk 值 为 i 值 为 解:将 10进 制 数 65535和 16进 制 数 OOOaH在 计 算 机 内 的 二 进 制 原 型 数 值 按 位 与 运 算,结 果 为 k=10,i 为 65535。三、编 程 题 例 2 10 编 写 一 个 将
19、 华 氏 温 度 转 换 为 摄 氏 温 度 的 程 序。转 换 公 式 为 C=(5.0/9)(F3 2),要 求 输 出 华 氏 温 度 和 摄 氏 温 度 的 对 应 值。解:程 序 如 下:#includevoid main()double C,F;cout”输 入 华 氏 温 度 值:“;cin F;C=(5.0/9)*(F-32);coutw哗 氏 温 度 为:“V V F V W 对 应 的 摄 氏 温 度 值 是:“C endlendl;【思 考 题】一、选 择 题 1.以 下 可 作 为 正 确 变 量 名 的 是 A.class B.class 1 C.1 class D.
20、class2 以 下 可 作 为 正 确 变 量 名 的 是。A.case B.-cd C.33 D.33s3.若 a=1 5,b 3 时,逻 辑 表 达 式 a 8 的 值 为 A.ture B.false C.非 0 整 型 数 D.04.若 a 和 b 为 整 型 变 量,语 句 b=(a=l+2 a X 3),a+5 运 行 后,a和 b 的 结 果 为 A.9,8 B.3,8 C.3,9 D.9,145.以 下 不 正 确 的 叙 述 是 A.在 C+十 程 序 中,P I和 p i是 不 同 的 变 量 B.在 C+十 程 序 中,逗 号 运 算 符 的 优 先 级 最 低 C.当
21、 从 键 盘 输 入 数 据 时,对 于 整 型 变 量 只 能 输 入 整 型 数 值,对 于 实 型 变 量 只 能 输 入 实 型 数 值 D.若 s、t 为 in t数,设 t=S 2后,s 的 值 不 变 6.若 in ta;charb;float c;double d;则 表 达 式 a*bc+d 值 的 数 据 类 型 为。A.int B.float C.double D.char7.已 知 字 母 A 的 A SC II码 为 十 进 制 数 65,D 为 字 符 型 变 量,则 D=A+9-4的 值。8.若 a 为 16进 制 数,若 想 通 过 a&b运 算 使 a 的 二
22、 进 制 数 的 高 4 位 清 零,低 4 位 不 变;则 b 的 16进 制 数 是 9.编 制 程 序,输 入 相 应 字 母 的 ASCH码 值,输 出 该 字 母。10.用 C+十 描 述 下 面 命 题:(1)a 小 于 b 或 大 于 c(2)a 和 b 中 至 少 有 大 于 C o(3)a 和 b 中 只 有 一 个 大 于 c。(4)a 和 b 中 两 个 都 大 于 C o第 三 章 控 制 结 构【学 习 要 点】1.掌 握 顺 序 结 构 的 编 程 方 法,这 是 程 序 设 计 的 基 础。2.学 会 cin、cout实 现 输 入/输 出 数 据。3.学 会 应
23、 用 字 符 输 入/输 出 函 数。4.掌 握 printf函 数 和 scanf函 数。5.掌 握 条 件 语 句 的 形 式 和 使 用.6.掌 握 条 件 语 句 的 嵌 套。7.掌 握 条 件 运 算 符 的 使 用。8.掌 握 switch语 句 的 形 式 和 使 用。9.掌 握 for,while,do一 while三 种 循 环 语 句。10.掌 握 循 环 的 嵌 套。11.掌 握 break,continue,goto 语 句.【例 题 分 析】一、多 项 选 择 题 例 3-1 如 有 以 下 定 义 和 输 入 语 句,若 要 求 ak a2、cl c 2 的 值 分
24、 别 为 20、60、A、B,则 下 列 数 据 输 入 方 式 中 正 确 的 是 int al,a2;char cl,c2;c in a l c I a 2 c 2;A.20A 1 1 60B B.20,A,60,B C.20 1 1 A*1 60 BD.20A60B E.20A6 0 B注:此 处 一 为 空 格 符,为 回 车 键 符,下 文 同。解:C+十 语 言 没 有 专 门 的 输 入/输 出 语 句,其 输 入/输 出 可 通 过 输 入/输 出 流 来 实 现。c i n 不 能 将 输 入 的 空 格 赋 给 字 符 型 变 量,空 格 和 回 车 键 均 作 为 输 入
25、 字 符 之 间 的 分 隔 符;字 符 型 变 量 只 能 容 纳 一 个 字 符,整 型 数 只 能 由 数 字 组 成;逗 号 不 能 作 为 分 隔 符。正 确 答 案:A、C、D、Eo例 3-2 设 有 语 句 float PI=3.14;,若 用 科 学 表 示 法 输 出 为 3.140000e+000则 下 列 正 确 的 表 达 式 为 _A.cout P I e n d l;B.cout.setf(ios:scientific,ios:floatfield);c o u t P I nnn;C.printfC%12.10fn”,PI);D.printfC%enn,PI);解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 面向 对象 程序设计 自学 指导书
限制150内