switch语句
流程图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWtfIeIb-1611143041369)(E:\博客\switch语句\switch.gif)]
-
语法
switch (x) {
case 表达式1:
语句1
break;
case 表达式2:
语句2
break;
case 表达式3:
语句3
break;
default表达式1:
语句1
break;
}
-
switch: 用于int/char/long/long long 类型的变量,和多个特定常量的判断处理。
(float和double类型不可以)
示例
#include <iostream>
using namespace std;
int main(void) {
int month = 0;
cout << "请输入月份:";
cin >> month;
switch (month) {
case 1:
cout << "有31天" << endl;
break;
case 2:
cout << "有28天" << endl;
break;
case 3:
cout << "有31天" << endl;
break;
case 4:
cout << "有30天" << endl;
break;
case 5:
cout << "有31天" << endl;
break;
case 6:
cout << "有30天" << endl;
break;
case 7:
cout << "有31天" << endl;
break;
case 8:
cout << "有31天" << endl;
break;
case 9:
cout << "有30天" << endl;
break;
case 10:
cout << "有31天" << endl;
break;
case 11:
cout << "有30天" << endl;
break;
case 12:
cout << "有31天" << endl;
break;
default:
cout << "输入错误,没有" << month << "月份" << endl;
}
}
上面写法可能会臃肿,可以变成以下的写法
#include <iostream>
using namespace std;
int main(void) {
int month = 0;
cout << "请输入月份:";
cin >> month;
switch (month) {
case 2:
cout << "有28天" << endl;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout << "有31天" << endl;
break;
case 4:
case 6:
case 9:
case 11:
cout << "有30天" << endl;
break;
default:
cout << "输入错误,没有" << month << "月份" << endl;
}
}