C语言循环语句学案_第1页
C语言循环语句学案_第2页
C语言循环语句学案_第3页
C语言循环语句学案_第4页
C语言循环语句学案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 1 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 任务一 while 语句 学案 学生自评 教师评分 专业班级姓名工位号 学习要求学习要求 1 了解循环结构 循环语句 2 掌握 while 语句和语法形式 执行顺序及用法 3 掌握循环结构的嵌套使用方法 学习重点 难点学习重点 难点 1 while 语句 2 算法描述 学时安排学时安排 4 学时 学习过程学习过程 中国有句俗话叫 三天打鱼两天晒网 某人从 1990 年 1 月 1 日开始 三天 打鱼两天晒网 问这个人在 1994 年 3 月 1 日这一天是在 打鱼 还是 晒 网 一 一 课前预习及课堂学习任务课前预习及课堂学习任务 1 循环结构 2 循环语句 实现循环结构的语句称为循环语句 3 在 C 中 循环语句有以下三种 for 语句 while 语句 do while 语句 1 while 循环 当型循环 while 语句的一般格式为 语句的一般格式为 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 2 while 表达式 语句 while 语句的执行过程为 语句的执行过程为 1 计算并判断表达式的值 若值为 0 则结束循环 退出 while 语句 若值 为非 0 则执行循环体 2 转步骤 1 执行过程流程图 执行过程流程图 1 写出以下程序的运行结果 程序屏幕显示注意事项 例 3 1 100 例如例如 求求 n n 1 include void main void int a 1 sum 0 while a 100 sum a a printf d sum 练习 求 s 1 2 3 10 练习 用 while 语句实现阶乘 5 注意 边界值 的选择 应有使循环趋于结束的语 句 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 3 程序屏幕显示注意事项 例 3 2 统计从键盘输入的一行字 符的个数 include void main void int num 0 printf 请输入一行字符 while getchar n num printf 共输入了 d 个字符 num 例 3 3 个位数是 6 且能被 3 整除 的 5 位数共有多少个 include void main void long int n 10006 int count 0 while n 99999 if n 3 0 count n 10 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 4 printf count d n count 练习 能被 3 整除的 3 位偶数共 有多少个 程序屏幕显示注意事项 例 3 3 利用辗转相除法 求两个 正整数的最大公约数 算法 1 若 j 0 则 i 为最大公约 数 2 若 j 不为 0 将 i 除以 j 余数为 k i j j k 转 1 main int i j temp printf Enter 2 integers scanf d d while j temp i j i j j temp printf Gcd d n i C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 5 二 二 WhileWhile 语句语句 使用要点 当型循环 使用要点 当型循环 1 圆括号中的表达式可以是任意表达式 它仅用来测试表达式的结果值是零值还是非零值 用以决定循环进行的条件 称为 判终表达式 一般是关系表达式或逻辑表达式 与条 件语句一样可进行如下简化 while x 0 while x 0 2 当判终表达式为 时 这样的 while 语句为无穷循环语句 如 while 1 语句 无穷循环语句 3 while 语句的循环体通常是一个复合语句 也可以是简单语句 甚至可以是一个 4 在循环体中应有使循环趋于 的语句 以避免 死循环 任务二 do while 循环 直到型循环学案 学生自评 教师评分 专业班级姓名工位号 学习要求学习要求 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 6 1 了解循环结构 循环语句 2 掌握 do while 语句和语法形式 执行顺序及用法 3 掌握循环结构的嵌套使用方法 学习重点 难点学习重点 难点 1 do while 语句 学时安排学时安排 2 学时 学习过程学习过程 二 课前预习及课堂学习任务 do while 语句的一般格式为语句的一般格式为 do 语句 while 表达式 do while 语句的执行过程为语句的执行过程为 1 执行循环体语句 2 计算并判断表达式的值 若值为 0 则结束循环 退出 while 语句 若值 为非 0 则转步骤 1 执行过程 执行过程 程序编程注意事项 流程图绘制 例 3 4 100 例如例如 求求 n n 1 include void main void int i sum 0 i 1 do sum sum i i while i 100 printf d sum 练习 求 s 2 4 6 20 无论表达式的值是多少 循环体至少执行 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 7 练习 求 s 1 3 5 19 程序编程提示 例 3 5 从键盘输入一行字符 统计其中 包含的数字字符个数 并输出 include main int ch num 0 printf Enter a line text do ch getchar if num while ch printf num d n num 练习 个位数是 6 且能被 3 整除的 5 位数 共有多少个 1 题目要求从键盘读入一个字符 说明字符 的 不确定 需要根据行结束标记 回车符 判断输入的结束 2 题目只需要统计数字字符个数 所以不需 要保存每个字符 3 为了统计数字字符的个数 需要定义一个 整形变量 num 用于累加数字字符的 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 8 练习 个位数是奇数 且能被 7 整除的 4 位数共有多少个 三 三 do whiledo while 语句与语句与 whilewhile 语句的本质区别语句的本质区别 1 while 语句是 的值 若其值为非 0 则执行 若其 值为 0 则退出 2 do while 语句则首先执行循环体 然后再计算并 的值 因 此 do while 语句至少要执行 循环体 四 四 do whiledo while 语句语句 使用要点使用要点 1 与 while 语句类似 判终表达式可以是任意表达式 它仅用来测试表 达式的值是零值还是非零值 用以决定循环进行的条件 2 do while 语句的循环体既可以是一个复合语句 也可以是一个简单语 句 但即使循环体是一个简单语句 包围它的一对大括号也不能省略一对大括号也不能省略 任务三 for 语句 学案 学习要求学习要求 1 了解循环结构 循环语句 2 掌握 for 语句和语法形式 执行顺序及用法 3 掌握循环结构的嵌套使用方法 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 9 学习重点 难点学习重点 难点 1 for 语句 2 算法描述 for 语句的一般格式为 语句的一般格式为 for 表达式 1 表达式 2 表达式 3 语句 表达式 1 用于循环赋初始值 它只能执行一次 表达式 2 是循环条件 表达式 3 用于对循环条件的修改 以使循环能趋于结束 执行过程流程图 执行过程流程图 程序编程注意事项 流程图绘制 例 3 6 求从 1 加到 100 的程序 程序如下 程序如下 include main int s i s 0 for i 1 i 100 i s s i printf sum d s 练习 求 s 2 4 6 20 for 语句语句 使用要点使用要点 1 for 语句中的表达式 1 可以省略 但在 for 循 环之前 应给循环变量赋值 例如 i 1 for i 100 i sum sum i 2 表达式 2 也可以省略 但循环将陷入死循环 例如 for i 1 i sum sum i 3 表达式 3 也可以省略 但应在循环体中增加 使循环变量值改变的语句 例如 for sum 0 i 0 i 100 sum sum i i 4 表达式 1 和表达式 3 同时省略也允许 例如 i 1 sum 0 for i 100 sum sum i i 这是完全与 while 循环等同 5 三个表达式都可以省略 但 不能省略 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 10 练习 求 s 1 3 5 19 for sum sum i 循环将无休止的执行下去 6 表达式 1 中的表达式可以是循环变量的赋初 值的表达式 也可是与赋初值根本无关的其他表 达式 或者两者兼而有之 例如 for sum 0 i 1 i 100 i sum sum i 表达式 3 也可以出现同样的情况 例如 for sum 0 i 1 i 100 sum sum i i 7 表达式 2 一般清况下是关系表达式或逻辑表 达式 也可以是其他表达式 例如 for c getchar n printf c c 若输入 cauc 输出为 cauc 不是输出 ccaauucc 程序编程提示 例 3 7 求 Fibonacci 数列 1 1 2 3 5 8 的前 30 个数 F1 1 F2 1 Fn Fn 1 Fn 2 2 1 1 3 1 2 5 2 3 8 3 5 在一次循环中计算两项 递推公式为 F1 1 F2 1 初值 F1 F1 F2 F2 F2 F1 include main long int f1 f2 int i n printf Input n scanf d 极值法极值法 main int a i max min max 0 min 100 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 11 f1 f2 1 for i 1 i n i printf ld t ld n f1 f2 f1 f1 f2 f2 f2 f1 例 3 8 求 10 个大于 0 小于 100 的数中的 最大数和最小数 置初值的方法一般有两种 1 极值法 取有界数据的上界作为最小 值 的初值 取有界数据的下界作为最大的 初值 2 成员法 取一批数据的第一个数作为 最 大值和最小值的初值 for i 1 i 10 i scanf d if maxa min a printf Max d Min d n max min 成员法成员法 main int a i max scanf d 输入其中的一个数作初 始值 for i 1 i 9 i 与剩下的 9 个数比 较 scanf d if max a max a printf Max d max 程序编程注意事项 流程图绘制 练习 求 10 练习 求 s 1 3 5 19 for 语句的特点 语句的特点 1 使用了 表达式 2 循环控制变量可以在循环体内使用 也可以 不使用 仅用来控制循环次数 3 从正常出口离开循环时 循环控制变量会 终值 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 12 练习 s 1 2 3 4 20 任务四 跳转语句 学案 学习要求学习要求 1 了解 continue break goto 语句 2 掌握 continue break 语句和语法形式 执行顺序及用法 学习重点 难点学习重点 难点 1 continue 语句 continue 语句用于提前结束循环中的一轮循环 当程序执行到 continue 语句时 就跳过循环中后面还未执行的语句 回到循环的起始处 继 续进行下一轮的循环 continue 语句常与 if 语句联合起来使用 以便在满足一定条件时提前 结束本轮循环 功能 结束本次循环 接着判定下一次是否执行循环 程序编程提示 注意事项 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 13 例 3 9 对除 5 的倍数以外的 1 100 的 数求和 练习 对除 3 的倍数以为的 1 150 的数 求和 例 3 10把 100 200 之间的不能被 3 整除的数输出 include void main void int n for n 100 n 200 n if n 3 0 continue printf d n s 0 for i 1 i 100 i if i 5 continue s i printf SUM d n s 2 break 语句 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 14 ISO ANSI C 标准中规定的跳转语句有 break 语句 continue 语 return 语句和 goto 语句等 return 语句将在第 6 章介绍 1 break 语句的功能 用于从循环体内跳出循环体 即提前结束循环 2 使用要点 break 只能用在循环语句和 switch 语句中 程序编程提示 注意事项 for scanf c if ch break else printf c ch 例 3 11 计算 r 1 到 r 10 的圆面积 当面 积大于 100 时结束循环 例 3 12 某银行利息 2 8 以复利计 假 设某储户存入本金 8000 元 当满足以下 条件之一 储户从银行将钱取出 1 储蓄满 10 年 2 连本带息超过 10000 元 编程求储户会在第几年将钱取出 取出时连 本带息是多少 此循环本是无限循环 因加上了 break 语句 使程序在输入字符常量 时就终止循环 for r 1 r100 break printf f area include void main void int year float money 8000 for year 1 year10000 break printf d year f n year money C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 15 3 3 continuecontinue 与与 breakbreak 的比较的比较 1 1 continuecontinue 与与 breakbreak 的区别的区别 continue 只结束本次循环 而不是终止整个循环 而 break 终止本层循 环 不再会去判断执行循环体的条件是否成立 4 4 gotogoto 语句语句 一般形式为 goto 语句标号 程序编程提示 注意事项 100 求求 n n 1 include void main int i sum 0 i 1 loop if i 100 sum sum I i goto loop printf d sum 1 目前 goto 语句很少使用 过多的使用 goto 语 句会降低程序的可读性 2 goto 语句对结构程序设计有影响 它将使程 序的结构不清晰 应尽可能用 break 和 continue 语句代替 goto 3 不能用 goto 语句从循环的外层跳到循环的 内层 否则会导致程序的混乱 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 16 任务五 多重循环 学案 多重循环多重循环 嵌套多层循环结构的循环 嵌套多层循环结构的循环 外循环 外循环 处于外层的循环称为外循环 处于外层的循环称为外循环 内循环 内循环 处于内层的循环称为内循环 处于内层的循环称为内循环 程序编程提示 注意事项 例 3 13 输出图形 例 3 14 编写一个九九乘法表的程序 A 方式 include void main int i j 定义两个下标变量 i 和 j for i 1 i 9 i for j 1 j 9 j printf 4d i j printf n include void main void int i j for i 1 i 3 i for j 1 j 8 j putchar printf n 屏幕显示 C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 17 程序编程提示 注意事项 B 方式方式 include stdio h void main int i j for i 1 i 10 i for j 1 j 10 j printf d d 4d i j i j printf n C 方式方式 include void main void int i j for i 1 i 9 i for j 1 j i j printf d d 4d i j i j printf n 例 3 15 输出下面图案 ABCDE BCDE CDE DE E 屏幕显示 屏幕显示 include stdio h main int i char ch for i 0 i 5 i for ch A i ch A 5 ch printf c ch printf n C C 语言项目实训教程语言项目实训教程 项目三项目三 循环程序设计循环程序设计 打鱼还是晒网打鱼还是晒网 18 程序编程提示 注意事项 例 3 16 百元买百鸡 母鸡 3 元 只 公鸡 2 元 只 小鸡 3 只 元 m

温馨提示

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

评论

0/150

提交评论