您的位置:首页 > 编程语言 > C语言/C++

Switch

2015-08-31 20:29 507 查看

Switch

switch表达式

switch(表达式)
{
case 常量 :
语句;
break;
case 常量 :
语句;
break;

...
default :
语句;
break;(default放在最后是,此break可省略)
}


switch语句注意点:

Switch的条件表达式必须是返回整数的表达式, 也就是说()中只能放整数;或者写能够转换为整数的类型也可以, 例如char, 因为char类型可以转换为int类型, 所以写char也可以;

switch中default可以随便放,总会最后执行,若放在case前.那么break将不能省略,否则会出现穿透问题;

switch在结构完整的情况下比if效率高;

巧用穿透,提高效率,例如:

switch(monthValue)
{
case 12:
case 1:
case 2:
printf("您输入的月份为:冬季");
break;
case 3:
case 4:
case 5:
printf("您输入的月份为:春季");
break;
case 6:
case 7:
case 8:
printf("您输入的月份为:夏季");
break;
case 9:
case 10:
case 11:
printf("您输入的月份为:秋季");
break;
default:
printf("您输入的月份有误:请输入1 ~ 12 之间的数值");
break;

}


switch中case的取值问题:

case后面只能放返回值是整数的表达式或者整数, 或者能够转换为整数的类型;

case的取值不能重复;

case后面不能放变量;(因为系统在编译的时候会对Switch后面所有的case进行优化,会根据case后面的常量值,生成一张取值表);

swith中default的位置问题:

Switch中的default可以随便放

无论default写到什么地方,它都会最后执行(只有前面所有的case都不满足的情况才会执行);

只要某一个case满足,那么后面所有的case和default都会失效;同理:只要default满足, 那么所有的case都会失效;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  switch c语言