break语句的作用就是跳出循环语句,然后执行这一循环语句的下一语句。前面介绍的循环语句都是在执行循环语句时,通过对一个表达式的测定来决定是否终止对循环体的执行。
break语句的格式如下:
break;
跳出switch结构
在前面的选择结构中,我们知道switch-case语句的执行流程是:首先计算switch后面的圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,依次执行下去。如果这样就得不到我们想要的结果。我们想要的是若圆括号中表达式的值与某个case后面的常量表达式相等,就执行此case后面的语句,然后就跳出switch-case语句,不执行其他case后面的常量表达式,因此这里需要用到break语句。
示例:输入考试成绩的等级,打印出百分制分数段(A等:85分以上,B等:70~84分,C等:60~69分,D等:60分以下)。
#include <stdio.h>
void main()
{
char grade; /*定义一个字符型变量*/
scanf("%c", &grade); /*输入一个字符型的值*/
switch (grade) /*判读输入的值*/
{
case 'A':
printf("85~100\n");
case 'B':
printf("70~84\n");
case 'C':
printf("60~69\n");
case 'D':
printf("<60\n");
default:
printf("Error\n");
}
}
程序运行时,当输入:A↙
程序运行的结果为:
85~100
70~84
60~69
<60
Error
上例中,我们只想知道字母‘A’所表示的百分制分数段,但是输出的结果却是所有的分数段,这时使用break语句来停止执行不符合要求的case语句。
上例修改如下:
#include <stdio.h>
void main()
{
char grade; /*定义一个字符型变量*/
scanf("%c", &grade); /*输入一个字符型的值*/
switch (grade) /*判读输入的值*/
{
case 'A':
printf("85~100\n");
break;
case 'B':
printf("70~84\n");
break;
case 'C':
printf("60~69\n");
break;
case 'D':
printf("<60\n");
break;
default:
printf("Error\n");
break;
}
}
程序运行时,当输入:A↙
程序运行的结果为:
85~100
跳出循环结构
break语句可以用来从循环体内跳出,break语句用于强制结束执行的程序。下面我们将最常用的while语句和for语句中break跳转方式用流程图表示出来,方便大家理解,如图所示。
执行过程就是跳出break语句所在循环体语句,而转向下一语句,继续执行程序。break语句只能用于循环语句和switch语句。使用break语句需要注意的问题如下。
评论前必须登录!
注册