switch语句形式
switch(表达式)//注:表达式只能是字符型(char)或整型的(short int int long int)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
default:
语句3;
break;
}
将表达式的结果与case后的常量表达式的值一一对比,相当于从当前case语句处进入执行,直到遇到break跳出switch语句。
如果忘记写break,例如:
switch(表达式)
{
case 常量表达式1:
语句1;
如果这块忘记写break;
case 常量表达式2:
语句2;
break;
default:
语句3;
break;
}
则若常量表达式1满足,它会执行语句1,并不会管下面的case 常量表达式,再执行语句2,直到遇到break,然后跳出,显示结果为语句1和语句2。
案例:
键盘输入1-7,判断是星期几
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int data = 0;
cout<<"请输入1-7的数值:";
cin>>data;
if(data<1 || data>7)
{
cout<<"输入的是无效值,请输入1-7的数值"<<endl;
return 0;
}
switch(data)
{
case 1:
cout<<"星期一"<<endl;
break;
case 2:
cout<<"星期二"<<endl;
break;
case 3:
cout<<"星期三"<<endl;
break;
case 4:
cout<<"星期四"<<endl;
break;
case 5:
cout<<"星期五"<<endl;
break;
case 6:
cout<<"星期六"<<endl;
break;
case 7:
cout<<"星期七"<<endl;
break;
}
}