1、switch语句的功能:
根据给定条件从多个分支语句序列中选择一个作为执行入口。其更容易地从大型列表中进行选择。
2、switch的通用格式:
switch(表达式)
{
case 1 : 语句体1;
break;
case 2 : 语句体2;
break;
...
case n : 语句体n;
break;
default : 语句体n+1;
break;
}
注意:
(1)switch语句判断表达式的值是否与case后的值相等,若相等,执行对应case之后的语句;当case之后的语句都不执行时,执行default后面的语句。
(2)default可写可不写,switch里面都是case语句也可以。
(3)switch语句就像指路牌,例如:如果执行switch,值为4,则程序执行标签为case 4;
(4)若表达式不与任何标签匹配时,则程序将跳到标签为default的那一行。
3、C++中case标签只是行标签,而不是选项之间的界线。其中程序不会在执行到下一个case处自动停止,要让程序执行完一组特定语句后停止,必须使用break语句。
4、代码演示,分别输入1,2,3,4,5的结果
#include <iostream>
using namespace std;
void showenu(void);
void report(void);
void confort(void);
int main(void)
{
showenu();
int choice;
cin >> choice;
while (choice != 5)
{
switch (choice)
{
case 1: cout << "warning!" << endl;
break;
case 2: report();
break;
case 3: cout << "The boss was in all day." << endl;
break;
case 4: confort();
break;
default:cout << "That's not a choice." << endl;
break;
}
showenu();
cin >> choice;
}
cout << "Bye!" << endl;
return 0;
}
void showenu(void)
{
cout << "Please enter 1,2,3,4,5:" << endl;
cout << "1)alarm 2)report" << endl;
cout << "3)alibi 4)comfort" << endl;
cout << "5)quit" << endl;
}
void report(void)
{
cout << "Your are the boss!" << endl;
}
void confort(void)
{
cout << "Your are robot!" << endl;
}