一、 break:通常运用于循环语句和开关语句。常用在do-while、for、while、switch语句中。
当break语句用于do-while、for、while循环语句中时,直接跳出当前循环,而执行循环后面的语句,忽略循环体中任何其他语句和循环条件测试。通常break语句总是与if语句联在一起,即满足条件时便跳出循环。
注意:
1) break语句对if-else的条件语句不起作用。
2) 在多层循环中,一个break语句只向外跳一层。
#include<stdio.h>
int main()
{
int i;
for(i = 0; i < 5; i++)
{
if(i == 3)
{
break;
}
printf("happy = %d\n", i);
}
return 0;
}
/*
运行结果:
happy = 0
happy = 1
happy = 2
*/
#include<stdio.h>
int main()
{
int i;
for(i = 0; i < 5; i++)
{
if(i == 3)
{
continue;
}
printf("happy = %d\n", i);
}
return 0;
}
/*
运行结果:
happy = 0
happy = 1
happy = 2
happy = 4
*/
二、 continue:通常运用于循环语句。常用在for、while、do-while循环语句中。
continue语句的作用是跳过本次循环中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。
注意:
continue运用在for循环语句和while语句是有很大区别,下面两个例子,for循环语句中,虽然continue跳出本次循环,但i++执行。while循环语句中,continue跳出本次循环,但i++不执行,导致程序死在里面。
例子1:
#include<stdio.h>
int main()
{
int i;
for(i = 0; i < 3; i++)
{
if(i % 2)
{
continue;
printf("Never do.\n");
}
printf("happy = %d\n", i);
}
printf("finsh\n");
return 0;
}
结果:
happy = 0
happy = 2
finsh
例子2:
#include<stdio.h>
int main()
{
int i = 0;
while(i < 2)
{
if(i % 2)
{
printf("happy = %d\n", i);
continue;
printf("Never do.\n");
}
printf("happy = %d\n", i);
i++;
printf("finsh\n");
}
return 0;
}
结果:
happy = 0
finsh
happy = 1
happy = 1
happy = 1
happy = 1
一直打印,死在里面
三、 return:表示中止当前函数的运行,并将操作权返回给调用。如果是在main函数中,表示将操作权返回给操作系统。有两个作用,一个是返回一个指定数据给主调函数,另一个是结束所在函数的执行。
注意:
1) return不是必须要返回一个值。如
void func(void)
{
......
......
return;
}
2) 不写return,在函数执行完毕后也会返回操作权给调用者。写return是一种清晰的风格,可以防止一些意外的错误。所以书上只说应该写,而不是必须写。