C++ Switch 语句
使用 switch 语句选择要执行的多个代码块之一。
语法
1switch(expression) { 2 case x: 3 // 代码块 4 break; 5 case y: 6 // 代码块 7 break; 8 default: 9 // 代码块 10}
它的工作原理如下:
switch表达式被评估一次- 表达式的值与每个
case的值进行比较 - 如果找到匹配项,则执行关联的代码块
break和default关键字是可选的
下面的示例使用星期几的数字来计算星期几的名称:
示例
1int day = 4; 2switch (day) { 3 case 1: 4 cout << "Monday"; 5 break; 6 case 2: 7 cout << "Tuesday"; 8 break; 9 case 3: 10 cout << "Wednesday"; 11 break; 12 case 4: 13 cout << "Thursday"; 14 break; 15 case 5: 16 cout << "Friday"; 17 break; 18 case 6: 19 cout << "Saturday"; 20 break; 21 case 7: 22 cout << "Sunday"; 23 break; 24} 25// 输出 "Thursday"(星期四,对应 day 为 4)
break 关键字
当 C++ 遇到 break 关键字时,它会跳出 switch 块。这将停止更多代码和 case 测试的执行。
当找到匹配项并完成工作时,是时候休息一下了。不需要进行更多的测试。
break 可以节省大量的执行时间,因为它“忽略”了 switch 块中其余代码的执行。
default 关键字
default 关键字指定如果没有 case 匹配时要运行的一些代码。
C++ While 循环
循环可以在达到指定条件时执行一段代码块。
循环非常方便,因为它们节省时间,减少错误,并且使代码更易读。
C++ While 循环
while 循环通过一个指定条件为 true 时循环执行代码块:
语法
1while (condition) { 2 // 要执行的代码块 3}
在下面的示例中,只要变量(i)小于 5,循环中的代码就会一遍又一遍地运行:
示例
1int i = 0; 2while (i < 5) { 3 cout << i << "\n"; 4 i++; 5}
注意:不要忘记增加条件中使用的变量,否则循环将永远不会结束!
C++ Do/While 循环
do/while 循环是 while 循环的变体。这个循环会在检查条件是否为 true 之前执行一次代码块,然后只要条件为 true,就会重复执行循环。
语法
1do { 2 // 要执行的代码块 3} while (condition);
下面的示例使用了 do/while 循环。即使条件为 false,代码块也会至少执行一次,因为在测试条件之前会执行代码块:
示例
1int i = 0; 2do { 3 cout << i << "\n"; 4 i++; 5} while (i < 5);
C++ For 循环
当你确切知道你要循环执行一段代码的次数时,使用 for 循环而不是 while 循环:
语法
1for (语句 1; 语句 2; 语句 3) { 2 // 要执行的代码块 3}
- 语句 1 在执行代码块之前执行一次。
- 语句 2 定义了执行代码块的条件。
- 语句 3 在代码块执行后执行(每次)。
下面的示例将打印数字 0 到 4:
示例
1for (int i = 0; i < 5; i++) { 2 cout << i << "\n"; 3}
示例解释
- 语句 1 在循环开始前设置一个变量(
int i = 0)。 - 语句 2 定义了循环运行的条件(
i必须小于 5)。如果条件为 true,则循环将重新开始,如果为 false,则循环将结束。 - 语句 3 每次代码块执行后增加一个值(
i++)。
另一个示例
此示例将只打印 0 到 10 之间的偶数值:
1for (int i = 0; i <= 10; i = i + 2) { 2 cout << i << "\n"; 3}
嵌套循环
还可以在另一个循环中放置一个循环。这被称为嵌套循环。
“内部循环”将在“外部循环”的每次迭代中执行一次:
1// 外部循环 2for (int i = 1; i <= 2; ++i) { 3 cout << "外部:" << i << "\n"; // 执行 2 次 4 5 // 内部循环 6 for (int j = 1; j <= 3; ++j) { 7 cout << " 内部:" << j << "\n"; // 执行 6 次(2 * 3) 8 } 9}
foreach 循环
还有一个“foreach 循环”(在 C++ 版本 11(2011)中引入),它专门用于遍历数组(或其他数据集)中的元素:
语法
1for (类型 变量名 : 数组名) { 2 // 要执行的代码块 3}
以下示例使用“foreach 循环”输出数组中的所有元素:
示例
1int myNumbers[5] = {10, 20, 30, 40, 50}; 2for (int i : myNumbers) { 3 cout << i << "\n"; 4}
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
