除了使用if...else语句来对多个条件进行判断和处理之外 ,C语言还提供switch语句来处理多分支选择结构。
一般形式为:
switch (表达式)
{
case 常量表达式1: 语句1
case 常量表达式2: 语句2
.
.
.
case 常量表达式n: 语句n
default: 语句n+1
}
其执行的过程如下:
计算表达式的值。
如果表达式的值与某个case后面的常量表达式i的值相等,则执行语句i。如果语句i后面没有break语句,则程序依次执行i+1,......,语句n,一直到语句n+1,结束switch语句。
如果表达式的值与任何一个case后面的常量表达式都不相等,当有default子句时,则执行default后面的语句,如果没有default子句,则结束switch语句。
说明:
在执行switch语句时,case后面的常量表达式仅起到一个语句标号的作用。当程序执行时,一旦找到了一个入口标号,就从此标号处开始执行,不再对其他标号进行判断。所以为了终止一个分支的执行,需要在相应的分支末位加一个break语句。
break语句的作用是终止当前switch语句的执行,使程序转向switch语句的下一条语句。其一般形式为
break;
使用例子如下:
输入1,则输出:
Monday
而如果我们不添加break;那么就会输出:
MondayTuesdayWednesdayThursdayFridaySaturdaySundayerror
这就是break的作用,当然具体是否使用还是得具体分析