10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while_第1页
10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while_第2页
10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while_第3页
10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while_第4页
10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序设计 课程教案表 课时安排 2授课题目 第三章 程序的控制结构 6 循环结构 while 和 do while 授课时间 教学目的和要求 1 掌握 while 语句 do while 语句 2 熟悉 三种循环语句 教学内容 1 基本内容 1 while 语句 2 do while 语句 3 for 语句 2 重点 三种循环语句 讲课进程和时间分配 1 问题引入 回顾 if 语句和 for 语句 15 分钟 2 while 语句 35 分钟 1 while 语句 格式 while 条件表达式 语句序列 执行过程 先计算 while 后面的表达式的值 如果其值为 真 则执行循环体 在执行完循环 体后 再次计算 while 后面的表达式的值 如果其值为 真 则继续执行循环体 如果表达 式的值为假 退出此循环结构 说明 1 循环体可以是一条简单的语句 也可以由多个语句组成 若是 2 个语句以上必须 用 括起来 形成复合语句 2 在循环体中应有使循环趋向于结束的语句 即设置改变循环条件的语句 3 while 语句又称 当型 循环结构 其特点是先判断表达式的值 然后执行循环体 中的语句 如果表达式的值一开始为假 值为 0 则直接执行循环体下面的语句 思考 如何求 1 2 3 4 100 算法 1 直接写出算式 用变量 sum 存放和 sum 1 2 3 4 5 100 考虑 1 2 3 100 可以改写为 1 2 3 100 sum 0 sum sum 1 sum sum 2 sum sum 3 sum sum 100 规律 每一步都是两个数相加 加数总是对上一步加数增加 1 后参与本次加法运算 被 加数总是上一步加法运算的和 可以考虑用一个变量 i 存放加数 一个变量 sum 存放上一步 的和 那么每一步都可以写成 sum i 根据规律上述式子可以改成 sum sum i i i 1 sum sum i i i 1 sum sum i i i 1 规律 若 i 小于或等于 100 重复执行该算式 循环条件 循环体 算法 2 分析 设想用 sum 作为累加器 初值为 0 利用 sum i i 依次取值为 1 2 100 此分析需要解决的 3 个问题 1 sum 0 i 1 2 每执行一次 sum i 后 i 增 1 i i 1 3 判断如果 i 小于或等于 100 重新执行步骤 2 否则停止计算 main int i s 0 i 1 while i 100 i 100 为循环条件 s s i i 改变 i 的值 printf s d s 运行结果 s 5050 说明 循环结构的三个术语 1 循环条件 循环结构中的条件表达式如 while i 100 其中 i 100 就是循环条件 2 循环体 在每个循环周期均要执行一次的语句序列 如 while 下用 括起来的语句序列 3 循环控制变量 能够决定控制条件是真是假的量 如 while i 100 中的变量 i 要写出一个正确的循环结构 对控制变量要做三方面的工作 1 对循环控制变量赋初值 2 将循环控制变量写入正确的控制条件 3 对循环控制变量 值的更新 使用 while 语句需要注意以下几点 while 语句的特点是先计算表达式的值 然后根据表达式的值决定是否执行循环体中的 语句 因此 如果表达式的值一开始就为 假 那么循环体一次也不执行 当循环体为多个语句组成 必须用 括起来 形成复合语句 在循环体中应有使循环趋于结束的语句 以避免 死循环 的发生 下列情况 退出 while 循环 条件表达式不成立 为零 循环体内遇 break goto 无限循环 while 1 循环体 例 分析程序的运行结果 include main int i 1 sum 0 while i 100 printf i d sum d n i sum i printf sum d n sum 结果 程序将不停的打印 i 1 sum 无法正常终止的程序 称为 死循环 结论 在 while 语句循环体中 一定要有能够对循环 控制条件产生影响的语句 避免出现 死循环 现象 例 显示 1 10 的平方 include main int i 1 while i 10 printf d d d n i i i i i 运行结果 1 1 1 2 2 4 3 3 9 4 4 16 5 5 25 6 6 36 7 7 49 8 8 64 9 9 81 10 10 100 练习 对下列程序段叙述正确的是 int k 0 while k 0 k k 1 A while 循环执行 10 次 B 无限循环 C 循环体一次也不被执行 D 循环体被执行一次 下面程序的运行结果是 main int s 0 i 1 while s 10 s s i i i printf d i A 4 B 3 C 5 D 6 对以下程序段 描述正确的是 int x 0 s 0 while x 0 s x printf d s A 运行程序段后输出 0 B 运行程序段后输出 1 C 程序段中的控制表达式是非法的 D 程序段循环无数次 下面程序段的运行结果是 int n 0 while n 7 a printf d a A 10 9 8 B 9 8 7 C 10 9 8 7 D 9 8 7 6 3 do while 语句 20 分钟 do while 语句的一般形式 格式 do 语句 while 表达式 功能 先执行 语句 后判断表达式的值 执行过程 先执行一次指定的语句 然后判断表达式的值 当表达式的值为非零 真 时 返回重新执行该语句 如此反复 直到表达式的值等于 0 为止 此时循环结束 结构流程 图如图 5 3 所示 说明 1 循环体如果包含一个以上的语句 应该用花括弧括起来 以复合语句形式出现 2 do while 语句与 while 语句都是循环语句 但有区别 do while 语句先执行一次 循环体 然后再回去判断条件是否成立 比 while 语句多执行一次 该语句用来实现 直到 型 循环结构 例 计算 1 2 100 main int i 1 sum 0 do sum sum i i while i 100 printf the sum is d sum 例 求正整数 5 的阶乘 即求 5 main float fact 1 0 int i 1 do fact fact i i while i 5 printf the 5 is f fact 说明 do while 循环 总是先执行一次循环体 然后再求表达式的值 因此 无论表 达式是否为 真 循环体至少执行一次 do while 循环与 while 循环十分相似 它们的主要区别是 while 循环先判断循环条件 再执行循环体 循环体可能一次也不执行 do while 循环先执行循环体 再判断循环条件 循环体至少执行一次 其它 复合语句 避免死循环要求同 while 循环 练习 以下程序段的执行结果是 main int y 4 do y while y printf d n y A 1 B 1 C 2 D 0 以下程序段的执行结果是 main int a 1 b 10 do b a a while b 0 printf d d n a b A 3 11 B 2 8 C 1 1 D 4 9 以下说法正确的是 x 1 do x x x while x A 无限循环 B 循环执行两次 C 循环执行一次 D 有语法错误 4 总结 10 分钟 学过的三种循环语句 循环结构的基本组成部分 小结 循环变量 条件 状态 的初始化 循环变量 条件 状态 检查 以确认是否进行循环 循环变量 条件 状态 的修改 使循环趋于结束 循环体中 循环体处理的其它工作 2 三种循环的比较 循环变量初始化 while 和 do while 循环 循环变量初始化应该在 while 和 do while 语句之前完成 而 for 循环 循环变量的初始化可以在表达式 1 中完成 循环条件 while 和 do while 循环只在 while 后面指定循环条件 而 for 循环可以在 表达式 2 中指定 循环变量修改使循环趋向结束 while 和 do while 循环要在循环体内包含使循环趋 于结束的操作 for 循环可以在表达式 3 中完成 for 循环可以省略循环体 将部分操作放到表达式 2 表达式 3 中 for 语句功能强 大 while 和 for 循环先测试表达式 后执行循环体 而 do while 是先执行循环体 再 判断表达式 所以 while for 循环是典型的当型循环 而 do while 循环可以看作是 直到型循环 三种基本循环结构一般可以相互替代 不能说哪种更加优越 具体使用哪一种结构 依赖于程序的可读性和程序设计者个人程序设计的风格 偏好 对计数型的循环或确切知道循环次数的循环 用 for 比较合适 对其它不确定循环 次数的循环 许多程序设计者喜好用 while do while 循环 5 多重循环 10 分钟 一个循环结构程序的循环体包含另一个循环 形如 for for while while while for 例 5 12 求出 1 100 间的全部素数 提示 素数 质数 是除了 1 和它本身以外 不能够被其它数除尽的数 例 3 5 7 11 等 判断一个素数 数 m 用 2 m 1 除 若都除不尽 则 m 是素数 程序代码 main int m n 0 i k for m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论