break 和 continue
break
1. break如果用于循环是用来终止循环
2. break如果用于switch,则是用于终止switch
3. break不能直接用于if,除非if属于循环内部的子句
例子:
for (i=0;i<3;i++)
{
if (3>2)
break; //break虽然是if内部的语句,但终止的却是外部的for循环
printf ("AA\n"); //永远不会输出
}
4. break在多个循环嵌套使用的情况下
例子:
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
break; //break只能终止距离它最近的循环
}
printf ("AA\n");
}
在多层循环中,break只能终止距离它最近的循环
在多层switch中,break只能终止距离它最近的switch
continue
用于跳过本次循环余下的语句,转去执行下次循环
例子:
for(1;2;3)
{
A;
B;
continue; //如果执行这个语句的话,会直接转到3语句,C,D都不会执行
C;
D;
}
/* 示例代码 在循环内部的语句使用break **
* 时间 2015-8-4 20:49 **/
# include <stdio.h>
int main()
{
int i;
for (i = 0; i < 5; i++)
{
if (i == 3){
break;
}
printf("AAAA\n");
}
system("pause");
return 0;
}
/*
结果分析:
--------------------------
AAAA
AAAA
AAAA
请按任意键继续. . .
--------------------------
原本应该输出 5 个 AAAA
由于被break终止所以只输出三个
*/
/* 示例代码 多个for循环嵌套中使用break **
* 时间 2015-8-4 20:54 **/
# include <stdio.h>
int main()
{
int i,j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("CCCC\n");
break; //用来终止循环
printf("AAAA\n"); //break已经终止循环,程序不会执行到这一句
}
printf("BBBB\n");
}
system("pause");
return 0;
}
/*
结果分析:
------------------------
CCCC
BBBB
CCCC
BBBB
CCCC
BBBB
请按任意键继续. . .
------------------------
*/
/* 示例代码 多个switch语句使用break **
* 时间 2015-8-4 21:02 **/
# include <stdio.h>
int main()
{
int i = 1;
int j = 0;
switch (i)
{
case 1:
printf("1111\n");
switch (j)
{
case 0:
printf("2222\n");
break; //语句1
case 1:
printf("3333\n");
break;
}
printf("4444\n");
break;
case 2:
printf("5555\n");
break;
}
system("pause");
return 0;
}
/*
结果分析:
------------------------
1111
2222
4444
请按任意键继续. . .
------------------------
如果break只跳出第二个switch
则输出 44444
如果break跳出所有的switch
则 44444 不会输出
/* 示例代码 continue用法 **
* 时间 2015-8-4 21:24 **/
# include <stdio.h>
int main()
{
int i;
for (i = 0; i < 3; i++)
{
printf("1111\n");
printf("2222\n");
continue; //执行了continue之后,后面的语句都不执行
printf("3333\n");
printf("4444\n");
}
system("pause");
return 0;
}
/*
结果分析:
-------------------------
1111
2222
1111
2222
1111
2222
请按任意键继续. . .
-------------------------
*/