循环结构的程序设计.ppt
一个循环体内又包含另外一个或几个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。01三种循环(while循环、do-while循环和for循环)可以互相嵌套。02四、循环嵌套010203040506while()(2)do(3)for(;;){…{…{while()dofor(;;){…}{…}{…}}while();}}while();下面几种都是合法的形式:四、循环嵌套四、循环嵌套(4)while()(5)for(;;)(6)do{…{…{…do{…while()for(;;)}{}while(){}…{…}…}}}while()四、循环嵌套嵌套在循环体内的循环体称为内循环,外面的循环称为外循环。例如:#includestdio.hvoidmain(){inti,j,k=0;for(i=1;i=10;i++)for(j=1;j=10;j++)k++;printf(k=%d,k);}循环嵌套的运行过程:外层循环取一个值,内层循环取遍所有的值。故上述程序的输出结果为:k=1002内循环入口3内循环出口1嵌套结构的规则:内外循环不能交叉。6错误!交叉循环5外循环出口4外循环入口程序举例–多重循环的应用例5.搬砖问题:有36块砖,由36人搬:一男搬4块,1女搬3块,两个小孩抬一块,一次全部搬完。问男、女、小孩人数各若干?#includestdio.h
#include?math.h
voidmain()
{?intman,woman,child;
?for(man=0;man9;man++)
??for(woman=0;woman12;woman++)
??{??child=36-man-woman;
???if((4*man+3*woman+child/2==36)(child%2==0))
?printf(man=%d,woman=%d,child=%d\n,man,woman,child);
???}
}程序举例–多重循环的应用0102例5.编程实现打印下列图形。#includestdio.h#includemath.hvoidmain(){inti,j,line;printf(pleaseinputlinesforprint:);scanf(%d,line);for(i=1;i=line;i++){ for(j=1;j=i;j++)printf(*);printf(\n);}}goto语句为无条件转向语句,它的一般形式为goto语句标号;语句标号用标识符表示,它的定名规则与变量名相同。例如:gotolabel_1;合法;goto123;不合法.功能:将程序流程无条件地转向指定标号所在的语句继续执行。010302五、goto语句以及用goto语句构成循环一般来说,