switch-case
if语句
if ( type==1 ) printf("你好");
else if ( type==2) printf("早上好");
else if ( type==3 ) printf("晚上好");
else if ( type==4 ) printf("再⻅见");
else printf("啊,什么啊?");
switch-case语句
switch ( type )
{ case 1:
printf("你好");
break;
case 2:
printf("早上好");
break;
case 3:
printf("晚上好");
break;
case 4:
printf("再⻅见");
break;
default: printf("啊,什么啊?"); }
• 控制表达式只能是整数型的 结果
• 常量可以是常数,也可以是常数计算的表达式 //例如2+2
• 根据表达式的结果,寻找匹配的case,并执⾏行case后⾯面的语句,⼀一直到break为止。
• 如果所有的case都不匹配,那 么就执⾏行default后⾯面的语句; 如果没有default,那么就什么 都不做
![](https://img.haomeiwen.com/i4612913/a5fcfbed73ecd9d6.png)
• switch语句可以看作是⼀一种基于计算的 跳转,计算控制表达式的值后,程序会 跳转到相匹配的case(分⽀支标号)处。 分⽀支标号只是说明switch内部位置的路 标,在执⾏行完分⽀支中的最后⼀一条语句后, 如果后⾯面没有break,就会顺序执⾏行到下 ⾯面的case⾥里去,直到遇到⼀一个break,或 者switch结束为⽌止。
//printf("输⼊入成绩(0-100)");
int grade;
scanf("%d", &grade);
grade /=10; switch ( grade ) {
case 10:
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n"); break;
case 6:
printf("D\n");
break;
default:
printf("F\n"); break; }
//scanf后面不要加\n
#include
int main()
{
printf("请输入月份:");
int month;
scanf("%d", &month);
switch ( month )
{
case 1: printf("January\n"); break;
case 2: printf("February\n"); break;
case 3: printf("March\n"); break;
case 4: printf("April\n"); break;
case 5: printf("May\n"); break;
case 6: printf("June\n"); break;
case 7: printf("July\n"); break;
case 8: printf("August\n"); break;
case 9: printf("September\n"); break;
case 10:printf("October\n"); break;
case 11:printf("November\n"); break;
case 12:printf("December\n"); break;
}
return 0;
}
这个用数组的方式,写的可以更漂亮。
网友评论