《循环程序设计》

上传人:资****亨 文档编号:214302176 上传时间:2021-11-23 格式:PPT 页数:33 大小:311KB
返回 下载 相关 举报
《循环程序设计》_第1页
第1页 / 共33页
《循环程序设计》_第2页
第2页 / 共33页
《循环程序设计》_第3页
第3页 / 共33页
《循环程序设计》_第4页
第4页 / 共33页
《循环程序设计》_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《循环程序设计》》由会员分享,可在线阅读,更多相关《《循环程序设计》(33页珍藏版)》请在金锄头文库上搜索。

1、第5章循环程序设计,While循环的格式:,5.1 当型循环while,while(表达式) 循环体语句;,说明:While后的表达式,可为任意合法的表达式 (常用 关系表达式和逻辑表达式)循环体可为任意类型语句若循环体内需要多个语句,应用复合语句形式,While循环的执行过程: while(表达式) 循环体语句;,5.1 当型循环while,第5章循环程序设计,第5章循环程序设计,用法说明:当型循环结构,先判断表达式,后执行循环体循环体内必须改变循环条件,使其趋于结束循环体有可能一次也不执行下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,goto无限循环: whil

2、e(1) 循环体;,5.1 当型循环while,第5章循环程序设计,例 用while循环求,#include void main() int i,sum; i=1; sum=0; while(i=100) sum=sum+i; i+; printf(%d,sum);,5.1 当型循环while,例 :显示ASC码表中的可见字符。,#include void main() unsigned char ch; ch=32; while(ch) printf(%c,ch); ch+;,5.1 当型循环while,第5章循环程序设计,第5章循环程序设计,do-while循环的格式:,5.1 直到型循环

3、do-while,do 循环体语句 while(表达式);,说明:do和while联合使用以do开始、while结束,“;”不可省略While后的表达式,可为任意合法的表达式(多为关 系表达式或逻辑表达式)循环体可为任意类型语句,第5章循环程序设计,do-while循环的执行流程 do 循环体语句; while(表达式);,5.1 直到型循环do-while,第5章循环程序设计,用法说明:直到型循环,先执行循环体,后判断表达式循环体内必须改变循环条件,使其趋于结束至少执行一次循环体 do- while可转化成while结构,5.1 直到型循环do-while,5.1 直到型循环do-while

4、,例 用do-while循环求,#include void main() int i,sum=0; i=1; do sum+=i;i+; while(i=100); printf(%d,sum);,第5章循环程序设计,第5章循环程序设计,5.1 直到型循环do-while,例 while和do-while循环的比较,#include void main ( ) int sum=0,i; scanf(%d,#include void main ( ) int sum=0,i; scanf(%d,第5章循环程序设计,当型循环结构与直到型循环结构的区别和联系:在当型循环中,其循环体可以一次也不执行;

5、直到型循环中,循环体至少执行一次;不管是当型循环结构还是直到型循环结构,在循环体内部必须要有改变条件的语句,否则将造成死循环。当型循环和直到型循环可以通用。不管是当型循环还是直到型循环结构,其循环体如果包含一个以上的语句,应以复合语句形式出现。,5.1 直到型循环do-while,第5章循环程序设计,for循环的基本格式:,5.2 for循环,for(表达式1 ; 表达式2 ; 表达式3) 循环体语句;,1.在圆括号中通常包含三个表达式;2.各表达式用“;”隔开;3.在for后面的循环体,在语法上要求是一条语句,若需要多条语句,应用花括号构成复合语句;4.“使用灵活”特别适合于循环次数已知的情

6、况,第5章循环程序设计,for循环的执行流程图:,5.2 for循环,第5章循环程序设计,5.2 for循环,例 用for循环求,main() int i,sum; sum=0; for(i=1;i=100;i+) sum+=i; printf(“sum=%d,sum);,第5章循环程序设计,5.2 for循环,for语句一般应用形式:,for(循环变量赋初值;循环条件;循环变量增值)循环体语句;,说明:for语句中三个表达式类型任意,都可省略,但分号“ ;”不可省(见下页)无限循环: for(;)for语句可以转换成while结构,表达式1;while(表达式2) 循环体语句; 表达式3;,

7、第5章循环程序设计,分析如下程序:,5.2 for循环,void main( ) int i; for(i=0;i10;i+) printf(“*”); ,void main( ) int i=0; for(;i10;i+) printf(“*”); ,void main( ) int i; for(i =0;i10;) printf(“*”); i+;,void main( ) int i=0; for(;i10;) printf(“*”); i +; ,void main( ) int i=0; for(;i10;printf(“*”),i+) ;,例 用for循环求n!。即计算123n的

8、值。,5.2 for循环,#include void main( ) int k,s,n; s=1; printf(Enter n: ); scanf(%d,第5章循环程序设计,三种循环可以互相代替 循环变量初始化的位置控制循环变量改变,使循环趋于结束循环体都可以使用复合语句可以用break语句跳出循环,用continue语句结束本次循环,5.2 for循环,第5章循环程序设计,第5章循环程序设计,使用格式: break;使用说明:在循环语句和switch语句中,终止并跳出循环体或switch语句体break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它

9、语句之中,5.3 break语句,break的流程控制:,5.3 break语句,第5章循环程序设计,5.3 break语句,#include void main() int i,sum=0; for(i=1;i1000) break; printf(i=%d,sum=%dn,i,sum); ,运行结果:i=45,sum=1035,第5章循环程序设计,例 :求 ,但和值大于1000须退出。,第5章循环程序设计,使用格式: continue;使用说明:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中,5.3 continue语句,continue的流程控制

10、:,5.3 continue语句,第5章循环程序设计,例: 输出0100之间的偶数,#include void main() int x; for(x=0;x=100;x+) if(x%2=1) continue; printf(%d ,x); ,continue语句后只终止本次循环; break语句后将无条件地结束整个循环,二者幅度不一样;,5.3 continue语句,第5章循环程序设计,第5章循环程序设计,循环的嵌套三种循环可互相嵌套,层数不限,内外层循环需要设置不同的循环变量外层循环可包含两个以上内循环嵌套循环的执行流程,5.3 循环的嵌套,(1) while( ) while( )

11、,(2) do do while( ); while( );,(3) for( ; ; ) for( ; ; ) ,(4) while( ) do while( ); ,(5) for( ; ; ) while( ) ,(6) do for ( ; ; ) while( );,二重循环的结构(for语句) for(表达式1;表达式2;表达式3) 语句1; for(表达式4;表达式5;表达式6) 语句2; 语句3; ,第5章循环程序设计,例 使用双层for循环打印下面的图形,5.3 循环的嵌套,* * * * *,#include void main( ) int i,j,k; for(i=0;

12、i=4;i+) for(k=1;k=i;k+) printf(); for(j=0;j=4;j+) printf(*); printf(n); ,第5章循环程序设计,例:输入一个整数,将各位数字反转后输出。如输入32541,则输出14523。,5.4 程序举例,#inlclude void main() long n; printf(Enter a number(=0):); scanf(%ld, ,第5章循环程序设计,例:求Fibonacci数列:1,1,2,3,5,8,的前40个数,每行输出5个数。,5.4 程序举例,f1=1 (n=1)f2=1 (n=2)fn=fn-1+fn-2 (n3

13、),1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 022887 9227465 14930352 24157817 39088169 63245986 102334155,第5章循环程序设计,位置号: 1 2 3 4 5 6 7 数列: 1 1 2 3 5 8 13 ,5.4 程序举例,第4次循环(i=6):,第1次循环(i=3):

14、,f1,f2,f,+,+,+,第2次循环(i=4):,第3次循环(i=5):,+,+,第5次循环(i=7):,第5章循环程序设计,#include void main( ) int i; long f1,f2,f; f1=1;f2=1; printf(n%12ld%12ld,f1,f2); for(i=3;i=40;i+) f=f1+f2; printf(%12ld,f); if(i%5=0) printf(n); f1=f2; f2=f; ,5.4 程序举例,第5章循环程序设计,例: 输入一个整数,求出它的所有因子。 main() long n,i; printf(nEnter a posi

15、tive integer:); scanf(%ld,5.4 程序举例,第5章循环程序设计,例:判断m是否是素数。# include #include void main() int m,i,k; scanf(%d, ,5.4 程序举例,第5章循环程序设计,例:编程把从终端输入的一行字符中所有的小写字母转换成大写字母,其它字符不变。程序如下:#include void main() char ch; while(ch=getchar()!=n) if(ch=a ,5.4 程序举例,第5章循环程序设计,While循环是“当型”循环,先判断后执行do-while语句是“直到型”循环,先执行后判断For语句使用灵活,常用于循环次数已知的情况三种循环可以替换,可以嵌套注意:循环变量初值、循环条件、循环体的控制break语句用于结束整个循环;continue语句用于结束本次循环,5.5 小结,

展开阅读全文
相关资源
相关搜索

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

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