📅  最后修改于: 2023-12-03 15:05:26.775000             🧑  作者: Mango
SWITCH
语句是一种常见的条件分支语句,它可以根据一个表达式的值来决定程序执行哪一段代码。SWITCH
语句与IF-ELSE
语句不同,它的分支关系是固定的,即每个分支只能与一个特定的值匹配。本文将介绍 SWITCH
语句的语法和规则。
SWITCH
语句的一般形式如下:
switch(expression){
case value1:
// some statements
break;
case value2:
// some statements
break;
case valueN:
// some statements
break;
default:
// some statements
}
其中,expression
是需要被匹配的表达式,它可以是任何类型,例如整数、字符、字符串等。case
部分表示每个分支需要匹配的值,是常量表达式。如果 expression
的值与其中的某个 value
的值相等,则会执行该分支下的代码。最后的 default
是可选的,用来处理没有匹配到任何分支时的情况。
当程序执行 SWITCH
语句时,会首先计算 expression
的值。接下来,程序会逐个检查 case
分支,如果有分支的值与 expression
值相等,则进入该分支执行相应的代码,直到遇到 break
关键字或语句块结束。如果没有与 expression
值相等的分支,则会执行 default
代码块,如果没有 default
块,程序会直接跳过 SWITCH
语句。如果在分支中没有出现 break
关键字,程序会继续执行下一个分支的代码,直到遇到 break
或 SWITCH
结束。
以下是一个 SWITCH
语句的示例程序,展示了 SWITCH
语句的执行规则。
#include <stdio.h>
int main () {
int val = 3;
switch (val)
{
case 1:
printf("Value is 1\n");
break;
case 2:
printf("Value is 2\n");
break;
case 3:
printf("Value is 3\n");
case 4:
printf("Value is 4\n");
break;
default:
printf("Unknown value\n");
}
return 0;
}
运行输出为:
Value is 3
Value is 4
可以看到,代码输出了 Value is 3
和 Value is 4
,这是因为在 case 3
中没有出现 break
关键字,导致程序继续执行了下一个分支的代码。
SWITCH
语句是一种常见的条件分支语句,它可以根据一个表达式的值来决定程序执行哪一段代码。当程序执行 SWITCH
语句时,会逐个检查 case
分支,如果有分支的值与 expression
值相等,则进入该分支执行相应的代码,直到遇到 break
关键字或语句块结束。如果没有与 expression
值相等的分支,则会执行 default
代码块,如果没有 default
块,程序会直接跳过 SWITCH
语句。在使用 SWITCH
语句时,需要注意每个 case
分支的值必须是常量表达式,否者会导致编译错误。