break
berak有两种用法:
1.当break语句出现在一个循环内时,(如满足条件)循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2.可以用于终止switch语句中的一个case。注:break不能直接用于if,除非if属于循环内部的一个句子
如if(表达式)break;是错误的
// An highlighted block
#include <stdio.h>
int main ()
{
/* 局部变量定义 */
int a = 10;
/* while 循环执行 */
while( a < 20 )
{
printf("a 的值: %d\n", a);
a++;
if( a > 15)
{
/* 使用 break 语句终止循环 */
break;
}
}
return 0;
} //输出结果为 10 11 12 13 14 15
输出结果为 10 11 12 13 14 15
break只能用于终止离它最近的循环
// An highlighted block
#include <stdio.h>
int mian (void)
{
int i, j;
for (i=0; i<3; ++i)
{
for (j=0; j<4; ++j)
break; // break 只能终止离它最近的循环
prntf("您好!\n") //输出三次
}
return 0;
}
上例为多层循环中使用break 语句,它只能终止离它最近的循环。同样,在多层switch嵌套中,break也只能终止离它最近的switch
顺便介绍一下for循环中++i和i++的区别
首先了解下在正常情况下++i和i++的区别
++i:首先对i进行+1操作,然后拿着运算后的结果(即+1)带入运算
i++:先使用当前的i值代入运算,然后再执行+1操作
对于for循环中的i++和++i:
他们对于输出结果没有影响,因为他们都是在执行了循环体之后才会执行第三个语句。
对于大型数据而言,i++需要先执行运算再+1,需要一个临时变量来转存,相比之下++i就没有这个问题,所以它对整体的性能会更好一些
continue
C 语言中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。
// An highlighted block
#include <stdio.h>
int main ()
{
/* 局部变量定义 */
int a = 10;
for(a=10;a<20;a++)
{
if( a == 15)
continue;
printf("a 的值: %d\n", a);
}
return 0;
} //输出10 11 12 13 14 16 17 18 19,跳过15
//输出10 11 12 13 14 16 17 18 19,跳过15