C程序设计第六章.ppt_第1页
C程序设计第六章.ppt_第2页
C程序设计第六章.ppt_第3页
C程序设计第六章.ppt_第4页
C程序设计第六章.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计 谭浩强著清华大学出版社 第六章循环控制 概述goto语句以及用goto语句构成循环while语句do while语句for语句循环的嵌套几种循环的比较break语句和continue语句程序举例 C程序设计第六章循环控制 6 1概述 C程序设计第六章循环控制 在给定条件成立时 反复执行某程序段 直到条件不成立为止 特点 返回主菜单 6 2goto语句以及用goto语句构成循环 C程序设计第六章循环控制 一般形式 goto语句标号 返回主菜单 例6 1用goto语句和if语句构成循环 求 main inti sum 0 i 1 loop if i 100 sum sum i i gotoloop printf d n sum 运行程序 输出 5050 C程序设计第六章循环控制 6 3while语句 C程序设计第六章循环控制 一般形式 while 表达式 语句 返回主菜单 例6 2用while语句求 main inti sum 0 i 1 while i 100 sum sum i i printf d n sum 运行程序 输出 5050 C程序设计第六章循环控制 流程图 流程图 传统流程图 N S流程图 6 4do while语句 一般形式 C程序设计第六章循环控制 do语句while 表达式 返回主菜单 例6 3用do while语句求 main inti sum 0 i 1 do sum sum i i while i 100 printf d n sum 运行程序 C程序设计第六章循环控制 流程图 流程图 例6 4while和do while循环比较 main intsum 0 i scanf d 运行程序1 C程序设计第六章循环控制 main intsum 0 i scanf d 1 2 结果比较 运行程序2 while与do while程序结果的比较 1 2 6 5for语句 C程序设计第六章循环控制 一般形式 for 表达式1 表达式2 表达式3 语句 返回主菜单 for语句执行过程 1 先求解表达式1 2 求解表达式2 若其值为真 非0 则执行for语句中指定的内嵌语句 然后执行下面第3 步 若其值为假 0 则结束循环 转到第5 步 3 求解表达式3 4 转回上面第2 步继续执行 5 循环结束 执行for语句下面的一个语句 for语句说明 1 for循环中的 表达式1 循环变量赋初值 表达式2 循环条件 和 表达式3 循环变量增量 都是选择项 即可以缺省 但 不能缺省 2 省略了 表达式1 循环变量赋初值 表示不对循环控制变量赋初值 3 省略了 表达式2 循环条件 则不做其它处理时便成为死循环 4 省略了 表达式3 循环变量增量 则不对循环控制变量进行操作 这时可在语句体中加入修改循环控制变量的语句 5 可以省略 表达式1 循环变量赋初值 和 表达式3 循环变量增量 for i 1 i 100 sum sum i i for i 100 相当于while i 100 sum sum i sum sum i i i for语句说明 6 3个表达式都可以省略 7 表达式1可以是设置循环变量的初值的赋值表达式 也可以是其他表达式 8 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式 9 表达式2一般是关系表达式或逻辑表达式 但也可是数值表达式或字符表达式 只要其值非零 就执行循环体 for sum 0 i 100 i sum sum i for sum 0 i 1 i 100 i sum sum i for c getchar n printf c c 6 6循环的嵌套 C程序设计第六章循环控制 定义 一个循环体内又包含另一个完整的循环结构 称为循环的嵌套 返回主菜单 6 7几种循环的比较 C程序设计第六章循环控制 1 四种循环都可以用来处理同一个问题 一般可以互相代替 但一般不提倡用goto型循环 2 while和do while循环 循环体中应包括使循环趋于结束的语句 for语句功能最强 3 用while和do while循环时 循环变量初始化的操作应在while和do while语句之前完成 而for语句可以在表达式1中实现循环变量的初始化 返回主菜单 6 8break语句和continue语句 C程序设计第六章循环控制 break语句 continue语句 不能用于循环语句和switch语句之外的任何其他语句 跳过循环体中剩余的语句而强行执行下一次循环 break语句和continue语句的区别 返回主菜单 例6 5 break语句和continue语句的区别 break语句和continue语句的区别 例6 5把100至200之间的不能被3整除的数输出 main intn for n 100 n 200 n if n 3 0 continue printf d n 运行程序 C程序设计第六章循环控制 例 习题6 6 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字的立方和等于该数本身 如 153是一水仙花数 因为153 13 53 33 main inti j k n for n 100 n 999 n i j k if i i i j j j k k k n printf n d n 通过循环列出n的所有可能的范围 i n 100 k n 10 j n 10 10 main inti j k n for i 1 i 9 i for j 0 j 9 j for k 0 k 9 k n i 100 j 10 k if i i i j j j k k k n printf n d n 通过循环列出i j k的所有可能的范围 6 9程序举例 C程序设计第六章循环控制 例6 6 例6 7 例6 8 返回主菜单 例6 9 例6 10 例6 6用公式求 includemain ints floatn t pi t 1 pi 0 n 1 0 s 1 while fabs t 1e 6 pi pi t n n 2 s s t s n pi pi 4 printf pi 10 6f n pi 运行程序 C程序设计第六章循环控制 C程序设计第六章循环控制 例6 7求Fibonacci数列40个数 这个数列有如下特点 第1 2两个数为1 1 从第3个数开始 该数是其前面两个数之和 即 F1 1 n 1 F2 1 n 2 Fn Fn 1 Fn 2 n 3 main longintf1 f2 inti f1 1 f2 1 for i 1 i 20 i printf 12ld 12ld f1 f2 if i 2 0 printf n f1 f1 f2 f2 f2 f1 运行程序 习题6 8 有一分数序列2 1 3 2 5 3 8 5 13 8 21 13 求出这个数列的前20项之和 习题6 1 输入两个正整数m和n 求其最大公约数和最小公倍数 例6 8判断m是否素数 includemain intm i k scanf d 运行程序 C程序设计第六章循环控制 C程序设计第六章循环控制 例6 9求100至200间的全部素数 include includemain intm i k n 0 for m 101 m k 1 printf 5d m n n 1 if n 10 0 printf n printf n 运行程序 C程序设计第六章循环控制 例6 10译密码 为使电文保密 往往按一定规律将其转换成密码 收报人再按约定的规律将其译回原文 例如 可以按以下规律将电文变成密码 includemain charc while c getchar n if c a 运行程序 习题6 2输入一行字符 分别统计出其中英文字母 空格 数字和其它字符的个数 编程求下式的值 例 习题6 4 求S i 1 2 3 4 19 20 20 i 1 main inti j floatt s 0 for i 1 i 20 i s printf ns f s 用两重循环实现 s t t 1 for j 1 j i j t j 用递推法 递推公式 ti ti 1 i 求S i 1 2 3 4 19 20 20 i 1 1 i 1 i 1 ti 1 i 20 i 2 20 i 2 main inti j floatt 1 s t for i 2 i 20 i t t i s t printf ns f s 例 递推公式 s i 1 1 20 1 2 3 4 20 11111 ti ti 1 i main inti j floatt 1 s t for

温馨提示

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

评论

0/150

提交评论