(1)break语言
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从能够满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
当break语句用于do-while、for、while循环语句中时,可是程序终止循环。而执行循环后面语句,通常break语句总是和if语句联在一起。既满足条件便跳出循环。
例:
int main()
{
int i = 0;
int n = 5;
for (i = 0; i < 10; i++)
{
if (i == n)
{
break;
}
printf("hi!\n");
}
printf("hi!\n");
}
break是在第六次的时候结束,不过,它是结束循环,所以还得执行循环外的一次hi,总共六次;
(2) goto
goto语句也称为无条件转移语句,goto语句标号;其中语句标号是按照标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(;)。语句标号起标识语句的作用,与goto语句配合使用。C语言不限制程序中使用标号的次数,单个标号不得重复。goto语句的语意是改变程序流向,转去执行语句标号所标识的语句,它通常与条件语句配合使用,即用来实现条件转移,构成循环,跳出循环体等功能,但是在结构化程序设计中一般不主张使用goto语句,以免造成程序混乱,使理解和调试程序都产生困难。
例:void main(){
int a=2,b=3;
if(a<b)
goto aa;
printf("hello");
aa:printf("s");
return 0;
}
改程序的执行结果为s
所有在goto aa这句之后直接跳转到aa:printf("s");
aa:为标记行。冒号切记不可省略。
(3)return
return很强大,如果一个函数中有一个return,并且执行了,那么这个函数就完了。return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的,返回值可以为各种数据类型,如:int,float,double,char,a,*a(指针)。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
例:
int main()
{
int i = 0;
int n = 5;
for (i = 0; i < 10; i++)
{
if (i == n)
{
return;
}
printf("hi!\n");
}
printf("hi!\n");
}
return在执行到第六次的时候结束,直接结束函数,那么会有五次hi;
(4)continue
continue和break类似,都是结束循环,不过,没有break强大,他只能结束本次循环,也就是说,他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行。
例:
int main()
{
int i = 0;
int n = 5;
for (i = 0; i < 10; i++)
{
if (i == n)
{
continue;
}
printf("hehe!\n");
}
printf("hehe!\n");
}
continue是结束了第六次循环,所以是在循环内部执行了九次,循环外部一次,总共十次