循环控制结构程序设计PPT课件_第1页
循环控制结构程序设计PPT课件_第2页
循环控制结构程序设计PPT课件_第3页
循环控制结构程序设计PPT课件_第4页
循环控制结构程序设计PPT课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第5章循环结构程序设计 C语言程序设计基础教程 5 1while语句5 2do while语句5 3for语句5 4循环的嵌套5 5几种循环的比较5 6break和continue语句5 7程序举例 循环结构是结构化程序设计的基本结构之一 它的特点是 在给定条件成立时 反复执行某程序段 直到条件不成立为止 给定的条件称为循环条件 反复执行的程序段称为循环体 语言提供了多种实现循环的语句 可以组成各种不同形式的循环结构 用while语句 用do while语句 用for语句 while语句可以用来实现 当型 循环结构 1 格式 while 表达式 语句2 执行过程其特点是 先判断表达式 后执行语句 5 1while语句 例5 1 用while语句求1 100的累计和 include stdio h main inti 1 sum 0 while i 100 sum sum i i printf d n sum 程序运行结果如下 5050 5 1while语句 使用while语句应注意以下几点 1 while循环结构的特点是 先判断 后执行 如果表达式的值一开始为 假 则循环体一次也不执行 2 while语句中的表达式一般是关系表达式或逻辑表达式 只要表达式的值为真 非0 即可继续循环 3 为使循环能够正确开始运行 需要对循环控制变量初始化 4 循环体中 如果包含一个以上的语句 则应用花括号括起来 构成复合语句 否则while语句的范围只到while后面第1个分号处 5 循环体内中应有使循环趋向于结束的语句 5 1while语句 例5 2 从键盘输入30个学生的成绩 对其进行处理 如果成绩及格 则输出 Passed 否则输出 Failed include stdio h main intn 1 floatscore while n 30 5 1while语句 printf enterascore n scanf f 5 1while语句 do while语句可以用来实现 直到型 循环结构 1 格式 do语句while 表达式 2 执行过程这个循环与while循环的区别在于 它先执行后判断 因此 do while循环至少要执行一次循环体 而while循环是先判断后执行 如果条件不满足 则循环体语句一次也不执行 5 2do while语句 例5 3 用do while语句求1 100的累计和 include stdio h main inti 1 sum 0 do sum sum i i while i 100 printf d n sum 程序运行结果如下 5050 5 2do while语句 使用do while语句应注意以下几点 1 do是C语言的关键字 必须与while联合使用 2 在if语句 while语句中 表达式后面都不能加分号 而在do while语句的表达式后面必须加分号 它表示do while语句的结束 否则将产生语法错误 3 while后面一对圆括号中的表达式 可以是C语言中任意合法的表达式 由它控制循环是否执行 4 和while语句一样 在使用do while语句时 不要忘记初始化循环控制变量 否则执行的结果将是不可预知的 5 要在do while语句的某处 表达式或循环体内 改变循环控制变量的值 否则极易构成死循环 6 按照语法规则 在do和while之间的循环体只能是一条可执行语句 若循环体内需要多个语句 应该用花括号括起来 组成复合语句 5 2do while语句 例5 4 将输入的一串字符显示在屏幕上 遇到空格时停止 include stdio h main charc printf nPleaseinputastring do c getchar putchar c while c 程序运行结果如下 Pleaseinputastring Homeworkintheschool Homework 5 2do while语句 例5 5 while语句和do while语句的比较 main ints 0 n scanf d main ints 0 n scanf d 输入 1 结果 55输入 11 结果 0 输入 1 结果 55输入 11 结果 11 当输入i的值小于或等于10时 两者得到的结果相同 而当i 10时 两者结果不同 这是因为此时对while循环来说 一次也不执行循环体 表达式 i 100 为假 而对do while循环语句来说 则要执行一次循环体 可以得到结论 当while后面的表达式的第1次的值为 真 时 两种循环得到的结果相同 否则 两者结果不相同 指两者具有相同的循环体的情况 5 2do while语句 for语句是循环控制结构中使用最广泛的一种循环控制语句 特别适合用于已知循环次数的情况 1 格式 for 表达式1 表达式2 表达式3 语句2 执行过程 5 3for语句 例5 6 用for语句求1 100的累计和 include stdio h main ints 0 n 1 for n 1 n 100 n s s n printf s d n s 程序运行结果如下 5050 5 3for语句 使用for语句应注意以下几点 1 for循环中的 表达式1 循环变量赋初值 表达式2 循环条件 和 表达式3 循环变量增量 都是选择项 即可以缺少 但 不能缺少 2 省略了 表达式1 循环变量赋初值 表示不对循环控制变量赋初值 3 省略了 表达式2 循环条件 则不做其他处理时便成为死循环 4 省略了 表达式3 循环变量增量 则不对循环控制变量进行操作 这时可在循环体中加入修改循环控制变量的语句 5 3for语句 使用for语句应注意以下几点 5 省略了 表达式1 循环变量赋初值 和 表达式3 循环变量增量 6 3个表达式都可以省略 7 表达式1可以是设置循环变量的初值的赋值表达式 也可以是其他表达式 8 表达式1和表达式3可以是简单表达式 也可以是逗号表达式 9 表达式2一般是关系表达式或逻辑表达式 但也可是数值表达式或字符表达式 只要其值非零 就执行循环体 5 3for语句 例5 7 输出100 1000之间同时能被4和6同时整除的数及其和 include stdio h main floats 0 inti for i 100 i 1000 i if i 4 0 5 3for语句 例5 8 在3 100之间所有3的倍数中 找出个位数为2的数 include stdio h main inti 0 for i 3 i 100 i if i 3 0 5 3for语句 程序运行结果如下 124272 例5 9 一个球从100米高度自由落下 每次落地后反跳回原高度的一半 再落下 求它在第10次落地时 共经过多少米 第10次反弹多高 include stdio h main floatsn 100 0 hn sn 2 intn for n 2 n 10 n 5 3for语句 sn sn 2 hn hn hn 2 printf thetotalofroadis f n sn printf thetenthis fmeter n hn 5 3for语句 程序运行结果如下 thetotalofroadis299 609375thetenthis0 097656meter 5 4循环嵌套 一个循环的循环体中有另一个循环称为循环嵌套 这种嵌套过程可以有很多重 一个循环外面仅包围一层循环称为二重循环 一个循环外面包围两层循环称为三重循环 一个循环外面包围多层循环称为多重循环 循环嵌套的层数理论上无限制 在使用循环嵌套时应注意以下几点 1 在嵌套的各层循环中 应使用复合语句 即用一对花括号将循环体语句括起来 以保证逻辑上的正确性 2 内层和外层循环控制变量不应同名 以免造成混乱 3 嵌套循环最好采用右缩进格式书写 以保证层次的清晰性 4 循环嵌套不能交叉 即在一个循环体内必须完整地包含另一个循环 循环嵌套执行时 先由外层循环进入内层循环 并在内层循环终止之后接着执行外层循环 再由外层循环进入内层循环 当外层循环全部终止时 程序结束 5 4循环嵌套 例5 11 打印九九乘法口诀表 include stdio h main inti j for i 1 i 9 i for j 1 j i j printf d d 3d j i i j printf n 程序运行结果如下 1 1 11 2 22 2 41 3 32 3 63 3 91 4 42 4 83 4 124 4 16 5 4循环嵌套 5 5几种循环的比较 几种循环的比较如下 1 3种循环都可以用来处理同一个问题 一般可以互相代替 2 while和do while循环 循环体中应包括使循环趋于结束的语句 for语句功能最强 3 用while和do while循环时 循环变量初始化的操作应在while和do while语句之前完成 而for语句可以在表达式1中实现循环变量的初始化 4 while循环 do while循环和for循环 可以用break语句跳出循环 用continue语句结束本次循环 break语句和continue语句见5 6节 5 6break语句和continue语句 5 6 1break语句当break语句用于while do while for循环语句中时 可使程序终止循环而执行循环后面的语句 1 格式 if 表达式 break 2 执行过程 while 表达式1 if 表达式2 break 例5 14 读入5个正整数并且显示它们 当程序读入的数据为负数时 程序立即终止 include stdio h main inti n for i 1 i 5 i printf pleaseentern scanf d 5 6break语句和continue语句 程序运行结果如下 pleaseentern 10n 10Pleaseentern 10Programisover 使用break语句应注意以下几点 1 break语句只能用于循环结构或switch选择结构中 如果在程序中有下列语句 if break 则此时的if语句一定位于循环体中或switch语句中 break语句跳出的也不是if语句 而是跳出包含此if语句的循环体或switch语句 2 由于循环语句的循环体部分还可以使用循环语句 这样 循环语句就可以嵌套使用 在循环语句嵌套使用的情况下 break语句只能跳出 或终止 包含它的最近一层的循环体 而不能同时跳出 或终止 多层循环 5 6break语句和continue语句 5 6 2continue语句continue语句与break语句不同 当在循环体中遇到continue语句时 程序将跳过continue语句后面尚未执行的语句 开始下一次循环 即只结束本次循环的执行 并不终止整个循环的执行 1 格式 if 表达式 continue 2 执行过程 while 表达式1 if 表达式2 continue 5 6break语句和continue语句 例5 16 求输入的10个整数中正数的个数及其平均值 include stdio h main inti a num 0 floatsum 0 for i 0 i 10 i scanf d 5 6break语句和continue语句 使用continue语句应注意以下几点 1 continue语句只能用于while do while for构成的循环结构中 常与if条件语句一起使用 用来加速循环 2 在嵌套循环的情况下 continue语句只对包含它的最内层的循环体起作用 continue语句和break语句的区别是 continue语句只结束本次循环 而不是终止整个循环的执行 而break语句则是结束整个循环过程 不再判断执行循环的条件是否成立 5 6break语句和continue语句 5 7程序举例 例5 18 从键盘输入一个大于1的任意正整数 编程判断它是否是素数 若是素

温馨提示

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

评论

0/150

提交评论