收藏 分享(赏)

计算机程序设计实训教程.docx

上传人:oceanpvg 文档编号:5087886 上传时间:2019-02-07 格式:DOCX 页数:311 大小:1.64MB
下载 相关 举报
计算机程序设计实训教程.docx_第1页
第1页 / 共311页
计算机程序设计实训教程.docx_第2页
第2页 / 共311页
计算机程序设计实训教程.docx_第3页
第3页 / 共311页
计算机程序设计实训教程.docx_第4页
第4页 / 共311页
计算机程序设计实训教程.docx_第5页
第5页 / 共311页
点击查看更多>>
资源描述

1、高职高专计算机实训系列教材计算机程序设计实训教程主 编 罗幼平副主编 胡大威 叶文胜 何定华 孙俊 陶洁 主 审 程时兴华中科技大学出版社图书在版编目(CIP)数据计算机程序设计实训教程/罗幼平 主编 武汉: 华 中 科 技 大 学 出 版 社 , 2002 年 3 月ISBN 7-5609-2671-1/TP311.1I. 计 II. 罗 胡 叶 何 孙 I.IV.计算机程序设计实训教程 罗幼平 主 编责任编辑:谢燕群 封面设计:责任校对:陈元玉 监 印:出版发行者:华中科技大学出版社 武昌喻家山 邮编: 430074 电话: (027)87542624 经销者:新华书店湖北发行所录排者:华

2、中科技大学惠友科技文印中心 印刷者:开本: 印张: 字数: 版次:2000 年 月第 版 印次:2002年3月第 次印刷 印数:定价: 34.00 元(本书若有印装质量问题,请向出版社发行科调换)U 上机实训是学好计算机的一个重要环节, 开发计算机软件是每一个程 序设计爱好者的学习目标。 本教材就是为广大程序设计爱好者学习程序设 计而编写的一本实用性较强的实训教材。 全书包含 C 语言、 Visual FoxPro、 Visual Basic、 Visual C+和 数 据 结 构 的 上 机 实 训 内 容 , 其 内 容 由 浅 入 深 , 覆 盖 面 广 , 既 有 内 容 提 要 ,

3、又 有 上 机 步 骤 指 导 、 问 题 思 考 和 程 序 改 进 , 还 有独立编程和综合编程训练,可作为任何该课程教材的上机辅导书。本书由几位有多年程序设计教学经验的教师共同编写, 主要编写人员 有黄冈职业技术学院的罗幼平、 叶文胜和孙俊老师, 武汉职业技术学院的 何定华和胡大威老师,全书由罗幼平老师统稿。本书在编写过程中,得到了黄冈职业技术学院、武汉职业技术学院、 荆门职业技术学院等各级领导的大力支持与关心,在此一并表示感谢。由 于 成 书 时 间 较 短 , 加 上 编 者 水 平 有 限 , 书 中 难 免 有 不 足 之 处 , 恳 请 读者批评指正。编 者2001.12内 容

4、 简 介本 教 材 是 为 广 大 程 序 设 计 爱 好 者 学 习 程 序 设 计 而 编 写 的 一 本 实 用 性 较强的实训教材 。 全 书 包 含 C 语 、 Visual FoxPro、 Visual Basic、 Visual C 和 数 据 结 构 的 上 机 实 训 内 容 , 其 内 容 由 浅 入 深 , 覆 盖 面 广 , 既 有 内 容 提耍, 又有上机指导、 问题思考和程序改进 , 还有独立编程和综合编程训 练,可作为任何该课程教材的上机辅导书。目 录第 1 章 C 程序设计 (1)实训 C 程序的运行环境和运行方法 (1)实训目的(1)内容提要(1)实训任务(2

5、)实训二 数 据 类 型 、 运 算 符 和 表 达 式 (3)实训目的(3)内容提要(3)实训任务(4)实训三 简 单 的 C 程 序 设 计 (6)实训目的(6)内容提要(6)实训任务(7)实训囚 逻 辑 运 算 和 判 断 选 取 控 制 (9)实训目的(9)内容提要(9)实训任务 (11)实训五 循 环 控 制 (13)实训目的(13)内容提要(13)实训任务(14)实训六 数 组 (17)实训目的(17)内容提要(17)实训任务(18)实训七 函 数 (21)实训目的(21)内容提要(21)实训任务(23)实训八 编 译 预 处 理 (26)实训目的(26)内容提要(26)2 计算机

6、程序设计实训教程实训任务(27)实训九 指 针 (29)实训目的(29)内容提要(29)实训任务(32)实训十 结 构 体 和 共 用 体 (36)实训目的(36)内容提要(36)实训任务(39)实训十 位运算 (40)实训目的(40)内容提要(40)实训任务(41)实训十二 文件 (42)实训目的(42)内容提要(42)实训任务(43)实训十三 综合实训 (46)第 2 章 Visual FoxPro 6.0 程序设计 (47)实训 Visual FoxPro 6.0 的 安 装 与 使 用 (47)实训目的(47)内容提要(47)实训任务(50)实训二 常 量 、 变 量 、 数 组 、

7、函 数 与 般 程 序 设 计 (51)实训目的(51)内容提要(51)实训任务(53)实训三 面 向 对 象 的 程 序 设 计 方 法 初 步 (56)实训目的(56)内容提要(56)实训任务(58)实训囚 表 设 计 器 及 自 由 表 操 作 (62)实训目的(62)内容提要(62)目 录 3实训任务(64)实训五 数 据 库 设 计 器 及 数 据 库 操 作 (68)实训目的(68)内容提要(68)实训任务(70)实训六 查 询 的 创 建 (74)实训目的(74)内容提要(74)实训任务(76)实训七 视 图 (80)实训目的(80)内容提要(80)实训任务(81)实训八 表 单

8、 ( ) (86)实训目的(86)内容提要(86)实训任务(88)实训九 表 单 (二 ) (96)实训目的(96)内容提要(96)实训任务(97)实训十 报 表 、 标 签 、 菜 单 和 工 具 栏 (104)实训目的(104)内容提要(104)实训任务(107)实训十 综合实训 (112)第 3 章 Visual Basic 程序设计 (113)实训 VB 简单程序设计及窗体 (113)实训目的 (113)内容提要 (113)实训任务 (115)实训二 标 签 、 文 本 框 、 命 令 按 钮 、 计 时 器 (121)实训目的 (121)内容提要(121)4 计算机程序设计实训教程实

9、训任务(122)实训三 单 选 钮 、 复 选 钮 、 框 架 (124)实训目的(124)内容提要(124)实训任务(125)实训囚 列 表 框 、 组 合 框 和 滚 动 条 (127)实训目的(127)内容提要(127)实训任务(128)实训五 程 序 设 计 基 础 (131)实训目的(131)内容提要(131)实训任务(132)实训六 数 组 、 自 定 义 类 型 、 枚 举 类 型 (136)实训目的(136)内容提要(136)实训任务(136)实训七 过 程 (138)实训目的(138)内容提要(138)实训任务(139)实训八 图 形 与 图 像 (142)实训目的(142)

10、内容提要(142)实训任务(143)实训九 文 件 的 使 用 (146)实训目的(146)内容提要(146)实训任务(148)实训十 对 话 框 设 计 (154)实训目的(154)内容提要(154)实训任务(156)实训十 数据库应用 (164)实训目的(164)目 录 5内容提要(164)实训任务(165)实训十二 ActiveX 控件 (169)实训目的(169)内容提要(169)实训任务(171)实训十三 菜单与工具栏 (176)实训目的(176)内容提要(176)实训任务(176)实训十囚 综合实训 (183)第 4 章 数据结构 (184)实训 线 性 表 的 顺 序 存 储 (

11、184)实训目的(184)内容提要(184)实训任务(186)实训二 多 项 式 相 加 (187)实训目的(187)内容提要(187)实训任务(188)实训三 单 向 循 环 链 表 (190)实训目的(190)内容提要(190)实训任务(191)实训囚 枝 操 作 (192)实训目的(192)内容提要(192)实训任务(193)实训五 串 操 作 (194)实训目的(194)内容提要(194)实训任务(196)实训六 二 叉 树 的 存 储 和 运 算 (197)实训目的(197)6 计算机程序设计实训教程内容提要(197)实训任务(198)实训七 合 夫 曼 编 码 (200)实训目的(

12、200)内容提要(200)实训任务(203)实训八 图 的 遍 历 (204)实训目的(204)内容提要(204)实训任务(206)实训九 查 找 (207)实训目的(207)内容提要(207)实训任务(209)实训十 内 部 排 序 (210)实训目的(210)内容提要(210)实训任务 (211)实训十 综 合 实 训 (课 程 设 计 ) (213)实训目的(213)内容提要(213)实训任务(215)第 5 章 Visual C+程序设计 (216)实训 Visual C+的 启 动 、 控 制 台 项 目 (216)实训目的(216)内容提要(216)实训任务(217)实训二 C+基

13、 本 数 据 类 型 、 表 达 式 和 基 本 语 句 (219)实训目的(219)内容提要(219)实训任务(219)实训三 C+构 造 类 型 、 指 针 和 函 数 (221)实训目的(221)内容提要(221)目 录 7实训任务(221)实训囚 预 处 理 、 文 件 、 类 和 对 象 (223)实训目的(223)内容提要(223)实训任务(224)实训五 基 本 应 用 程 序 、 对 话 框 、 按 钮 及 编 辑 框 控 件 (226)实训目的(226)内容提要(226)实训任务(228)实训六 列 表 框 、 组 合 框 及 滑 动 条 等 控 件 (232)实训目的(23

14、2)内容提要(232)实训任务(232)实训七 菜 单 、 工 具 栏 和 状 态 栏 (236)实训目的(236)内容提要(236)实训任务(237)实训八 文 档 一 一 视 图 结 构 及 其 应 用 (241)实训目的(241)内容提要(241)实训任务(241)实训九 数 据 库 编 程 (247)实训目的(247)内容提要(247)实训任务(248)实训十 综 合 训 练 (249)附录 Turbo C 2.0 菜单功能介绍 . (250)、菜单功能介绍 (250)二 、 Turbo C 2.0 的 编 辑 命 令 (255)附录 Visual Basic 程序调试 (256) 、

15、 VB 调试工具 (256)二、调试程序 (257)三、调试窗口 (257)8 计算机程序设计实训教程囚、出错处理程序 (259)附录 Visual C+程序的调试 (261)、调试器 (261)二、调试菜单介绍 (261)三、调试要点 (262)囚、用于调试的宏和函数介绍 (263)第 1 章C 程 序 设 计C 语 言 程 序 设 计 实 训 可 以 作 为 计 算 机 程 序 设 计 的 入 门 语 言 实 训 。 本 章 注 重 程 序 设 计 语 言 中 基 本 数 据 类 型 和 语 句 结 构 等 基 础 知 识 的 训 练 , 是 学 习 后 续 程 序 设 计 的 基 础 ,

16、 也 是 进 行 数据结构算法实训的必备基础。实训一 C 程序的运行环境和运行方法实 训 目 的 了 解 所 用 的 计 算 机 系 统 的 基 本 操 作 方 法 , 学 会 独 立 使 用 该 系 统 。 了 解 计 算 机 系 统 是 如 何 编 辑 、 编 译 、 链 接 和 运 行 一 个 C 程序的。 初步了解 C 源 程 序 的 基 本 结 构 。内 容 提 要 1. C 程 序 的 基 本 结 构 C 程 序 由 一 系 列 函 数 组 成 , 每 个 函 数 都 能 完 成 一 个 独 立 功 能 , 但 一 个 C 程 序 有 且 只 有一个以 main 为 名 的 主 函

17、 数 , 程 序 从 它 开 始 执 行 。 C 程序的 语句以分号(: )结束。 C 程序中 的“”与“” 、 “”与“ ”、 “(”与 “) ”等必须 成对出现。 可对 C 程 序 的 语 句 作 注 释 。 注 释 部 分 可 用 “/* */”括 起 来 , 不 影 响 程 序 的 执 行 , 但可增加程序的可读性。2. C 程 序 的 编 辑 、 编 译 、 链 接 和 运 行 方 法2 计算机程序设计实训教程请 阅 读 附 录 : Turbo C 2.0 菜 单 功 能 介 绍 。第 1 章 C 程序设计 3实 训 任 务 1. 进 入 Turbo C 集 成 环 境 , 输 入

18、以 下 源 程 序 , 文 件 名 为 exce1.c。 main( ) printf(“I am a student.n“) printf(“I love china.n“)在此基础上 编 译 此 文 件 , 观 察 编 译 时 的 信 息 , 如 程 序 有 锚 , 请 重 新 编 辑 , 直 到 无 锚 误 为 止 。 在 main( )后加上注释“This is a C program”,观察程序执行结果有无变化。 暂 时 退 出 集 成 环 境 , 查 看 有 无 exce1.obj 和 exce1.exe 两 个 文 件 。 返 回 集 成 环 境 , 将 此 文 件 另 存 为

19、bfexce1.c。 2. 输 入 并 运 行 教 材 第 一 章 中 例 1.2。3. 模 仿 书 中 例 题 , 自 己 编 写 一 个 程 序 , 要 求 输 出 以 下 信 息 :* I love C language*4. 分 别 将 上 面 几 个 源 程 序 文 件 重 新 打 开 运 行 一 次 。5. 通 过 以 上 训 练 题 , 熟 悉 C 语 言 集 成 环 境 菜 单 的 基 本 功 能 。6. 退 出 集 成 环 境 。4 计算机程序设计实训教程实训二 数据类型、运算符和表达式实 训 目 的 掌握 C 语 言 的 基 本 数 据 类 型 , 熟 悉 变 量 的 定

20、义 及 赋 值 , 数 据 类 型 的 转 换 。 学会使用 C 语言的 有 关运算符以及包含这些运算符的表达式 , 特别是自加和自减运 算符的使用。 进 一 步 熟 悉 C 语 言 程 序 的 编 辑 、 链 接 和 运 行 的 过 程 。内 容 提 要 1. 常量和变量(1) 常量在程序运行过程中其值固定不变的量,可分为直接常量和符号常量。 符 号 常 量 的 定 义 : #define 符 号 常 量 名 常量值如在程序开头有 # define pi 3.14,则 以 后 程 序 中 出 现 的 pi 均代表数值 3.14, 而 且 pi不可再赋值。使用符号常量可增加程序的可读性,也便于

21、改变符号常量的值。(2) 变量 在程序运行过程中其值可改变的量。 变量的定义:类型符 变 量 名 表 列 :如 int a,b: 表 示 定 义 了 两 个 整 型 变 量 a 和 b。 变量的赋值:变量名 op 表达式:其中 op 表示 赋值运算符, 表达式可为常量、 变量和一个运算式, 如 int a, b: a=5: b=5: 也可连续赋值,如 a=b=5: 还 可 在 定 义 时 赋 值 , 称 为 变 量 的 初 始 化 , 如 int a=5:2. 数据类型及数据类型转换(1) 数据类型C 语言提供 了 4 种基本 的数据类型: 整型 (int ) 、 字符型 (cha r) 、

22、实型 (单精度型 (float ) 和双精度型(do uble) ) 、 枚举类型。第 1 章 C 程序设计 5(2) 数据类型转换 运 算 符 转 换 : 使 各 运 算 分 量 数 据 类 型 相 同 。 赋 值 转 换 : 使 赋 值 符 号 两 边 数 据 类 型 相 同 。 转 换 时 将 赋 值 符 号 右 边 表 达 式 值 的 数 据 类型转换为左边变量的数据类型。 强 制 类 型 转 换 : 当 自 动 类 型 转 换 不 能 实 现 目 的 时 , 可 以 用 强 制 类 型 转 换 。3. 表达式C 语 言 中 的 表 达 式 是 指 由 运 算 量 、 运 算 符 、

23、括 号 、 函 数 等 连 接 成 的 有 意 义 的 式 子 。4. 使用时要点 C 程 序 中 用 到 的 变 量 必 须 先 定 义 。 如 :main()x=3: /*x 未 定 义 类 型 , 故 不 能 用 */ printf(“%dn“,x): 运 算 符 “%”只 适 用 于 整 型 数 据 。 C 语言表达式与数学表达式有区别。 如数学表 达式 m=ab 的 C 语言表 达式为 m=a*b。 不 可 对 表 达 式 赋 值 。 如 :main()int m,a,b:m=a+b=9: /*a+b 为 表 达 式 , 不 可 被 赋 值 , 所 以 这 语 句 是 锚 的 */

24、printf(“%dn“,m): 对 变 量 赋 值 时 , 不 能 超 越 变 量 值 的 范 围 。 自 加 ( +) 和 自 减 ( ) 运 算 符 的 作 用 是 使 变 量 的 值 加 1 和减 1, 不 能 用 于 常 量 和 运算表达式。如 3+和 +(a+3)均 不 合 法 。 字 符 型 数 据 与 整 型 数 据 可 互 相 赋 值 。实 训 任 务 1. 输 入 并 运 行 如 下 程 序 :main( )int a=5: printf(“%d,“,a):6 计算机程序设计实训教程printf(“%d“,a): 在程序中 增加一条语句,使程序输出的结果为 6,6(用三 种

25、语句形式) 。 不 增 加 语 句 , 使 程 序 的 输 出 结 果 为 6,6。 不 增 加 语 句 , 使 程 序 的 输 出 结 果 为 5,6。 不 改 变 变 量 a 的 类 型 , 使 程 序 的 输 出 结 果 为 5.000000, 5.000000。 改 写 原 程 序 , 求 a 除 以 2 的 数 学 值 , 即 输 出 结 果 为 2.500000, 要 求 : a. 改变 a 的 数 据 类 型 。b. 不 改 变 a 的类型,也不用强制类型转换。 c. 不改变 a 的类型,用强制类型转换。 改 写 原 程 序 , 求 a 除 以 2 的 商 , 即 输 出 结 果

26、 为 2。 改 写 原 程 序 , 求 a 除 以 2 的 余 数 , 即 输 出 结 果 为 1。2. 设 x=2.5,a=7,y=4.7, 编 程 计 算 表 达 式 x+a%3*(int)(x+y)%2/4 的值。 将 x 和 y 的数据类型设为 float 型 。 将 x 和 y 的数据类型设为 int 型。 分 析 上 述 结 果 不 同 的 原 因 。3. 将“Ch ina”译 成 密 码 , 密 码 规 律 是 : 用 在 英 文 字 母 表 中 排 在 原 来 字 母 后 面 的 第 4个字母代替原来的字母, 例如, 字 母 “A”后面第 4 个字 母 是 “E”, 用 “E”

27、代替 “A”。 因 此, “China”应译为 “Glmre”。请编一程序,用赋值的方法使 c1、c 2、c 3、c4、 c5 等 5 个 变量的值分别为 C、 h、 i、 n、 a, 经 过 运 算 , 使 c1、 c2、 c3、 c4、 c5 分 别 变 为 G、 l、 m、 r、 e,并输出。第 1 章 C 程序设计 7实训三 简单的 C 程序设计实 训 目 的 掌握 C 语 言 中 赋 值 语 句 的 使 用 。 掌 握 数 据 的 输 入 、 输 出 的 方 法 。 正 确 使 用 格 式 符 。内 容 提 要 1. 输出函数(1) 字符输出函数格 式 : putchar(c):功能

28、:输出字符数据 c 的值,其中, c 可 以 是 字 符 型 或 整 型 数 据 。(2) 格式输出函数 格 式 : printf(格 式 控 制 , 输 出 项 表 ) 功能:按指定格式输出输出项的值。其中,“格式控制”部分内容用一对双引号括起来,由普通字符和格式说明(%格式字符) 组 成 。 输 出 时 , 普 通 字 符 原 样 输 出 , 一 般 用 作 解 释 或 提 示 : 格 式 说 明 指 明 对 应 输 出 项 的 输 出格式。“输出项表”可以是合法的常量、变量或表达式,各输出项之间用逗号分开。 p rintf( )函数也可只输出一串普通字符, 用作输入/ 输出前的提示信息,

29、 如 printf(“input a,b:“): 用 来 在 输 入 a、b 值之前给出 input a,b:的 提 示 信 息 。2. 输入函数(1) 字符输入函数格 式 : getchar(): 功能:接收从终端输入的一个字符。 (2) 格式输入函数 格 式 : scanf(格 式 控 制 , 地 址 表 列 )8 计算机程序设计实训教程功能:把从终端输入的数据送到对应地址单元。其中, “ 格 式 控 制 ”部 分 的 含 义 同 printf()函 数 。 “地址表 列” 是由若干 地址组成的表列, 可以是变量的地址, 或是字符串的首地址, 或是数组元素的地址等。 如 scanf(“%d

30、“,&a)表示把从终端输入的整型数据送到变量 a 的 地址 单元。3. 使用要点 使 用 标 准 I/O 库 函 数 时 , 应 在 程 序 前 使 用 预 编 译 命 令 #include “stdio.h“或#include(只 有 printf 和 scanf 函数例外 ) 。 使 用 标 准 的 I/O 函 数 时 , I/O 项 的 数 据 类 型 与 格 式 字 符 的 类 型 要 一 致 。 如 , printf (“%f,%d“,1,2.8): 将 输 出 与 原 意 不 符 的 结 果 。 表 示 变 量 的 地 址 时 要 在 变 量 名 前 加 地 址 运 算 符 &。

31、调试程序 时, 输入数据的形式与格式控制的形式要一致。 如 scanf (“%d,%d“,&a,&b): 要求输入数据时,数据之间应用逗号分开,不能用空格分开。 g etchar ()函数是不带参数的, 如要将接收的字符给一个字符变量, 则应用赋值语句, 如 ch=getchar(): 语 句 。 p utchar(c)中 的 “c”为 一 个 字 符 值 , 可 为 字 符 常 量 、 字 符 ( 整 型 ) 表 达 式 或 getchar()函数调用。实 训 任 务 1. 输 入 并 运 行 如 下 程 序 :main()float ave,x,y,z: x=3: y=4: z=5: av

32、e=(x+y+z)/3: printf(“%f“,ave): 改用 scanf()函 数 输 入 数 据 而 不 用 赋 值 语 句 , 且 要 求 输 入 形 式 为 3, 4, 5 在的基 础上改写程序, 使在输入数据之前显示 “please input x, y, z: ”的提示信息。 在 的 基 础 上 改 写 程 序 , 使 在 输 入 每 一 个 数 据 之 前 分 别 有 “x= ”、 “y= ”、 “z= ”的提示信息。 修改原程 序,使输出的结果形式为“avera ge=4.00, OK!”。第 1 章 C 程序设计 92. 输 入 并 运 行 以 下 程 序 :#inclu

33、de “stdio.h“ main()char a,b,c:a=b: b=o: c=y:putchar(a): putchar(b): putchar(c): 将 原 程 序 改 用 getchar()函 数 输 入 数 据 而 不 用 赋 值 语 句 。 将 原 程 序 改 用 scanf()函 数 输 入 数 据 而 不 用 赋 值 语 句 。 将 原 程 序 改 用 printf()函 数 输 出 数 据 而 不 用 putchar()函 数 输 出 。 修 改 原 程 序 , 要 求 不 用 赋 值 语 句 , 而 用 3 条 putchar()函 数 调 用 语 句 完 成 以 下

34、功 能 : 输出从终端输入的 3 个 字 符 。 修改原程 序,要求不用赋值语句, 只用一条 printf()函数调用语句完成以下功能: 按相 反顺序输出从终端输入的 3 个 字 符 。 修 改 原 程 序 , 要 求 从 键 盘 输 入 b o y 并回车,但 a、 b、 c 得 到 的 值 分 别 为 b、 o、 y, 输 出 也 为 b o y。 输出 a、 b、 c 的 ASCII码 值 。 3. 编 程 输 出 以 下 形 式 的 表 格NO NAME TEL1 LiPing 6230282 LiHua 6283504. 编 程 完 成 以 下 功 能设有定义 int a,b: a,

35、b 的 值 从 键 盘 输 入 , 如 果 从 键 盘 输 入 的 信 息 为 12 345 67, 要 求 a、 b得到的值分别为 12 和 67, 即 输 出 a、 b 的值为 12 和 67。5. 编程实现输入一个华氏温度,输出摄氏温度,公式为:c=5/9(F32),输出时要有文字说明,取 2 位小数。10 计算机程序设计实训教程实训四 逻辑运算和判断选取控制实 训 目 的 了解 C 语 言 表 示 逻 辑 量 的 方 法 。 学 会 正 确 使 用 关 系 和 逻 辑 运 算 符 及 其 表 达 式 。 熟 练 掌 握 条 件 语 句 。内 容 提 要 1. 关系与逻辑运算关系和逻辑运

36、算的结果只有两种: “真” (1)或 “假” (0 ) 。 C 语言中, 对一个非 0 值 进行逻辑运算时,一律当作“真”处理。2. 条件语句(1) if 语句用于处理分支选择的语句。C 语 言 中 , if 语句有 3 种 语 句 形 式 。 形式 1: if(e) s:先计算表达式 e 的 值 , 如 为 真 , 则 执 行 语 句 s,否 则 执 行 s 后面的语句。 形式 2:if(e) s1: else s2:先计算表达式 e 的 值 , 如 为 真 , 则 执 行 语 句 s1,否 则 执 行 语 句 s2。 形式 3: if(e1) s1:else if(e2) s2: else

37、 if(e3)s3:else if(en) sn: else sn+1:执 行 时 , 依 次 对 ei ( i=1,2, ,n) 求 值 , 直 到 其 值 为 真 , 如 为 真 , 则 执 行 其 后 的 语 句 si(i=1, 2, n), 其他语句被跳过, 如无一个表达式 ei 的值为真,则执行最后一个 else 后的 语句第 1 章 C 程序设计 11sn+1。if 语句可以嵌套, 即在一个 if 语句中 可包含一个或多个 if 语 句。 嵌套时, else 总是与它 前面最近的尚未配对的 if 语句配对。(2) switch 语 句 用于处理多分支选择的一种语句。 语句形式:sw

38、itch(表 达 式 ) case 常 量 表 达 式 1:s1: case 常 量 表 达 式 2:s2:case 常 量 表 达 式 n:sn: default sn+1:执行时, 先对 表达式求值, 如果值与某一个 case 后 的常量表达式值相等, 就 执行此 case 后 的 所 有 语 句 : 如 表 达 式 的 值 与 所 有 case 后 的 常 量 表 达 式 值 都 不 相 等 , 则 执 行 default 后的 语句。如果只选择执行某些语句,可在对应的语句后加上 break 语 句 , 这 样 执 行 完 此 语 句 后 , 就会退出 switch 语句。3. 使用要点

39、 在 C 语言 中, “=”为 赋值运算符, “=”为关 系判断运算符。 非 0 值在 一个表达式中出现时, 应先区分是作为数值运算、 关系运算还是逻辑运算。 对于 a&b&c, 当 a 为 假 ( 0) 时 , 不 必 判 断 b 和 c 的 值 。 只 有 当 a 为 真 ( 非 0) 时,才判断 b 的值,当 a 和 b 均 为 真 时 , 才 判 断 c 的值。 对于 a|b|c, 当 a 为真(非 0)时,不必判断 b 和 c 的值。只有当 a 为假(0)时, 才判断 b 的 值 , 当 a 和 b 均 为 假 时 , 才 判 断 c 的 值 。 在 C 语言 中, “: ”为 一个

40、合法的语句,即空语句,表示什么也不执行。 if 语 句 中 , 如 果 某 一 条 件 成 立 , 需 要 执 行 多 条 语 句 , 则 可 用 一 对 花 括 号 将 这 些 语 句 括起来,即以复合语句的形式运行,以保证其逻辑正确性。 if 语 句 中 , 如 果 if 与 else 的 个 数 不 等 , 则 为 实 现 某 if 与 else 的 配 对 关 系 , 可 将 它 们 之间的语句用一对花括号括起来。 i f else 结构中,if 子 句 与 else 子 句 后 均 有 分 号 。 语句 if(e1) e2: else e3: 与 条 件 表 达 式 e1?e2:e3

41、 等效。 switc h 语 句中, case 后 为一个常量或常量表达式 , 且所有 case 后的常量 值不可相同,12 计算机程序设计实训教程值的类型一般为整型、字符型或枚举类型。为使程序显得简沽,在编程构造 switch 的表达 式时,既要使其值为上述类型,又要使其可能取的值的个数尽量少。实 训 任 务 1. 输 入 并 运 行 以 下 程 序 :main()int a,b,max: printf(“input a b:“):scanf(“%d%d“,&a,&b): if(ab) max=a: if(a=1e6) pi=pi+t: n=n+2: s=s: t=s/n:pi=pi*4:

42、printf(“pi=%10.6fn“,pi): 如将 s 的 初 值 赋 为 1, 即 语 句 s=1:改为 s=1: 修 改 程 序 , 使 完 成 原 程 序 的 功 能 。 如将 pi 的 初 值 赋 为 1, 即 语 句 pi=0: 改 为 pi=1: 修 改 程 序 , 使 完 成 原 程 序 的 功 能 。16 计算机程序设计实训教程 将 原 程 序 改 为 用 do-while 语 句 来 实 现 原 目 标 。 将 原 程 序 改 为 用 for 语句来实现原目标。 2. 输 入 并 运 行 以 下 程 序 :main() int i,sum: sum=0:for(i=1:

43、i10) :printf(“%dn“,sum):3. 编 程 : 输 入 一 行 字 符 , 分 别 统 计 其 中 英 文 字 母 、 空 格 、 数 字 和 其 他 字 符 的 个 数 。4. 编 程 : 输 出 直 角 三 角 形 的 九 九 乘 法 表 。第 1 章 C 程序设计 175. 编程 : 设 有 36 块砖, 36 人搬 : 其 中, 男搬 4( 块砖) , 女搬 3(块砖) , 两个小孩抬1 块 砖 。 要 求 一 次 全 搬 完 , 问 男 、 女 、 小 孩 各 多 少 ( 提 示 : 用 穷 举 法 , 设 男 人 数 为 men, 女 人数为 women, 小 孩

44、 数 为 children, 则 有 men9, women12: men + women+ children = 36: 4*men+3*women+children/2=36) 。18 计算机程序设计实训教程实训六 数 组实 训 目 的 掌 握 一 维 数 组 和 二 维 数 组 的 定 义 、 赋 值 和 输 入 /输 出 的 方 法 。 掌 握 字 符 数 组 和 字 符 串 函 数 的 使 用 。 掌 握 与 数 组 有 关 的 算 法 。内 容 提 要 1. 数值数组定 义 数 组 时 , 数 组 长 度 必 须 为 一 个 常 量 值 , 但 在 引 用 数 组 元 素 时 ,

45、其 下 标 值 既 可 为 常 量值,也可为变量值。引用数组元素时, 对于一维数组, 其下标值不能越界, 其取值范围为 0(数 组长度1 ) : 对于二维数组, 下标值分别为其行下标值和列下标值, 均不能越 界 (否则系统不进行检测) 。另外,对于一维数组,可通过所赋初值个数来定义数组长度。如:int b=1,2,3,4,5: 相当于 int b5=1,2,3,4,5: 。对 于 二 维 数 组 , 可 按 行 赋 初 值 , 如 int a23=1,2,3,4,5,6 : 等 效 于 int a23=1,2,3,4,5,6 : 。 也 可 省 略 第 一 维 长 度 , 如 int a3=1,2,3,4,5,6 : 等 效 于 int a23=1,2,3,4,5,6: 。2. 字符数组字符数组定义中,元素引用及数组名的含义与数值数组的相同。(1) 字符数组的初始化 逐 个 元 素 赋 初 值 的 方 法 与 数 值 数 组 的 相 同 。 对 于 字 符 数 组 , 可 赋 字 符 串 初 值 。 如 char str6=“china“: 或 char str6=“china“: 等效于 char str6=c, h, i, n, a, 0: 。(2) 元素的输入/输出 可 像 数 值 数 组 一 样 逐 个 输 入 /输 出 元 素 。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报