本文共 1811 字,大约阅读时间需要 6 分钟。
C++多分支选择结构
switch语句是C++中实现多分支选择的重要语句,类似于其他编程语言中的switch语句,但在语法细节上有一些差异。switch语句的基本结构如下:
switch(表达式) { case 常量表达式1: 语句1; case 常量表达式2: 语句2; ... case 常量表达式n: 语句n; default: 语句n+1; }
switch语句后面的括号内的表达式可以是任意类型,并且多个case可以共享同一组执行语句。具体来说,当switch表达式的值与某个case子句中的常量表达式相同时,就会执行该case子句后面的语句。
需要注意的是,所有case子句中的常量表达式必须不同,否则会导致矛盾。此外,case和default的顺序不影响执行结果,读者可以将default放在任意位置。
在执行switch语句时,根据表达式的值找到对应的case子句后,从该case子句开始执行,不再进行其他判断。要跳出switch语句,可以使用break语句。
以下是一个实际案例:判断某年是否为闰年,并判断该年的某月有多少天。
#include
int main() { int year, month; cout << "输入年份和月份(年月之间用空格隔开):"; cin >> year >> month;
if (month < 1 || month > 12) { cout << "输入的月份不存在。"; return 1;} else { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0)) { cout << "年是闰年。"; mon = 1; } else { cout << "年是平年。"; mon = 2; }}switch(month) { case 1: cout << "你输入的1月有31天。"; break; case 2: if (mon == 1) { cout << "你输入的2月有29天。"; } else { cout << "你输入的2月有28天。"; } break; case 3: cout << "你输入的3月有31天。"; break; case 4: cout << "你输入的4月有30天。"; break; case 5: cout << "你输入的5月有31天。"; break; case 6: cout << "你输入的6月有30天。"; break; case 7: cout << "你输入的7月有31天。"; break; case 8: cout << "你输入的8月有31天。"; break; case 9: cout << "你输入的9月份有30天。"; break; case 10: cout << "你输入的10月有31天。"; break; case 11: cout << "你输入的11月有30天。"; break; case 12: cout << "你输入的12月有31天。"; break; default: cout << "输入有误!"; break;} }
运行本程序时,输入年份和月份,年月之间用空格隔开。例如:
输入2020 10
2020年是闰年。
你输入的10月有31天。
以上内容可以根据实际需求进行修改和扩展,帮助读者更好地理解switch语句的使用和应用场景。
转载地址:http://qdfb.baihongyu.com/