1.认识:

switch 用于开关语句

case 声明开关语句的分支

break 跳出当前循环

default 开关语句的其他分支

常量包括:整型常量、实型常量、符号常量、字符型常量

2.一般形式:

swich(表达式)

{

case常量1: 语句1 ;break;

case 常量2: 语句2;braak;

case 常量n:语句n;break;

default 语句n+1;break;

}

3.语义:

首先计算 表达式,如果表达式的结果与某个常量值相等,则执行该常量值所对应的语句(遇到break则跳出整个循环),否则执行default 所对应的语句(若不存在default,则什么也不做)。

4.注意:

(1)switch用于Int /char/long/long long类型的变量和多个特定常量的判别处理,不能用于float和double类型,但可以经过数据类型转换后再使用。

(2)在case后的各常量表达式的值不能相同,否则会出现错误。

(3)不是每一个case都需要包含break.如果case语句不包含break,则继续执行后续的case,直到遇 到break为止。

(4)一个switch语句可以有一个default(也可以没有),出现在switch的结尾。default可用于上面所有case 都不为真时执行。

(5)如果每个case语句中都存在break语句,则各 case 和 default 子句的先后顺序的变动,不会影响程序执行结果。

5.简单举例:

#includemain(){int k;scanf("%d",&k);switch(k){ case 1: printf("a"); break; case 2: printf("b"); break; default: printf("c"); break;}} 

输入 2输出 b

#includemain(){ int k; scanf("%d",&k); switch(k) {case 1: printf("a"); break;case 2: printf("b");default: printf("c"); break; }}

输入2输出bc(语句2没有break,则继续向下执行)

#includemain(){ int k; scanf("%d",&k); switch(k) {case 1: printf("a"); break;default: printf("c"); break; case 2: printf("b");break; }}

输入2 输出b(default 位置不影响执行结果)