循环结构程序设计教案.ppt_第1页
循环结构程序设计教案.ppt_第2页
循环结构程序设计教案.ppt_第3页
循环结构程序设计教案.ppt_第4页
循环结构程序设计教案.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

王小琼信息科技学院2009 3 10 C语言程序设计 第三章循环结构程序设计 3 4 1自增自减运算 是单目运算符有前缀和后缀两种形式前缀形式 先自增 自减 再引用 后缀形式 先引用再自增 自减 功能 前缀形式 a等价于a a 1 a等价于a a 1后缀形式a 等价于a a 1a 等价于a a 1 表达式的值会不同 只能用于变量 不能用于常量和表达式10 x y i 等都是错误的 例如 当a 5时 a表达式的值为6 且a 6 a 表达式的值为5 且a 6 b a等价于表达式的值为6 且a 6 b 6 b a 等价于表达式的值为5 且a 6 b 5 循环的基本概念 Ex求1 2 3 4 5 6 7 8 9 10 s 1 2 3 4 5 6 7 8 9 10 如果求1 2 3 100呢 或者求1 2 3 n n为某一任意指定的数 呢 Exs 1 2 3 n 分解2 s 0 i 1 循环的使用方法 当条件e成立 真 时 反复执行A 直到e为假才停止循环 先执行A操作 再判断e是否为真 若e为真 再执行A 如此反复 e为假停止循环 执行e1 循环变量赋初值 判断e2是否为真 若e2为真 执行循环体A 然后用e3改变循环变量的值 再判断e2是否为真 如此反复 直到e2为假停止循环 当型先判断循环 当型后判断循环 步长型循环 while e A do A while e for e1 e2 e3 A Ex3 13求s 1 2 3 100 算法 1定义变量 初始化3输出结果 while i 100 s s i i do s s i i while i 100 for i 1 s 0 i 100 i s i 2用循环求s while e s e 表达式s 语句 循环体 3 4 2while语句 说明 当表达式 条件 e的值为真 非0 时 反复执行语句s 循环体 直到e为假才停止循环 注意 只包含了两个要素 初始化应放在while前 例 s 1 2 3 n 分解s 0 i 1 s i i s i i s i i 其中i n includemain intn i s printf Entern scanf d 程序 s 1 2 3 n 注意 循环体如果包含一条以上语句 应该用复合语句 即语句序列 循环体重应有使循环趋于结束的语句 有可能一次也不执行循环体 真 假 s i i 输出结果s s 0 i 1 while i n s i i Ex计算 includemain inti 1 floats 0 printf s f n s while i 100 s 1 0 i i 3 3do while语句 do s while e e 表达式s 语句 循环体 说明 先执行语句s 循环体 再判断e是否为真 若e为真 再执行语句s 如此反复 直到e为假为止 注意 do while至少执行一次循环体 即使条件一开始就不成立 一般情况下 while与do while处理同一问题时 结果相同 includemain inti 1 n longt 1 printf Entern scanf d do t i i while i n 先执行后判断 Ex403计算t n ay输出1001212a 12y 12141628a 16y 28 main inta 10 y 0 do a 2 y a printf a dy d n a y if y 20 break while a 14 Ex下列程序的输出是什么 for语句 for e1 e2 e3 s e1 e2 e3 表达式s 语句 循环体 说明 执行e1 循环变量赋初值 判断e2是否为真 若e2为真 执行循环体A 然后用e3改变循环变量的值 再判断e2是否为真 如此反复 直到e2为假停止循环 例如 下面程序段计算1 2 100并输出 它的执行过程如图所示 for sum 0 i 1 i 100 i sum sum i printf d sum e1 e2 e3 循环体语句 后续语句 下面来分析其中的几个问题 for sum 0 i 1 i 100 i sum sum i 问 1 循环控制变量的初始条件 循环控制变量的终止条件 循环控制变量的增量 步长 1 100 1 2 循环体共循环了多少次 循环体循环次数 终止值 初始值 步长 1 100 3 当循环100次后 i sum 101 5050 例如 for i 1 i 10 i a a 1 b b 1 注意 例如 a 0 b 0 for i 1 i 10 i a a 1 b b 1 for语句一般形式中的 语句 部分就是循环体 它可以是一个单语句 也可以是一个复合语句 如果不加 系统只将for后面的一个单语句作为循环体 例如 a 0 b 0 for i 1 i 10 i a a 1 b b 1 执行后a的值为10 b的值为10 执行后a的值为10 b的值为1 注意 for i 1 i n i s i 2若表达式e2省略 即不判断循环条件 循环无法终止 死循环 应避免 该结构一定要有break之类的跳出循环控制语句 1表达式e1可以省略 分号不能省 此时应在for语句之前给循环变量赋初值 s 0 i 1 for i 1 i n i s i for i 1 i n s i i for s while 1 s 3表达式e3可以省略 放入后面的循环体语句s中 4三个表达式都省略 死循环 一个循环体内又包含另一个完整的循环结构称为循环嵌套 p61 内嵌的循环中又嵌套有循环时称为多重循环 多重循环的嵌套次数可以是任意的 可以根据嵌套的层数分别叫做二重循环 三重循环等 最常用的循环嵌套形式是 for语句的循环体中又是一条或多条for语句 例如 下面这条语句是二重循环 for i 1 i 10 i for j 1 j 10 j printf d i j 其中 第一个for是外循环 第二个for是内循环 循环嵌套 Ex执行下列语句后 a inta 0 i for i 1 i 5 i switch i case0 case3 a 2 case1 case2 a 3 default a 5 1 2 3 4 ii 5执行a 1 真 case1a 3 3 8 a 5 11 2 真 case2a 3 16 a 5 18 3 真 case3a 2 21 a 3 26 a 5 31 4 真 defaulta 5 假 5 break与continue语句 break语句只能用在switch语句或循环语句中 用以终止它所在的switch语句或循环语句的执行 continue语句只能出现在循环语句中 用以跳过循环体中其后面的语句 直接转去判别下次循环控制条件 while或do while语句 或表达式e3 for语句 break用于结束循环 continue提前循环 Ex 算法 1定义变量n i j k2n从100到999做循环 将n的各位数字 i j k 分离出来3判断 若n是水仙花数则输出 includemain 1定义变量n i j k intn i j k 将n的各位数字 i j k 分离出来 i n 100 n的百位数字 设n 153 j n 10 10 n的十位数字 i n 100 153 100 1 j n 10 10 153 10 10 5 3判断 若n是水仙花数则输出 2n从100到999做循环 if n i i i j j j k k k printf d n n 如果只要求一个水仙花数 可在if语句后加上break语句终止循环 k n 10 n的个位数字 k n 10 153 10 3 break语句只能用在switch语句或循环语句中 用以终止它所在的switch语句或循环语句的执行 水仙花数 一个3位数的各位数字的立方和恰好等于它本身 这样的3位数称为水仙花数 编程求出所有的水仙花数 break与continue语句 Ex执行下列语句后 a main inti 0 a 0 while i 20 for if i 10 0 break elsei i 11 a i iai 20i 10 0break 0 0 真 0 真 11 11 真 1 假 10 0 真 假 21 32 Ex输出两位数中所有能同时被3和5整除的数 main intn for n 10 n 100 n if n 3 0 main intn for n 10 n 100 n if n 3 0 n 5 0 continue printf 5d n 解法1 解法2 1输入整数k 设置素数标记l 1 l 0 则k不是素数 2i从2到k 1做循环 若k整除i k不是素数 循环结束 l 0 i k 否则继续循环3循环结束后 根据l的值输出结果 如果l 1 则k是素数 否则k不是素数 includemain inti k l printf Inputk scanf d 算法 Ex3 22检测给定整数是否是素数 素数 一个自然数 若除了1和它本身外不能被其他整数整除 则称为素

温馨提示

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

评论

0/150

提交评论