chap5循环程序设计课件.pptx

上传人(卖家):晟晟文业 文档编号:4984794 上传时间:2023-01-30 格式:PPTX 页数:89 大小:1.15MB
下载 相关 举报
chap5循环程序设计课件.pptx_第1页
第1页 / 共89页
chap5循环程序设计课件.pptx_第2页
第2页 / 共89页
chap5循环程序设计课件.pptx_第3页
第3页 / 共89页
chap5循环程序设计课件.pptx_第4页
第4页 / 共89页
chap5循环程序设计课件.pptx_第5页
第5页 / 共89页
点击查看更多>>
资源描述

1、C C语言程序设计语言程序设计张红英张红英 2009年年第第5 5章章 循环结构程序设计循环结构程序设计2 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n while语句语句(当型循环当型循环)n dowhile语句(直到型循环)语句(直到型循环)n for语句语句(当型循环当型循环)n if-goto语句语句 n 循环的嵌套循环的嵌套n break与与continue语句语句循环结构中的跳转语句循环结构中的跳转语句3 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n选择结构程序设计的应用场合:选择结构程序设计的应用场合:针对不同的条针对不

2、同的条件做出不同的处理。件做出不同的处理。expABTFkA1A2AiAnk2k1knki.(1 1)二路分支)二路分支ifif语句语句(2 2)多路分支)多路分支switchswitch语句语句4 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计循环结构程序设计的应用场合:循环结构程序设计的应用场合:当某个条件满当某个条件满足时,需要多次反复进行同样工作足时,需要多次反复进行同样工作。5 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n 当型循环当型循环while,forn 直到型循环直到型循环do.whileexpAFTexpAFT6 C

3、C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n特点:特点:先判断,再执行先判断,再执行nwhile while 语句的语法格式:语句的语法格式:注意:注意:1.循环体循环体可能一次也不执行可能一次也不执行。2.循环体可为循环体可为任意类型语句任意类型语句。3.退出退出while循环的情况循环的情况:p exp不成立不成立p 循环体循环体内遇内遇break,return,exit等。等。exp循环体循环体FTwhile(exp)循环体;循环体;7 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n1)问题分析:)问题分析:输入输入xpow=1;i=

4、1;i=10pow*=x;i+;YN输出输出pow结束结束开始开始x10=1*x*x 10个个xn 循环语句:循环语句:循环变量初始化:循环变量初始化:循环控制条件:循环控制条件:循环体:循环体:循环变量的修改:循环变量的修改:i1;i=10;pow*=x;i+;8 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计输入输入xpow=1;i=1;i=10pow*=x;i+;Y输出输出powN结束结束开始开始#include main()int i;double x,pow;printf(Please input x:);scanf(%lf,&x);pow=1.0;i=1;

5、while(i=10)pow*=x;i+;printf(Pow=%lfn,pow);循环语句四要素:循环语句四要素:n循环(控制)变量循环(控制)变量初始化初始化n循环控制条件循环控制条件n循环体(关键是找规律)循环体(关键是找规律)n循环变量的循环变量的修改修改9 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n1)问题分析:)问题分析:输入输入x,npow=1;i=1;i=npow*=x;i+;YN输出输出pow结束结束开始开始xn=1*x*x n个个xn 循环语句四要素:循环语句四要素:循环变量初始化:循环变量初始化:循环控制条件:循环控制条件:循环体:循环体:

6、循环变量的修改:循环变量的修改:i1;i=n;pow*=x;i+;10 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计输入输入x,npow=1;i=1;i=npow*=x;i+;Y输出输出powN结束结束开始开始#include main()int i,n;double x,pow;printf(“Input x and n:);scanf(%lf%d,&x,&n);pow=1.0;i=1;while(i=n)pow*=x;i+;printf(Pow=%lfn,pow);思考:思考:p如果如果 n0,程序该如何编写,程序该如何编写?11 C C语言程序设计语言程序设计

7、 第第5 5章章 循环程序设计循环程序设计例题:求例题:求x的的n(从键盘输入)次方。(从键盘输入)次方。#include main()int i,n,absn;double x,pow=1.0;printf(“Please input the x and n:”);scanf(“%lf%d”,&x,&n);absn=n0?n:-n;i=1;while(i=absn)pow*=x;i+;if(n0&x!=0)pow=1.0/pow;printf(“pow(%f,%d)=%f”,x,n,pow);Y n0&x!=0 Npow=1/pow输出输出powi+pow*=x while(i=|n|)po

8、w=1,i=1输入输入x,n12 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n1)问题分析:)问题分析:n2)程序步骤:)程序步骤:1.定义变量定义变量sum存储累加结果,并初始化为存储累加结果,并初始化为02.定义变量定义变量i用以存储数列通项,初值为用以存储数列通项,初值为13.给给sum不断的加不断的加i,同时,同时i也加也加1生成下一个项生成下一个项sum=1+2+100实质上为等差为实质上为等差为1的数的数列前列前100项和项和13 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计加数的范围:加数的范围:i=1 i=100求和过程

9、:求和过程:sum=sum+i;i+;此时此时,sum=1;i=2;sum=sum+i;i+;此时此时,sum=1+2;i=3;sum=sum+i;i+;此时此时,sum=1+2+3;i=4;sum=sum+i;i+;此时此时,sum=1+2+99;i=100;sum=sum+i;i+;此时此时,sum=1+2+99100;i=101;i=1;i=100sum+=i;i+;YN输出输出sum结束结束开始开始sum=0;14 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计i=1;i=100sum+=i;i+;YN输出输出sum结束结束开始开始sum=0;#include

10、 main()int i,sum;sum=0;i=1;while(i=100)sum+=i;i+;printf(Sum=%dn,sum);15 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n1)问题分析:)问题分析:sum=1+2+n实质上为等差为实质上为等差为1的数的数列前列前n项和项和输入输入nsum=0;i=1;i=nsum+=i;i+;YN输出输出sum结束结束开始开始n 循环语句四要素:循环语句四要素:循环变量初始化:循环变量初始化:循环控制条件:循环控制条件:循环体:循环体:循环变量的修改:循环变量的修改:i1;i=n;sum+=i;i+;16 C C语

11、言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计输入输入nsum=0;i=1;i=nsum+=i;i+;YN输出输出sum结束结束开始开始#include main()int i,sum,n;printf(Please input n:);scanf(%d,&n);sum=0;i=1;while(i=n)sum+=i;i+;printf(Sum=%dn,sum);17 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n问题分析:问题分析:sum=2+4+实质上为等差为实质上为等差为2的数列的数列输入输入nsum=0;i=2;i=nsum+=i;i+=2;

12、YN输出输出sum结束结束开始开始n 循环语句四要素:循环语句四要素:循环变量初始化:循环变量初始化:循环控制条件:循环控制条件:循环体:循环体:循环变量的修改:循环变量的修改:i2;i=nsum+=i;i+2;18 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计输入输入nsum=0;i=2;i=nsum+=i;i+=2;YN输出输出sum结束结束开始开始#include main()int i,sum,n;printf(Please input n:);scanf(%d,&n);sum=0;i=2;while(i=n)sum+=i;i+=2;printf(Sum=%

13、dn,sum);19 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计#include main()int i,sum,n,s=1;printf(Please input n:);scanf(%d,&n);sum=0;i=1;while(i=n)sum+=s*i;s=-s;i+;printf(Sum=%dn,sum);20 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n1)问题分析:)问题分析:1*2*n实质上为等差为实质上为等差为1的数的数列前列前n项乘积项乘积输入输入nsum=0;i=1;i=nsum+=i;i+;YN输出输出sum结束结

14、束开始开始fact=1;fact*fact#include main()int i,fact,n;printf(Please input n:);scanf(%d,&n);fact=1;i=1;while(i=n)fact*=i;i+;printf(Sum=%lfn,fact);21 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计1.while 语句之前必须语句之前必须预先设置判断的初始条件预先设置判断的初始条件2.防止防止“死循环死循环”的发生的发生3.在循环体中必须有使循环趋向结束的操作,在循环体中必须有使循环趋向结束的操作,即即 4.在循环体中要有能让逻辑表达式

15、值改变的语在循环体中要有能让逻辑表达式值改变的语句句3.正确使用复合语句正确使用复合语句 当循环体中含多条语句时当循环体中含多条语句时,需用需用 将这些语句将这些语句 括起来括起来,构成一个复合语句构成一个复合语句4.while()后面不能加分号;后面不能加分号;如果后面紧跟分号,编译系统认为循环体是一如果后面紧跟分号,编译系统认为循环体是一 条空语句条空语句,造成造成“死循环死循环”。5.在循环体中,在循环体中,语句的先后位置必须符合逻辑语句的先后位置必须符合逻辑6.否则会影响运算结果。否则会影响运算结果。思考程序段的输出?思考程序段的输出?sum=0;i=1;while(i=100)i+;

16、sum=sum+i;运行后,输出:运行后,输出:5150原因是什么?原因是什么?22 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计.71513114练习练习 用公式求用公式求的近似值,直到最后一项绝对值的近似值,直到最后一项绝对值 小于小于10-6为止。为止。#include#include main()float pi,t,s,n;pi=0;t=n=s=1;while(fabs(t)=1E-6)pi+=t;s=-s;n+=2;t=s/n;pi*=4;printf(“pi=%f”,pi);pi=0t=1;s=1n=1while(fabs(t)=1e-6)pi=pi+

17、ts=-sn=n+2t=s/npi=pi*4输出输出pi23 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 从键盘上输入一批正整数,求它们的累加从键盘上输入一批正整数,求它们的累加 和及平均值。和及平均值。#include main()int sum=0,count=0,x;float aver;printf(please input the data:);scanf(%d,&x);while(x0)sum+=x;count+;printf(please input the data:);scanf(%d,&x);aver=1.0*sum/count;pri

18、ntf(sum=%d,average=%.2f,sum,aver);sum=0,count=0输入一个数输入一个数xwhile(x0)sum+=xcount+输入一个数输入一个数xaver=sum/count输出输出sum,aver24 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计*练习练习 请在屏幕上输出以下(行数请在屏幕上输出以下(行数m从键盘输入)从键盘输入)图形。图形。#include main()int m;printf(please input m:);scanf(%d,&m);i=1;while(i=m)printf(*);printf(n);i+;2

19、5 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计*练习练习 请在屏幕上输出以下(行数请在屏幕上输出以下(行数m,列数,列数n均从均从键盘输入)图形。键盘输入)图形。#include main()int i,j,m,n;printf(please input m and n:);scanf(%d%d,&m,&n);i=1;while(i=m)j=1;while(j=n)printf(*);j+;printf(n);i+;26 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计*练习练习 请在屏幕上输出以下(行数请在屏幕上输出以下(行数m从键盘输入

20、)从键盘输入)图形。图形。#include main()int i,j,m;printf(nplease input lines:);scanf(%d,&m);i=1;while(i=m)j=1;while(j=m-i)printf();j+;j=1;while(j=2*i-1)printf(*);j+;printf(n);i+;输入输入mi=1 while(i=m)j=1 while(j=m-i)输出输出“一个空格一个空格”j+j=1 while(j=2i-1)输出输出“一个一个*”j+输出换行输出换行 i+思考:思考:若屏幕上输出以下若屏幕上输出以下(行数行数m从键盘输入从键盘输入)图形图

21、形*27 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计#include main()int i=1,j=0;while(i=10)j=i*i;printf(%d*%d=%dn,i,i,j);i+;例例 显示显示1-10的平方。的平方。j=0i=1 while(i=10)j=i*i输出输出ji+运行结果:运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=10028 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计例:输出九九表,输出格式如下:例:输出九九表,输出格式如下:

22、1*1=11*2=22*2=4 1*3=32*3=63*3=91*4=42*4=83*4=124*4=16 1*5=52*5=10 3*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=14 3*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=63 8*9=729*9=8129 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设

23、计例:输出九九表,输出格式如下:例:输出九九表,输出格式如下:#include main()int i,j;i=1;while(i=9)j=1;while(j=i)printf(%d*%d=%dt,j,i,i*j);j+;printf(n);i+;30 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计完整的完整的while循环包括:循环包括:1)循环变量初始化;)循环变量初始化;2)循环控制条件;)循环控制条件;3)循环变量的修改;)循环变量的修改;sum=0i=1while(i=100)sum=sum+ii+输出输出sum31 C C语言程序设计语言程序设计 第第5

24、5章章 循环程序设计循环程序设计n特点:特点:先执行,再判断先执行,再判断nwhile while 语句的语法格式:语句的语法格式:注意:注意:1.循环体循环体至少要执行至少要执行一次一次。2.循环体可为循环体可为任意类型语句任意类型语句。3.退出退出while循环的情况循环的情况:p exp不成立不成立p 循环体循环体内遇内遇break,return,exit等。等。do 循环体循环体;while(exp);expAFT32 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计#include main()int i,sum=0;i=1;while(i=100)sum=s

25、um+i;i+;printf(%d,sum);例例 用用do-while循环求循环求1001nnsum=0i=1sum=sum+ii=i+1while(i=100)输出输出sum值值#include main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(%d,sum);33 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计1.当当while 后面的表达式后面的表达式第一次第一次的值的值为为“真真”2.时,两种循环得到的时,两种循环得到的结果相同。结果相同。2.否则否则,二者,二者结果不相同。结果不相同。mai

26、n()int sum=0,i;scanf(%d,&i);do sum=sum+i;i+;while(i=10);printf(sum=%d,sum);main()int sum=0,i;scanf(%d,&i);while(i=10)sum=sum+i;i+;printf(sum=%d,sum);当当i=1时时:sum=55当当i=11时时:sum=0当当i=1时时:sum=55当当i=11时时:sum=1134 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 用公式求用公式求的近似值,直到最后一项绝对值的近似值,直到最后一项绝对值 小于小于10-6为止。为止

27、。.71513114#include#include main()float pi,t,s,n;pi=0;t=n=s=1;do pi+=t;s=-s;n+=2;t=s/n;while(fabs(t)=1E-6);pi*=4;printf(“pi=%f”,pi);pi=0n=1;s=1t=1pi=pi+ts=-sn=n+2t=s/nwhile(fabs(t)=1e-6)pi=pi*4输出输出pi35 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 从键盘上输入一批正整数,求它们的累加从键盘上输入一批正整数,求它们的累加 和及平均值。和及平均值。#include

28、main()int sum=0,count=0,x;float aver;do printf(please input the data:);scanf(%d,&x);sum+=x;count+;while(x0);sum-=x;count-;aver=1.0*sum/count;printf(sum=%d,average=%.2f,sum,aver);sum=0,count=0输入一个数输入一个数xsum+=xcount+while(x0)sum=sum-xcount-aver=sum/count输出输出sum,aver36 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程

29、序设计一般形式:一般形式:for (表达式表达式1;表达式表达式2;表达式表达式3)循环体语句循环体语句说明:说明:表达式表达式1:循环变量初始化循环变量初始化表达式表达式2:循环控制条件。循环控制条件。省略则表示死循环省略则表示死循环表达式表达式3:循环变量修改。循环变量修改。语句:语句:需要重复执行的部分,称为循环体需要重复执行的部分,称为循环体37 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计例例 用用for循环求循环求1001nn#include main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d

30、,sum);#include main()int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(%d,sum);sum=0for(i=1;i=100;i+)sum=sum+i输出输出sum可部分或全部省略可部分或全部省略,但但“;”不可省略不可省略38 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计说明:说明:for语句中表达式语句中表达式1、表达式、表达式2、表达式、表达式3 类型任意,都可省略,但类型任意,都可省略,但分号不可省。分号不可省。for(i=1;i=100;i+)sum=sum+i;for(i=1;i=10

31、0;)sum=sum+i;i+;i=1;for(;i100)break;i=1;for(;)sum=sum+i;if(i100)break;i+;39 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计1.for中中3个表达式类型任意可省略个表达式类型任意可省略,但两个但两个“;”2.都都不可省;不可省;2.无限循环无限循环:for(;)for语句可以转换成语句可以转换成while结构结构3.表达式表达式2一般是关系表达式或逻辑表达式,一般是关系表达式或逻辑表达式,但也可以是但也可以是 数值表达式或字符表达式,只数值表达式或字符表达式,只 要其值为真,就执行循环体要其值为

32、真,就执行循环体注意注意:在省略某个表达式时,应在适当位置在省略某个表达式时,应在适当位置 进进行循环控制的必要操作,以保证循环的行循环控制的必要操作,以保证循环的正确执行正确执行40 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计#include main()int i,n;long sum;printf(“please input the n:”);scanf(“%d”,&n);sum=1;for(i=1;i=n;i+)sum*=i;printf(“n%d!=%ld”,n,sum);例例 求求n!。输入输入nsum=1 for(i=1;i=n;i+)sum*=i输

33、出输出sum思考:思考:如何求如何求s=1!+2!+n!?41 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 从键盘上输入一批正整数,求它们的累加从键盘上输入一批正整数,求它们的累加 和及平均值。和及平均值。#include main()int sum=0,count=0,x;float aver;printf(please input the data:);scanf(%d,&x);for(;x0;)sum+=x;count+;printf(please input the data:);scanf(%d,&x);aver=1.0*sum/count;pr

34、intf(sum=%d,average=%.2f,sum,aver);sum=0,count=0输入一个数输入一个数xfor(;x0;)sum+=xcount+输入一个数输入一个数xaver=sum/count输出输出sum,aver42 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计*练习练习 请在屏幕上输出以下(行数请在屏幕上输出以下(行数n从键盘输入)从键盘输入)图形。图形。#include main()int i,j,n;printf(nplease input lines:);scanf(%d,&n);for(i=1;i=n;i+n)for(j=1;j=n-

35、i;j+)printf();for(j=1;j=2*i-1;j+)printf(*);printf(n);输入输入n for(i=1;i=n;i+)for(j=1;j=n-i;j+)输出输出“一个空格一个空格”for(j=1;j=2i-1;j+)输出输出“一个一个*”输出换行输出换行43 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 判断判断m是否为素数。是否为素数。素数素数一个自然数,若一个自然数,若除了除了1和它本身外不和它本身外不能被其他整数整除能被其他整数整除如果这个数如果这个数m能被能被2,3,m-1中任何中任何一个数整除,说明它一个数整除,说明它

36、不是素数不是素数#include main()int m,i,flag;printf(ninput integer m:);scanf(%d,&m);flag=1;for(i=2;i=m-1;i+)if(m%i=0)flag=0;i=m;if(flag=1)printf(%d primen,m);else printf(%d is not primen,m);输出输出不是素数不是素数flag=1i=mflag=0输出输出是素数是素数m%i=0for(i=2;i=m-1;i+)flag=1输入一个数输入一个数 m NYNYi=m的作用:的作用:force i equals to m,exit l

37、oop44 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 求求100到到150之间的所有素数之间的所有素数#include main()int m;int i,flag;for(m=101;m=150;m+)flag=1;for(i=2;i=m-1;i+)if(m%i=0)flag=0;i=m;if(flag=1)printf(%5d,m);输出输出mflag=1for(i=2;i=m-1;i+)flag=1for(m=101;m=150;m+)i=mflag=0m%i=0NYNY45 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计

38、练习练习 求求100到到150之间的所有素数,并设定每行之间的所有素数,并设定每行 输出输出5个素数。个素数。#include main()int m;int i,flag,count=0;for(m=101;m=150;m+)flag=1;for(i=2;i=m-1;i+)if(m%i=0)flag=0;i=m;if(flag=1)printf(%5d,m);count+;if(count%5=0)printf(n);输出换行输出换行count%5=0count+输出输出mflag=1for(i=2;i=m-1;i+)flag=1for(m=101;m=150;m+)i=mflag=0m%i

39、=0count=0 NYNYNY46 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计1、三种循环语句在功能上是等效的三种循环语句在功能上是等效的,即任何一,即任何一种循环均可以由其它循环来替代。种循环均可以由其它循环来替代。2、while与与for作为作为当型循环当型循环,特点是特点是先判断、先判断、再执行再执行,而,而for循环则是循环则是while循环的更加简洁循环的更加简洁的表示方式。的表示方式。for循环适用于循环变量按等差数列规律变循环适用于循环变量按等差数列规律变化的情况。化的情况。3、dowhile作为作为直到型循环直到型循环,特点是,特点是先执先执行、

40、再判断行、再判断,其其最少要执行一次最少要执行一次。47 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计while语句多用于语句多用于循环次数不定循环次数不定的情况的情况do-while语句多用于语句多用于至少要运行一次至少要运行一次的情况的情况for语句语句多用于要多用于要赋初值赋初值或或循环次数固定循环次数固定的情况的情况比较以下两条语句:比较以下两条语句:for(i=1,sum=0;sum+=i,i=100;i+);for(i=1,sum=0;i=100,sum+=i;i+);/*实现实现1+2+3+101 */*死循环死循环 */48 C C语言程序设计语言程

41、序设计 第第5 5章章 循环程序设计循环程序设计一般形式:一般形式:goto 语句标号;语句标号;标号标号:语句;语句;有兴趣的同学自学有兴趣的同学自学不提倡使用不提倡使用goto语句语句注意:注意:goto语句能实现程序无条件转移,为编程语句能实现程序无条件转移,为编程提供了便利。但是无限制地使用,会破坏提供了便利。但是无限制地使用,会破坏程序的结构化程度。程序的结构化程度。因此应限制使用。因此应限制使用。49 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计功能:功能:无条件转向语句无条件转向语句 强制中断执行本语句后面的语句,跳强制中断执行本语句后面的语句,跳 转

42、到语句标号标识的语句继续执行程序转到语句标号标识的语句继续执行程序说明:说明:1.不能用整数作标号不能用整数作标号2.只能加在可执行语句前面只能加在可执行语句前面3.与与if语句一起构成循环结构语句一起构成循环结构4.限制使用限制使用goto语句语句#include main()()int i=1,sum=0;loop:if(i=100)sum=sum+i;i+;goto loop;printf(”%d”,sum);例例 求求1到到100的和。的和。50 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计 循环的嵌套,又称循环的嵌套,又称多层循环多层循环,应用于,应用于多

43、多个变量同时变化个变量同时变化的情况。的情况。while()while().do do while();.while();for(;)do while();while().while()do while();.说明:说明:1.外层循环可包含两个以上内循环外层循环可包含两个以上内循环 2.嵌套的循环的执行流程嵌套的循环的执行流程51 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计 注意:注意:1.while、do-while、for循环语句可以并列循环语句可以并列,也也可以相互嵌套可以相互嵌套,但要但要层次清楚层次清楚,不能出现交叉不能出现交叉2.多重循环程序执行时,外

44、层循环每执行一次,多重循环程序执行时,外层循环每执行一次,内层循环都需要循环执行多次。内层循环都需要循环执行多次。1.外循环外循环执行了执行了10次次2.内循环内循环执行执行6次次3.循环正常结束时循环正常结束时,4.内循环执行了内循环执行了 5.106=60次次for(a=1;a=10;a+)for(b=0;b=5;b+)52 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计循环嵌套在使用中的循环嵌套在使用中的重点内容重点内容能够正确判断内层循环体的范围能够正确判断内层循环体的范围能够正确判断内层循环体的执行次数能够正确判断内层循环体的执行次数注意内层循环的初值设定注

45、意内层循环的初值设定能正确处理内层循环与外层循环变量的关系能正确处理内层循环与外层循环变量的关系53 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计阅读下述程序段,判断各层循环体的范围;阅读下述程序段,判断各层循环体的范围;判断各层循环体执行的次数。判断各层循环体执行的次数。n=6;m=5;for(i=0;in;i+)for(j=0;jm;j+)printf(“%d*%d=%2d”,i,j,i*j);/*内循环体的运行次数:内循环体的运行次数:n*m=6*5=30次次*/*外循环体的运行次数:外循环体的运行次数:6次次*/54 C C语言程序设计语言程序设计 第第5

46、5章章 循环程序设计循环程序设计 n=6;m=5;for(j=0,i=1;in;i+)while(ji)printf(“While(ji):j=%dn”,j);j+;/*内循环体的运行次数:内循环体的运行次数:n-1次次*/*外循环体的运行次数:外循环体的运行次数:n-1次次*/n=6;m=5;for(j=1,i=1;in;i+)while(ji)printf(“While(ji):j=%dn”,j);j+;/*当当j=1时不执行时不执行while 内循环体的运行次数:内循环体的运行次数:n-2次次*/*外循环体的运行次数:外循环体的运行次数:n-1次次*/55 C C语言程序设计语言程序设计

47、 第第5 5章章 循环程序设计循环程序设计一般格式一般格式break;功能功能(只能出现在两种场合只能出现在两种场合)1.用于用于switch语句中,其作用是语句中,其作用是跳出跳出switch语句;语句;2.用于用于循环语句,循环语句,作用是作用是提前结束整个提前结束整个循环的执行循环的执行 break;expN Y56 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计nbreak语句只能出现在语句只能出现在switch语句语句或或循环语句循环语句的循环体中的循环体中n在循环语句、在循环语句、switch语句嵌套使用的情况下,语句嵌套使用的情况下,break语句只能语

48、句只能跳出(或终止)它所在的结构,跳出(或终止)它所在的结构,而不能同时跳出多层结构。而不能同时跳出多层结构。结果:结果:a=2,b=1结果:结果:a=8,b=1main()int x=1,y=0,a=0,b=0,i=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(“na=%d,b=%d”,a,b);for(i=0;i5)break;57 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计练习练习 判断判断m是否为素数。是否为

49、素数。#include main()int m,i,flag;printf(ninput integer m:);scanf(%d,&m);flag=1;for(i=2;i=m-1;i+)if(m%i=0)flag=0;i=m;if(flag=1)printf(%d primen,m);else printf(%d is not primen,m);输出输出不是素数不是素数flag=1i=mflag=0输出输出是素数是素数m%i=0for(i=2;i=m-1;i+)flag=1输入一个数输入一个数 m NYNYi=m的作用:的作用:force i equals to m,exit loopbr

50、eakbreak;58 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计一般格式一般格式continue;功能功能 在循环语句中强行在循环语句中强行提前结束本次循环提前结束本次循环,而而不是终止循环。不是终止循环。continue;expN Y59 C C语言程序设计语言程序设计 第第5 5章章 循环程序设计循环程序设计n只能用于只能用于循环语句的循环体循环语句的循环体中中n作用是使执行流程跳过循环体中作用是使执行流程跳过循环体中continue后后 面的语句,即面的语句,即提前结束本次循环体语句提前结束本次循环体语句n在在while 和和do-while语句中,执行语

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(chap5循环程序设计课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|