首页 > 编程知识 正文

break 和continue,break class

时间:2023-05-04 12:19:38 阅读:150932 作者:1044

目录

continue和break

continue语句

循环嵌套

在continue和break中使用while或for循环时,如果希望循环尽早结束,请使用break或continue关键字。

http://www.Sina.com/http://www.Sina.com /

在switch case语句中,论述break,并使用它从switch语句中退出。

如果将break关键字用于while,for循环,则循环结束,并执行整个循环语句之后的代码。 break关键字通常与if语句一起使用。 也就是说,如果满足条件,就会退出循环。

使用while循环计算1到100的值。

#include cstdioint main () { int i=1,sum=0; wile(1)//循环条件为死循环sum=i; I; if(I100 ) break; }printf('%dn ',sum ); 返回0; }执行结果:

5050

while循环条件为1,为死循环。 运行到第100次循环时,I计算完毕; 后I的值为101,此时if语句的条件i 100成立,break; 语句,结束循环。

continue语句的作用是跳过循环体中剩下的语句,强制进入下一个循环。 continue语句仅用于while,for循环,经常与if条件语句一起使用以确定条件是否成立。

请看以下示例:

#include cstdioint main () { char c=0; while(c!='n ' ) { //回车键是循环Scanf(“%c”,c ); if(c=='4'|c=='5' ) ) (按/的是数字键4或5 continue; //跳过当前循环,进入下一个循环(printf )“%c”,c ); } return 0; }执行结果:

0123456789

01236789

当程序遇到while时,变量c的值为“”,循环条件c!='n '成立,第一个周期开始。 scanf会暂停程序的执行,直到用户按回车键才开始读取字符。

在本例中,输入0123456789,但当读取到4或5时,如果if的条件c=='4'||c=='5'成立,则执行continue语句,退出当前循环,直接进入下一个循环这意味着不执行打印。 读取其他数字时,if条件不成立,不执行continue语句,执行printf时输出读取的字符。

break与continue的对比: break用于结束循环,循环语句不再有机会执行。 continue用于结束本次循环,直接跳转到下一个循环,如果循环条件成立,则继续循环。

循环嵌套

在c语言中,while、do-while和for可以相互嵌套。 嵌套是指一个句子中还有另一个句子。 例如,for中有for,while中有while。 或者,for中有while,while中有if-else。 这一切都是可以原谅的。

示例1:for嵌套执行流程。

#includecstdiointmain((intI,j; for(I=1; i=4; I () /外层for循环for ) j=1; j=4; j ) ) /内层for循环printf(I=%d,j=%dn ),I,j ); }printf((n ); } return 0; }执行结果:

i=1,j=1

i=1,j=2

i=1,j=3

br> i=1, j=4

i=2, j=1
i=2, j=2
i=2, j=3
i=2, j=4

i=3, j=1
i=3, j=2
i=3, j=3
i=3, j=4

i=4, j=1
i=4, j=2
i=4, j=3
i=4, j=4

       本例是一个简单的 for循环嵌套,外层循环和内层循环交叉执行,外层 for 每执行一次,内层 for 就要执行四次。

       在C++语言中,代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。这就意味着,外层 for 每次循环时,都必须等待内层 for 循环完毕(也就是循环4次)才能进行下次循环。虽然 i 是变量,但是对于内层 for 来说,每次循环时它的值都是固定的。

示例2:输出一个4×4的整数矩阵

#include <cstdio>int main(){ int i, j; for(i=1; i<=4; i++){ //外层for循环 for(j=1; j<=4; j++){ //内层for循环 printf("%4d", i*j); } printf("n"); } return 0;}

运行结果:

   1   2   3   4

   2   4   6   8

   3   6   9  12

   4   8  12  16

       外层 for 第一次循环时,i为1,内层 for 要输出四次 1*j 的值,也就是第一行数据;内层  for 循环结束后执行 printf("n"),输出换行符;接着执行外层 for 的 i++ 语句。此时外层 for 的第一次循环才算结束。

       外层 for 第二次循环时,i为2,内层 for 要输出四次 2*j 的值,也就是第二行的数据;接下来执行 printf("n") 和 i++,外层 for 的第二次循环才算结束。外层 for 第三次、第四次循环以此类推。

       可以看到,内层 for 每循环一次输出一个数据,而外层 for 每循环一次输出一行数据。

       

       示例3:输出九九乘法表

#include <cstdio>int main(){ int i, j; for(i=1; i<=9; i++){ //外层for循环 for(j=1; j<=i; j++){ //内层for循环 printf("%d*%d=%2d ", i, j, i*j); } printf("n"); } return 0;}

运行结果:

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

       和示例2一样,内层 for 每循环一次输出一条数据,外层 for 每循环一次输出一行数据。

       需要注意的是,内层 for 的结束条件是j<=i。外层 for 每循环一次,i 的值就会变化,所以每次开始内层 for 循环时,结束条件是不一样的。具体如下:

当 i=1 时,内层 for 的结束条件为 j<=1,只能循环一次,输出第一行。当 i=2 时,内层 for 的结束条件是 j<=2,循环两次,输出第二行。当 i=3 时,内层 for 的结束条件是 j<=3,循环三次,输出第三行。当 i=4、5、6... 时,以此类推。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。