switch使用
switch(表达式)
{
case常量表达式1:
语句1;
break;
case常量表达式2:
语句2;
break;
……
case常量表达式n:
语句n;
break;
}
注意:switch后面的表达式是整形表达式,case后面的值,必须是整型常量表达式。!!!
if与switch的对比
输入一个整数值,计算除以3后的余数
#include<stdio.h>
int main(){
printf("if语句\n");
int n=0;
printf("请输入一个数\n");
scanf("%d",&n);
if(n%3==0)
printf("整除余数为0\n");
else if(n%3==1)
printf("余数为1\n");
else
printf("余数为2\n");
return 0;
}
#include<stdio.h>
int main(){
printf("switch语句\n");
int number=0;
printf("请输入一个数\n");
scanf("%d",&number);
switch(number%3)
{
case 0:
printf("整除余数为0\n");
break;
case 1:
printf("余数为1\n");
break;
case 2:
printf("余数为2\n");
break;
}
printf("\n");
return 0;
}
switch语句中的break
#include<stdio.h>
int main(){
int x=7;
printf("7%3\n");
switch(x%3)
{
case 0:
printf("整除余数为0\n");
case 1:
printf("余数为1\n");
case 2:
printf("余数为2\n");
}
printf("应为没有break,无法跳出语句\n");
printf("\n");
return 0;
}
答应出:余数是1;余数是2;
应为没有break,无法跳出语句
switch语句中的default
switch后面结果不是case常量表达式1,也不是case常量表达式2……的时候就直接执行defeult
输入不是1~7的值并输出错误
#include<stdio.h>
int main(){
int day=0;
printf("请输入1到7天中的一天\n");
scanf("%d",&day);
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("输入错误\n");
break;
}
return 0;
}
case和default的顺序
switch语句中case和default没有顺序要求,只要顺序满足实际需求。
#include<stdio.h>
int main(){
int day=0;
printf("请输入1到7天中的一天\n");
scanf("%d",&day);
switch(day)
{
default:
printf("输入错误\n");
break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
}
return 0;
}
练习
输入1~7的数并输出其相应的星期
#include<stdio.h>
int main(){
printf("输入1~7的数并输出其相应的星期\n");
int days=0;
printf("请输入1到7天中的一天\n");
scanf("%d",&days);
switch(days)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期七\n");
break;
default:
printf("输入错误\n");
break;
}
printf("\n");
return 0;
}
详细代码在git中可下载哦
git12221switch语句的应用/git12221/git221.cpp · 拿下C语言/jjlck - 码云 - 开源中国 (gitee.com)
个人主页还有其他代码