用途:主要用来解决多层if语句嵌套带来的可读性降低问题。
使用:switch(表达式)
{
case 常量表达式1:语句1;
.....
default :语句n+1;
}
说明;1.switch后面括号里的表达式可以是数值类型数据;
2.当switch表达式的值于某一个case子句中的常量表达式的值相匹配时,就执行次case子句的内嵌语句;
3.每一个case子句的常量表达式的值必须互不相同;
4.各case语句的出现顺序不影响执行结果;
5.执行完一个case语句后,流程转移到下一个case子句继续执行。case常量表达式 只是起语句标号的作用,并非在此处进行判断;在执行switch语句时,若某个case匹配成功,则其后的case顺序执行,不再进行匹配。
6.为了避免5中所说情况的出现,需在每条case语句后加break语句;
7.可以多条case语句公用一条子语句,只需在子语句后面加break语句即可。
源代码:
#include<iostream>
using namespace std;
int main()
{
int grade[10],i;
for(i=0;i<10;++i)
grade[i]=10*i;
for(i=0;i<10;++i)
switch(grade[i])
{
case 90:cout<<'A'<<endl;break;
case 80:cout<<'B'<<endl;break;
case 70:cout<<'C'<<endl;break;
case 60:cout<<'D'<<endl;break;
case 50:cout<<'E'<<endl;break;
case 40:cout<<'F'<<endl;break;
case 30:cout<<'G'<<endl;break;
case 20:cout<<'H'<<endl;break;
default:cout<<'I'<<endl;
}
system("pause");
return 0;
}