循环结构设计程序设计.ppt
《循环结构设计程序设计.ppt》由会员分享,可在线阅读,更多相关《循环结构设计程序设计.ppt(50页珍藏版)》请在三一办公上搜索。
1、第5章 循环结构程序设计,学习目标,理解循环结构的概念。掌握如何用while语句构成循环结构。掌握如何用do-while语句构成循环结构。熟练掌握如何用for语句构成循环结构。掌握循环结构的嵌套使用。理解break和continue语句应用于循环体时的区别。,在C语言中可以用以下语句来实现循环:1)while语句。2)do-while语句。3)for语句。4)goto语句和if语句。,循环 是一种对同一程序段有规律的重复被重复执行的部分叫循环体。,5.1 引言,n!=123n,用fac来存放结果:,初始化值为1,fac,1,2,n,fac1,fac,fac2,fac,facn,fac,faci
2、,fac,累乘器,计数器,例如,求阶乘,5.2 while语句,真(非零),循环体,假(零),while 语句的形式:while(表达式)循环体;,while 语句常称为“当型”循环语句。,【例5-1】用while语句构成的循环结构求n!,算法:step1:定义初始化变量。本程序需要三个变量,一个用来接收n,一个用来表示求阶乘过程中数据从1到n的变化,还有一个保存计算结果step2:输入n,需要考虑输入数据合法性的问题step3:计算n!就是一个循环累乘求积的过程 n!=1*2*3*.(n-1)*n,【例5-1】n!的C语言程序,#include void main()int n,i=1;lo
3、ng int fac;printf(please input n(n=0):);scanf(%d,循环变量的初始化,累乘器的初始化,循环控制条件,求阶乘,修改循环变量,注意:,先判断表达式,后执行语句。,表达式同if语句后的表达式一样,可以是任何类型的表达式。,循环体多于一句时,用一对 括起。,while循环结构常用于循环次数不固定,根据是否满足某个条件决定循环与否的情况。,#include stdio.h void main()float n;scanf(%f,例:输入一系列实数,判断每个数的正负,输入0时,结束循环,输入数据,为第一次判断做准备,while(n!=0),判断是否结束,if(
4、n0)printf(+);else printf(-);scanf(%f,判断正负号,继续输入下一个数,#include stdio.h void main()char ch;int num=0;ch=getchar();,例:统计从键盘输入的一行字符的个数(以回车键作为输入结束标记),while(ch!=n),判断是否输入结束,num+;ch=getchar();,printf(num=%dn,num);,注意:,表达式在判断前,必须要有明确的值。,循环体中一般有改变条件表达式的语句。,while(表达式)后面没有分号。,5.3 do-while语句,do-while的形式:do 循环体;w
5、hile(表达式);,do-while语句形式与与直到型循环相似,但它仍然是当型循环。条件为真时执行循环,真(非零),循环体,假(零),【例5-2】用do-while语句构成的循环结构求n!,do fac*=i;i+;while(i=n);,说明:,先执行语句,后判断表达式。,第一次条件为真时,while,do-while等价;第一次条件为假时,二者不同。,while(i=n)fac*=i;i+;,注意:,在if、while语句中,表达式后面都没有分号,而在do-while语句的表达式后面则必须加分号。,do-while和while语句相互替换时,要注意修改循环控制条件。,5.4 for语句,
6、for的形式:for(初始表达式1;条件表达式2;循环表达式3)循环体;,表达式1:用于循环开始前为循环变量设置初始值。,表达式2:控制循环执行的条件,决定循环次数。,表达式3:循环控制变量修改表达式。,循环体语句:被重复执行的语句。,表达式3,计算表达式1,循环体,假(零),真(非零),for的下一条语句,执行流程:,for(fac=1,i=1;i=n;i+)fac*=i;,例如:,它相当于以下语句:fac=1;i=1;while(i=n)fac*=i;i+;,表达式1;,while(表达式2),表达式3;,说明:,三个表达式都可以是逗号表达式。,三个表达式都是任选项,都可以省略,但要注意省
7、略表达式后,分号间隔符不能省略。,for语句中表达式省略的几种情况:,(1)for语句一般形式中的“表达式1”可以省略;如:fac=1;i=1;for(;i=n;i+)fac*=i;,(2)表达式2省略,即不判断循环条件,循环会无终止地进行下去,所以此时循环体中要保证循环能正常结束;如:for(fac=1,i=1;i+)if(in)break;fac*=i;,(3)表达式3也可以省略,同样此时循环体中要保证循环能正常结束;如:for(fac=1,i=1;i=n;)fac*=i;i+;,(4)可以省略表达式1和表达式3,只有表达式2如:fac=1;i=1;for(;i=n;)fac*=i;i+;
8、,i=1;fac=1;while(i=n)fac*=i;i+;,相当于,fac=1,i=1;while(1)if(in)break;fac*=i;i+;,(5)三个表达式都可省略,同样此时循环体中要保证循环能正常结束;,fac=1;i=1;for(;)if(in)break;fac*=i;i+;,相当于,条件始终为真地执行循环体。,如:,(6)循环体为空语句 对for语句,循环体为空语句的一般形式为:for(表达式1;表达式2;表达式3);如:,在显示器上输出输入的一串字符,输入的字符为*时,结束循环。输入abcd*输出abcd*while(putchar(getchar()!=*);,for
9、(fac=1,i=1;i=n;fac*=i,i+);,5.5 continue语句和break语句在循环体中的应用,5.5.1 continue语句在循环体中的应用continue语句的一般形式为:continue;其作用是结束本次循环,即跳过本次循环体中continue 语句之后的语句,转入下一次循环条件的判断,决定循环是否继续执行。,注意:,执行continue语句并没有使整个循环终止在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分在for循环中,遇到continue后,跳过循环体中余下的语句,而转去对for语句中的“表达式3”求值,然后进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构设计 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5726578.html