《第五章循环控制.docx》由会员分享,可在线阅读,更多相关《第五章循环控制.docx(5页珍藏版)》请在优知文库上搜索。
1、第五章循环控制第三节循环的嵌套、比较,break语句,ContinUe语句大家好,上一节我们讲解了如下内容:(1)for语句本节课我们主要讲解如下几个内容:(1)循环的嵌套(2)几种循环语句的比较(3)break语句以及COntinUe语句(1)循环的嵌套上几节课程我们学习了几种循环语句,包括WhiIe,d。While,for语句,主要是这三种循环语句。一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套,说白了就是循环套循环。内嵌的循环中,还可以套循环,这就是多层循环,主要你能看懂,可以一直这样套下去,但一般来讲一个循环里边套一层就差不多了,套两层就不太好理解了,再套下去就套晕了。看看如
2、下这个图,WhiIe()WhiIe()while()f(-(dowhile()c(、for(:)(、while();dododowhile () for (;:)while();while ();while ();while ();for (;)for (;)for (;)while()while();一般来讲最常用的循环语句的嵌套是for语句内部嵌套for语句,所以这里就给大家举一个for语句内部嵌套for语句的例子:输出一个九九乘法表:1*1=1,2*1=2,2*2=4,3*1=3,3*2=6,3*3=9.9*9=81inti,j,k;for(i=1;i=9;i+)(for(j=lj=i;
3、j+)Printf(%d*%d=%dJ,k);printf(n);针对是行数范例进行跟踪调试看看,让大家明白循环嵌套的程序执行流程。(2)几种循环语句的比较现在我们学习了got。型循环,WhiIe型循环,d。WhiIe型循环,for循环。a)多数情况下,这些循环之间可以相互替代,但不提倡使用goto循环,因为goto循环破坏了结构化程序设计,增加了程序更杂性。其实got。语句在老师看来他不叫循环,他更应该被看成一个具有跳转功能的语句。b)while循环和for循环是先判断表达式的值,后执行语句,而d。WhiIe循环是先执行语句,后判断表达式的值,所以循环体内的一系列语句至少被执行一次;大家再回
4、忆一下如下:while语句的一般形式一般形式:While(表达式)要执行的语句dowhile一般形式:do要执行的语句while(表达式);for语句的一般形式for(表达式1;表达式2;表达式3)内嵌的语句c)Mwhiledowhile,for这三种循环,可以用break语句跳出循环,用ContinUe语句结束本次循环,下面就会讲解到这两种语句,对于第一节我们讲的用goto和if语句构成的循环,不能用break和continue语句进行控制;(3)break语句以及continue语句前面我们讲过break语句,是在讲解switch语句时讲过,那个时候的break语句是用于跳出整个switc
5、h语句的,继续执行switch语句的下一条语句。同时,break语句还可以用在三种循环while,dowhile,for结构的语句体中,用于跳出循环体,也就是提前结束循环,接着执行循环后边的语句;演示:计算1+2+3+.IoO的值,和应该为5050,但当和值达到4000时,我们就退出循环。inti,sum=0;for(i=1;i=4000)(break;)Printf(sum=%dn”,sum);Printf(i=%dn”,i);切记:break语句不能用于循环语句和switch语句之外的任何其他语句中。并且break语句出现在SWitCh中,不用于跳出循环,而是用于跳出SWitCh语句;br
6、eak只能跳出break语句所在这层循环:演示如下,跟踪调试;for(i=1;i=9;i+)for(j=lj=i;j+)(k=i*j;Printf(%d*%d=%d”,ij,k);break;)printf(n);break;)Printf(出来了”);continue语句;continue只用在二三种循环whilezdowhile,for结构的语句体中(刚才我们讲break语句时break语句还可以用在switch中,而这里讲解continue则不能用于switch中,只能用于三种循环结构体中);COntinUe语句的作用:结束本次循环,跳出循环体中下面尚未执行的语句,接着进行下一次是否执行
7、循环的判断。continue语句和break语句的区别是什么?continue语句只结束本次循环,而不是终止整个循环的执行,而break语句是结束整个循环的执行,跳转到整个循环后边的语句去执行。有如卜两个循环结构大家分析一下执行流程while(表达式1)if(表达式2)break;while(表达式1)if(表达式2)continue;演示continue语句;把1到100之间不能被3整除的数输出inti;for(i=1;i=100;i+)(if(i%3=0)continue;Printf(%d”,i);)解释:当i能被3整除时,执行COntinUe语句,结束本次循环(跳过了下边的Prirnf语句),只有n不能被3整除时才执行printf函数。本节课就讲到这里,大家再见。