C语言ch6ppt课件

上传人:资****亨 文档编号:141958233 上传时间:2020-08-14 格式:PPT 页数:22 大小:76.50KB
返回 下载 相关 举报
C语言ch6ppt课件_第1页
第1页 / 共22页
C语言ch6ppt课件_第2页
第2页 / 共22页
C语言ch6ppt课件_第3页
第3页 / 共22页
C语言ch6ppt课件_第4页
第4页 / 共22页
C语言ch6ppt课件_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C语言ch6ppt课件》由会员分享,可在线阅读,更多相关《C语言ch6ppt课件(22页珍藏版)》请在金锄头文库上搜索。

1、.,第六章 循环控制,3种形式: 1.while循环结构 格式:while (条件表达式) 循环体 2.do while 循环结构 格式:do 循环体 while (条件表达式) 3.for循环结构 格式:for(循环变量增值以及条件判断)循环体,.,while循环结构,While 结构语句,格 式: while (条件表达式) 语句集 ;,main() int num=0; while(num=1) num +; printf(“%dn”, num); ,定 义: 每次判断条件表达式是否为1,为1进入循环体,开始执行“语句集”,而后再进行判断,直到条件表达式的值为 0 时结束循环,1 2,.

2、,循环结构语句,While 结构语句,main( ) int n=0; while(n+ =1) printf(“*%dn”,n); printf(“*%dn”,n); ,*1 *2 *3,.,循环结构语句,While 结构语句,main( ) int n=0; while(+n =1) printf(“*%dn”,n); printf(“*%dn”,n); ,*1 *2,main() int n=0; while(+n) =1) printf(“*%dn”,n); printf(“*%dn”,n); ,.,循环结构语句,While 结构语句,#include main( ) char ch;

3、 while(ch=getchar( )!=EOF) putchar(ch) ; ,输入的字符不是结束字符则输出,注: EOF表示结束数据的输入,键盘输入时用ctrl+z代表EOF,即表示数据的输入结束。,.,循环结构语句,While 结构语句,分 析: 1.男人搬36块砖需9人, 取值范围:08 2.女人搬36块砖需12人, 取值范围:011 3.小孩搬36块砖需72人, 取值范围:036,0 1 2 8,0 1 2 11,0 1 2 36,排列组合分析,36块砖36人搬,男搬4,女搬3,小孩一次半块砖,.,循环结构语句,While 结构语句,main( ) int m, w , c; wh

4、ile(m=8) w =0; while(w =11) c = 36 - m - w ; if(4.0*m + 3.0*w + c/2 = 36) printf(“men:%dt women%dt”,m,w); printf(“children%d”,c); w+; men+; ,1.男人:08个 2.女人:011个 3.小孩:036个,.,循环结构语句,While 结构语句,int gcd(int x, int y ) int r ; while( y != 0) r = x%y; x = y; y = r; return(x); ,求两个数的最大公约数,.,dowhile循环,doWhil

5、e 结构语句,格 式: do 语句集 ; while (条件表达式),#include main( ) char ch; do ch=getchar( ); putchar(ch); While(ch!=EOF); ,定 义: 先执行一次“语句集”,而后判断条件表达式是否为1,为1进入继续循环执行,直到条件表达式的值为 0 时结束循环,.,for循环结构语句,for 结构语句,格式: for(循环变量赋值语句;循环条件;循环变量增值) 循环体语句 ;,int Sum_all(int n ) int sum=0, i; for( i=1;i=n ; i+) sum+=i ; ,for(sum=0

6、, i=1; i=n ; sum+=i, i+);,int Sum_all(int n ) int sum=0, i=1; while( i=n) sum+=i ; i+; ,.,循环结构语句,for 结构语句,1.“循环变量赋值语句”可以省略,但是后面的分号不能省略,保证for( ; ; )语句内有两个分号,int Sum_all(int n ) int sum=0, i; i=1; for( ;i=n ; i+) sum+=i ; ,int Sum_all(int n ) int sum=0, i; for( i=1;i=n ; i+) sum+=i ; ,.,循环结构语句,for 结构语

7、句,2.“循环变量增值”语句可以省略,但是前面的分号不能省略,保证for( ; ; )语句内有两个分号,int Sum_all(int n ) int sum=0, i; for( i=1;i=n ; i+) sum+=i ; ,for( i=1;i+ + =n ;) sum+=i ;,for( i=1;+ +i =n ;) sum+=i ;,区 别:,for( i=1;i=n ;) sum+=i ; i+;,.,循环结构语句,for 结构语句,3.“循环条件”语句决不 可以省略,否则循环无终止进行下去,int Sum_all(int n ) int sum=0, i; for( i=1; i

8、+) sum+=i ; ,4.“循环变量赋值”语句以及“循环变量增值语句”可以同时省略,但是for( ; ; )语句内的两个分号 决不能省略,int sum=0, i=1; for( ;i=100;) sum+=i ; i+; ,.,循环结构语句,for 结构语句,int sum, i; for( sum=0, i=1;i=100;i+) sum+=i ;,for( ; ; )语句的多种编写格式,int m, n,sum; for( m=100, n=1;n=m;m-,n+) sum+=m+n ;,for( m=100, n=2;n=m;m-=2,n+=2) sum+=m+n ;,.,循环结构

9、语句,for 结构语句,for( i=0;(t=getchar( )!=n;i+=t, putchar( t ),for( ; ; )语句的多种编写格式,for( i=0;(t=getchar( )!=n;i+=t, printf(“%c”,t ),i=0; While(t =getchar( )!=n) i+ = t; printf(“%c”, t ); ,.,循环结构语句,for( ; ; )语句嵌套使用,求100200之间的全部素数:,main( ) int m, k, i, n=0; for( m=101; m=k+1) printf(“%d”,m); n+; if(n%10=0) p

10、rintf(“n”); printf(“已经全部找到n”); ,.,break、continue语句,Break和continue语句,break语句: 在循环体结构语句内用 来提前结束整个循环,for( r=1;r100) break; printf(“%f”, area); ,continue语句: 在循环体结构语句内用来结束本次循环,但继续执行下次循环,for( n=100; n=100; n+) if(n%3=0) continue; printf(“%d ”, n); ,if(n%3!=0) printf(“%d ”,n);,.,for循环举例,for 结构语句,int prime(

11、int n ) int m; for( m=2;m=n/2 ;m+) if(n%m=0) return(0); return(1); ,验证一个正数是否为素数,思 路: 在 2 , n/2 区间内能否找到一个整数m能将n整除,改 进: 2 , n/2 区间缩小为 2 , ,.,for循环举例,for 结构语句,main( ) int n=10, sum=0,m; for( m=0;m=5 ;m+) switch ( m ) case 0 : n-; case 1 : n+; case 2 : n+; case 3 : n+; default : sum+=n ; printf(“sum=%d”

12、, sum); ,for 与switch case的嵌套,m=3 n=18 sum=52,m=4 n=18 sum=70,m=5 n=18 sum=88,m=0 n=12 sum=12,m=1 n=15 sum=27,m=2 n=17 sum=34,.,兔子繁殖循环实现,for 结构语句,兔子繁殖的迭代算法,1, 1, 2, 3, 5, 8, 13, 21,34 ,第1次: F1 F2 F,第2次: F1 F2 F,第3次: F1 F2 F,第4次: F1 F2 F,第5次: F1 F2 F,第6次: F1 F2 F, ,.,兔子繁殖循环实现,for 结构语句,void sum(int n )

13、 int m; long F,F1=1,F2=1; for( m=3;m=n;m+) F = F1 + F2; F1 = F2; F2 = F; printf(“%ldt”, F ) ; return; ,兔子繁殖的迭代算法,M:第m个月 N:待输出兔子数量的总月数,.,循环结构语句比较,各种循环结构比较,1. 四种循环可以相互替换,但绝对不提倡用goto语句 2. while以及do while语句循环变量要在循环前完成赋 值,for语句可以在第一个表达式中完成 3. for语句功能最强,可以代替其他几个循环语句 4. while、dowhile以及for循环都可以用break语句中 断整个循环,用 continue 语句仅仅结束本次循环,但 是对于if以及goto语句不能用break和continue语句,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号