《循环数据结构设计》PPT课件.ppt_第1页
《循环数据结构设计》PPT课件.ppt_第2页
《循环数据结构设计》PPT课件.ppt_第3页
《循环数据结构设计》PPT课件.ppt_第4页
《循环数据结构设计》PPT课件.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第五章循环结构程序设计 吴良杰 HarbinEngineeringUniversity 实例分析 计算1 2 3 4 100值 设累加器sum 分别将1 2 100加到变量sum中 核心 做100次加法 算法 sum 0 i 1 i 100 sum sum i i i 1 输出sum Begin sum 0i 1 sum sum i 输出sum End i i 1 F T i 100 循环结构 实例分析 includevoidmain intsum i sum 0 i 1 while i 100 sum sum i i printf d n sum includevoidmain intsum i sum 0 for i 1 i 100 i sum sum i printf d n sum 循环结构 循环结构在一定条件下 反复执行一组操作 循环结构两个要素 循环条件 循环的前提循环体 反复执行的操作循环结构描述 循环结构 for语句 for 表达式1 表达式2 表达式3 循环体 C语言实现方法while语句 while 循环条件 循环体 do while语句 do循环体while 循环条件 while循环 实例输出所有的 水仙花 数 水仙花 一个三位数 各位立方和等于自身 如153 13 53 33 问题分析三位数的范围 100 999对每个三位数的操作 分离 求立方和 判断是否与自身相等 对所有三位均做相同的操作 使用循环 while循环 循环条件 被处理的数小于或等于999 循环体 分离 求立方和 判断是否与自身相等 被处理的数增1数据结构 五个整型变量 m a b c n数据初始值 m 100 while循环 算法 include stdio h voidmain intm a b c n m 100 while m 999 a m 10 b m 10 10 c m 100 n a a a b b b c c c if m n printf 7d m m while循环 while语句形式 while 表达式 语句 说明 1 表达式值为非0 真 值为0 假 2 语句可以是单语句 也可以是复合语句 while循环 while语句执行流程 求解表达式 表达式值0 执行语句 执行循环体下面操作 T F while循环 求两个数的最大公约数 方法 欧几里德方法 辗转相除法 设两个数为a b 1 计算a和b的余数r 2 判断r是否0 若不为0 执行 3 否则执行 4 3 b a r b再计算a和b的余数r 执行 2 4 此时b是最大公约数 循环问题 while循环 循环条件 余数r不为0循环体 b a r b计算a和b的余数r 算法 读入a ba b rr0b ar ba b r输出b includevoidmain inta b r scanf d d for循环 实例 输入15个学生的成绩 统计及格率和平均成绩 问题分析数学模型 及格率 及格人数 总人数 平均成绩 总成绩 总人数总人数 15人及格人数 统计总成绩 统计结构 对15个数据处理 使用循环 次数确定 循环体 读入数据 累加 判断是否及格 for循环 次数确定的循环 设置循环控制变量 使用for语句实现 数据结构 四个整型变量算法 includevoidmain intn 0 i floatg s 0 for i 1 i 60 n printf 平均成绩 2f n s 15 printf 及格率 2f n n 15 0 100 for循环 for语句格式for 表达式1 表达式2 表达式3 语句 for循环 执行流程 1 求解表达式1 2 求解表达式2的值 值为真 非0 执行 3 否则执行 5 3 执行循环体 执行 4 4 求解表达式3 执行 2 5 执行循环体下面的语句 do while循环 实例计算一个小于30000的自然数各位数字的和值 如 输入1234 输出10 问题分析 如何分离出n的各位数字 1 将个位分离出 n 102 将m位数变为m 1位数 n 10上述过程重复多次 循环结构 循环条件 n 0循环体 n 10 累加 n 10 do while循环 语句格式do语句while 表达式 循环体 循环条件 includevoidmain intn k sum 0 scanf d 执行过程 1 执行循环体 2 求解 表达式 的值 若值为真 非0 执行 1 若值为假 0 执行 3 3 执行while语句下面的语句 do while循环 分析程序的运行结果 includevoidmain inti 10 j 0 do j j i i while i 2 printf d n j 循环的嵌套 实例 水仙花 数的另一种求解方法 思路三位数可以是 c 100 b 10 ac 1 9b 0 9a 0 9若c 100 b 10 a c3 b3 a3 则c 100 b 10 a是 水仙花 数 程序见教材P122 循环的嵌套 嵌套循环的执行过程 1 求解外层循环条件 2 值为真时 执行 3 值为假时执行 4 3 执行一次外层循环体 当执行到内循环时 执行内循环 然后再执行外循环的其它语句 执行 1 4 执行外层循环体后面的语句 循环的嵌套 循环嵌套的注意事项 1 内 外层循环不能交叉 外层循环必须完整包含内层循环 2 若内 外层循环均为for循环 循环控制变量不能同名 3 三种循环可以相互嵌套 循环的嵌套 includevoidmain inty 2 a 1 while y 1 do a y a while y printf d d n a y 分析程序运行结果 循环的嵌套 输出100 200间的所有素数 素数 只能被1和自身整除的数 如何判断一个数 n 是否是素数 用2 n 2之间的数i除n 都除不尽 n是素数 有一个可以除尽 不是素数 是一个循环过程 用什么循环 循环条件 i n 2且n i 0循环体 i i 2 while in 2 printf 4d n 循环的嵌套 如何输出100 200间的所有素数 将判定一个数是否为素数的过程重复多次 又是循环 用什么循环 循环变量初值 终值 增量 101 199 2数据结构 2个整型变量算法 n 101 199 2 i 2 i0 i i n 2 输出n 循环的嵌套 includevoidmain inti n for n 101 nn 2 printf 4d n 每行输出5个 includevoidmain inti n j 0 for n 101 nn 2 printf 4d n j if j 5 0 printf n printf n 几种循环的比较 1 三种循环的功能等价 一般情况下可以相互替代 2 各种循环都必须包含使循环趋于结束的操作 3 循环准备工作 控制变量的初始化 的处理 4 while for循环 先判断循环条件 后执行循环体 循环体可能一次不执行 do while循环 先执行循环体 后判断循环条件 循环体至少执行一次 几种循环的比较 includevoidmain intn k s 0 scanf d includevoidmain intn k s 0 scanf d includevoidmain intn k s 0 scanf d 几种循环的比较 include stdio h voidmain ints 0 i for i 1 i 100 i s s i printf d s include stdio h voidmain ints 0 i i 1 while i 100 s s i i printf d s include stdio h voidmain ints 0 i i 1 do s s i i while i 100 printf d s break语句 语句格式 break 功能 终止循环的执行实例分析分析程序的运行结果说明 只能终止一层循环 includevoidmain inta 10 y 0 do a 2 y a if y 50 break while a 14 printf d d n a y continue语句 语句格式continue 功能 结束本次循环实例分析分析程序结果 includevoidmain intx i for i 1 x 1 i 10 break if x 2 1 x 5 continue x 3 printf d n i 程序举例 打印输出Fibon

温馨提示

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

评论

0/150

提交评论