一、break语句
break语句是用于结束当前一层循环的语句,其效果如下:
while(表达式1)
···
if(表达式2) break;
···
}
循环后的第一条语句;
或
do
···
if(表达式2) break;
···
}while(表达式1);
循环后的第一条语句;
或
for(;表达式1;)
{
···
if(表达式2) break;
···
}
循环后的第一条语句;
以上的程序中,当执行到break语句的时候,会强制结束当前循环并跳到循环后的第一条语句。
其中有几点需要注意:
(1)break语句只能用于由while语句,do-while语句和for语句构成的循环结构中和switch选择语句中。
(2)在嵌套循环的情况下,break语句只能终止并跳出包含它的最近一层循环体。如果想跳出最外层的循环体,可以通过设置一标志变量tag,然后在每层循环后面加上一条语句:if(tag) break;
当它的值为真时就会跳出循环体,例如:
int tag=0;
for(···)
{
while(···)
{
···
if(···) {tag=1;break;}
···
}
if(tag) break;
···
}
for循环后的第一条语句;
如图,当中间的while循环体里面的 if 符合条件时,会给tag赋值 1 ,并且用break跳出while循环体,而此时for循环体中的tag能被激活并再次break到for循环后,从而实现跳出最外层循环。
二、continue语句
continue语句与break语句不同,当在循环体中遇到continue语句时,程序会跳过continue后面尚未执行的语句,但是继续开始循环,所以它只是结束本次循环的执行,并不结束整个循环的执行。
以上面第一个例子为例:
while(表达式1)
···
if(表达式2) continue;
···
}
循环后的第一条语句;
此时continue语句不会跳到“循环后的第一条语句”,而是在while循环体的末尾,之后再次开始循环。
除此之外,continue语句也有一些注意事项:
(1)continue语句只能用于由while语句,do-while语句和for语句构成的循环结构中。
(2)continue语句在嵌套时只能对包含它的最内层循环体起作用。
三、goto语句
goto语句也被称为无条件转移语句,其一般格式为:
goto 语句标号;
···
语句标号:···
或
语句标号:···
···
goto 语句标号;
这两个程序都是当读取到goto语句时,去寻找与之有相同语句标号的语句,并从那里开始继续执行。注意标号不能重名。
四、exit()函数
exit()函数的作用是终止整个程序的执行,强制返回到操作系统。当程序执行的必要条件不满足时,常常用到exit()函数。但是调用该函数需要嵌入头文件 stdlib.h
当exit()函数的括号内的值是 0 时,表示程序正常退出;当它为非零值时,表示程序异常退出,即出现了某种错误后退出。
例如,当你想写一个程序来判断三条边能不能组成三角形时,可以这样写:
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a,b,c;
printf("Input the length of three edges of triangle:");
scanf("%f%f%f",&a,&b,&c);
if(a<=0||b<=0||c<=0)
{
printf("Error!");
exit(-1);
}
if(a+b>c&&a+c>b&&b+c>a)
printf("It is a triangle.");
return 0;
}
当你输入了负值的时候,程序就会提示错误并退出。
完
标签:语句,循环体,goto,continue,break,while,循环,exit From: https://blog.csdn.net/2402_88427700/article/details/143456991