资源描述:
《c语言第05章循环结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章循环结构程序设计一、while循环语句二、do-while语句三、for循环四、辅助控制语句五、循环的嵌套一、while循环语句一般形式:while(p)s1执行流程:ps1假(0)真(非0)例用while循环求#includevoidmain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("sum=%d",sum);}循环初值循环终值循环变量增值循环条件循环体sum=0+1sum=1+2=3sum=3+3=6sum=6+4=10……sum=4950+100=5050特点:先判断表达式
2、,后执行循环体说明:1)循环体为紧跟while后面的一条语句2)循环体有可能一次也不执行3)条件表达式不成立(为零),退出while循环4)无限循环:while(非零常量)循环体例:从键盘输入的一行字符,统计其中数字字符的个数。#includevoidmain(){charch;intcount=0;printf("Inputastring:");ch=getchar();while(ch!=''){if(ch<='9'&&ch>='0')count++;ch=getchar();}printf("Count=%d",count);get
3、ch();}二、do-while语句一般形式:执行流程:sp假(0)真(非0)do{s;}while(p);注意:s为一个语句系列;例用do~while循环求#includevoidmain(){inti,sum=0;i=1;do{sum+=i;i++;}while(i<=100);printf("sum=%d",sum);getch();}特点:先执行循环体,后判断表达式说明:至少执行一次循环体do~while可转化成while结构p循环体假(0)真(非0)循环体While循环例while和do~while比较#include
4、voidmain(){inti,sum=0;scanf("%d",&i);do{sum+=i;i++;}while(i<=10);printf("%d",sum);}#includevoidmain(){inti,sum=0;scanf("%d",&i);while(i<=10){sum+=i;i++;}printf("%d",sum);}startsum=0输入i值sum+=ii++i<=10输出sum值endYNstartsum=0输入i值sum+=ii++i<=10输出sum值endYN#includevoidmain(){i
5、nti=1;floats=0.0,t=1.0;do{s+=t;i++;t=1.0/i;}while(t>1e-5);printf("s=%.6f",s);}例编程求一般形式:for(expr1;expr2;expr3)s1执行流程:expr2s1假(0)真(非0)forexpr1expr3三、for循环#includevoidmain(){inti,sum=0;for(i=1;i<=100;i++)sum+=i;printf("sum=%d",sum);}例用for循环求说明:1、expr1,expr2,expr3类型任意,都可省略,但分号“;”
6、不可省2、无限循环:for(;1;),for(;;)3、for语句可以转换成while结构expr1;while(expr2){循环体语句;expr3;}#includevoidmain(){inti,sum=0;i=1;while(i<=100){sum+=i;i++;}printf("%d",sum);}例编程求n!=1*2*3*4…*n#includevoidmain(){inti,n;longsum=1;printf("Inputn:");scanf("%d",&n);for(i=1;i<=n;i++)sum*=i;pr
7、intf("sum=%ld",sum);getch();}1、break语句功能:在循环和switch语句中,终止并跳出循环体或开关体说明:只能终止并跳出最近一层的结构不能用于循环语句和switch语句之外的任何其它语句之中四、辅助控制语句expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)whileexpr2……break;…...假(0)真(非0)forexpr1expr3switche=?语句组1break;语句组2break;语句组nbreak;语句组break;…...p1p2p