《dowhile语句 for语句 循环结构的嵌套.pptx》由会员分享,可在线阅读,更多相关《dowhile语句 for语句 循环结构的嵌套.pptx(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、do-while语句的执行过程是:先执行循环体语句,再求表达式的值,若表达式的值为“真”(非0数值)则再执行循环体语句,由此构成循环,直到表达式的值为“假”(数值0)时结束循环。如图所示。第1页/共15页注意点:do-while语句和while语句的区别在于do-while是先执行循环体语句,后判断循环条件,因此do-while至少要执行一次循环体。第2页/共15页main()int i,sum;i=1;sum=0;do sum=sum+i;i+;while(i=100);printf(sum=%dn,sum);用do-while语句改写例5.3的程序题目:求题目:求1+2+3+100的值的值
2、注意注意:N_SN_S流程图流程图的的直到型循环结构直到型循环结构的的循环循环条件条件的描述方法与的描述方法与C C语言语言的的do-whiledo-while语句语句的的循环条件循环条件的测试方法的测试方法稍有不同稍有不同。这里这里一定要一定要有一个有一个分号分号第3页/共15页5.4 for语句和用for语句构成的循环 for语句语句的的一般形式一般形式为:为:for(表达式表达式1;表达式表达式2;表达式表达式3)循环体语句循环体语句for循环语句循环语句的的执行过程执行过程是:是:(1)计算计算”表达式表达式1”的值。的值。(2)计算计算”表达式表达式2”的值;的值;若其值为若其值为非
3、零非零,转至,转至步骤步骤(3);若其值为若其值为零零,则转至,则转至步骤步骤(5)。(3)执行一次执行一次循环体语句循环体语句。(4)计算计算”表达式表达式3”;然后转向;然后转向步骤步骤(2),构成循环构成循环。(5)结束循环结束循环,执行,执行for循环之后的语句。循环之后的语句。第4页/共15页for语句的常规使用方法:“表达式1”用来给循环变量赋初值或做一些初始工作;“表达式2”用来作为判断循环是否结束的条件;“表达式3”用来修改循环变量的值,使得循环能够趋于结束。第5页/共15页for语句的常规使用方法例main()/*程序1*/int i,sum;for(i=1,sum=0;i=
4、100;i+)sum=sum+i;printf(sum=%dn,sum);“表达式表达式1”是逗号表达式是逗号表达式给循环变量赋初值给循环变量赋初值做一些做一些初始工作,准备累加初始工作,准备累加!判断判断循环是否结束!循环是否结束!使使得得循环循环能够能够趋于结束。趋于结束。第6页/共15页 从语法上来讲,从语法上来讲,三个表达式三个表达式都可以是都可以是任意合法的任意合法的C表达式表达式,各表达式之间用各表达式之间用”;”隔开,并且这隔开,并且这三个表达式三个表达式都是都是任选项任选项。例如例如:我们可以用我们可以用for循环语句将例循环语句将例5.3的程序改写为如下几的程序改写为如下几种
5、形式,它们都能正确地求出种形式,它们都能正确地求出1+2+3+100的值。的值。for语句的非常规使用方法main()/*程序程序2*/int i=1,sum=0;for(;i=100;i+)sum=sum+i;printf(“sum=%dn”,sum);表达式表达式1省略了省略了!main()/*程序程序3*/int i=1,sum=0;for(;i100 goto pend;pend:printf(“sum=%dn”,sum);三个表达式三个表达式都被省掉了都被省掉了!分隔符分隔符“;”不能省。不能省。由于没有了由于没有了表达式表达式2,用用goto语句语句结束结束循环。循环。main()
6、/*程序程序5*/int i,sum=0;for(i=1;i=100;sum=sum+i+);printf(“sum=%dn”,sum);循环体语句是一个空语句循环体语句是一个空语句!第8页/共15页注意在循环体语句之前不能有分号main()int i,sum=0;for(i=1;i=100;i+);sum=sum+i;printf(sum=%dn,sum);main()int i,sum=0;for(i=1;i=100;i+);sum=sum+i;printf(sum=%dn,sum);/*前面两个程序的执行过程*/main()int i,sum=0;for(i=1;i=100;i+);su
7、m=sum+i;printf(sum=%dn,sum);即即:循环体语句是一个循环体语句是一个空语句空语句!第9页/共15页例5.4 编程计算多个圆的面积 本例要求计算本例要求计算6个不同半径的圆面积个不同半径的圆面积,且半径且半径值的变化值的变化是是有规律有规律的,从的,从0.5mm开始按增开始按增1 mm的规律递增的规律递增,可可直接直接用用半半径径r作为作为for语句的语句的循环控制变量循环控制变量,每,每循循环一次环一次使使r的值的值增增1,直到直到r大于大于5.5为止。为止。main()float r,s;for(r=0.5;r=5.5;r+)s=3.14159*r*r;printf
8、(r=%f,s=%fn,r,s);变量变量r具有具有双双重功能重功能,它既,它既是是循环控制变循环控制变量量,又是,又是圆的圆的半径值半径值,它的,它的值由值由0.5变化到变化到5.5,循环体共,循环体共执行执行6次次,当,当r增到增到6.0时,条时,条件表达式件表达式r=5.5的值为的值为0,从而,从而退出循退出循环环。第10页/共15页5.5 5.5 循环结构的嵌套 在一个循环语句的循环体内又完整地包在一个循环语句的循环体内又完整地包含了另一个循环语句,称为循环嵌套。含了另一个循环语句,称为循环嵌套。第11页/共15页 在编写程序时,在编写程序时,循环嵌套的书写循环嵌套的书写要采用要采用缩
9、进形缩进形式式,如在例,如在例5.5的程序中,的程序中,内循环内循环中的语句应该中的语句应该比比外循环外循环中的语句有规律地中的语句有规律地向右缩进向右缩进24列列。例5.5 5.5 循环嵌套的应用-输出九九乘法表。main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%1d*%1d=%2d ,i,j,i*j);printf(n);第12页/共15页程序的运行结果为:程序的运行结果为:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 例5.55.5程序输出的九九乘法表第13页/共15页第14页/共15页感谢您的欣赏!第15页/共15页
限制150内