switch (IntegerExpression) { case ConstantExpression: //在这里放置一个或多个语句 case ConstantExpression: //在这里放置一个或多个语句 //case可被重复多次 default: //在这里放置一个或多个语句 }此类语句的第一行以单词 switch 开始,后面是括号内的整数表达式 Integer Expression。 这可以是以下两种之一:
case ConstantExpression: //在这里放置一个或多个语句在单词 case 之后是一个常量表达式 Constant Expression,它必须是整数类型,如 int 或 char,后面跟一个冒号。常量表达式可以是整型常数或整型命名常量。该表达式不能是一个变量(如 n==25),也不能是布尔表达式(如 x<22)。case 语句标记一段分支语句的开头,如果 switch 表达式的值与 case 达式的值匹配,则进入该分支。
请注意,与大多数语句块不同,这组语句不需要大括号,且块中每个 case 语句的表达式必须是唯一的。
在所有 case 语句后面的是可选的 default 部分。如果没有一个 case 表达式与 switch 表达式匹配,则进入该分支。因此,它的作用就像 if-else if 语句中的结尾 else。#include <iostream> using namespace std; int main() { char choice; cout << "Enter A, B, or C: "; cin >> choice; switch (choice) { case 'A' : cout<< "You entered A. \n"; break; case 'B' : cout << "You entered B. \n"; break; case 'C' : cout << "You entered C.\n"; break; default: cout << "You did not enter A, B, or C!\n"; } return 0; }程序输出结果:
Enter A, B, or C: B
You entered B.
注意,default 部分(如果没有 default 则是最后一个 case 部分)不需要 break 语句。当然有些程序员有强迫症,喜欢也放一个以保持一致。
下面程序是上面程序的修改版,它演示了如果忽略 break 语句会发生什么。#include <iostream> using namespace std; int main() { char choice; cout << "Enter A, B, or C: "; cin >> choice; switch (choice) { case 'A' : cout<< "You entered A. \n"; case 'B' : cout << "You entered B. \n"; case 'C' : cout << "You entered C.\n"; default: cout << "You did not enter A, B, or C!\n"; } return 0; }程序运行结果:
Enter A, B, or C: A
You entered A.
You entered B.
You entered C.
You did not enter A, B, or C!
#include <iostream> using namespace std; int main() { char feedGrade; //Get the desired grade of feed cout << "Our dog food is availablein three grades:\n"; cout << "A, B, and C. Which do you want pricing for? "; cin >> feedGrade; // Find and display the price switch(feedGrade) { case 'a': case 'A': cout << "30 cents per pound.\n"; break; case 'b': case 'B': cout << "30 cents per pound.\n"; break; case 'c': case 'C': cout << "15 cents per pound.\n"; break; default : cout << "That is an invalid choice.\n"; } return 0; }程序输出结果:
Our dog food is available in three grades:
A, B, and C. Which do you want pricing for? b
20 cents per pound.
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有