目录
2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。
5.1.5 for与break 、continue、goto(跳转语句)
本节主要学习关于C++逻辑控制的一些语句的用法,结合实践代码总结一下。
- if(条件){
- 执行语句;
- }
-
- //一旦执行if语句,先判断()里的条件是否满足,返回真、假;真则执行下面的执行语句,
- //假则执行 if(){} 中 “}” 后面的内容
例如:
- if (条件) {
- // 如果条件为真,执行这里的代码
- } else {
- // 如果条件为假,执行这里的代码
- }
摘抄自c++primer5片段

if-else if语句的基本语法如下:
- if (条件1) {
- // 如果条件1为真,执行这里的代码
- } else if (条件2) {
- // 如果条件1为假且条件2为真,执行这里的代码
- } else if (条件3) {
- // 如果条件1和条件2均为假且条件3为真,执行这里的代码
- } else {
- // 如果所有条件均为假,执行这里的代码
- }
if-else if语句按照从上到下的顺序逐个检查条件,如果某个条件为真,则执行对应代码块,并跳过后面的条件。如果没有条件为真,则执行else代码块中的代码。
需要注意的是,if-else if语句只会执行一个条件为真的代码块。一旦某个条件为真,后面的条件将不再被检查。
以下是一个例子,演示了使用if-else if语句根据分数给出不同的评级:
- int score = 85;
- if (score >= 90) {
- cout << "优秀" << endl;
- } else if (score >= 80) {
- cout << "良好" << endl;
- } else if (score >= 60) {
- cout << "及格" << endl;
- } else {
- cout << "不及格" << endl;
- }
分支语句(switch语句):根据不同的情况选择执行不同的代码块。
- switch (表达式) {
- case 值1:
- // 如果表达式的值与值1匹配,执行这里的代码
- break;
- case 值2:
- // 如果表达式的值与值2匹配,执行这里的代码
- break;
- // 可以有更多的case
- default:
- // 如果表达式的值与任何case都不匹配,执行这里的代码
- }
for循环:通过指定初始条件、循环条件和每次循环后的操作来控制循环执行。
- for (初始条件; 循环条件; 每次循环后的操作) {
- // 在循环条件为真时执行这里的代码
- }
break 语句(break statement)负责终止离它最近的whiledo whilefor或switch语句,并从这些语句之后的第一条语句开始继续执行。
break 语句只能出现在迭代语或者 switch 语句内部(包括套在此类循环里的语句或块的内部)。break语句的作用范围仅限于最近的循环或者switch:
- for (int i = 0; i < 10; i++) {
- if (i == 5) {
- break;
- }
- cout << i << " ";
- }
输出:0 1 2 3 4
示例:
- for (int i = 0; i < 5; i++) {
- if (i == 2) {
- continue;
- }
- cout << i << " ";
- }
goto语句无条件跳转到同一函数内的另一条语句
- for (int i = 0; i < 5; i++) {
- if (i == 2) {
- goto skip;
- }
- cout << i << " ";
- }
-
- skip:
- cout << "Skipped";
for循环可以嵌套在另一个for循环内,这被称为for循环的嵌套。通过嵌套for循环,可以实现多重循环的结构,用于处理更复杂的任务。
嵌套for循环的基本语法如下:
- for (初始化语句1; 循环条件1; 更新语句1) {
- // 外层循环代码
-
- for (初始化语句2; 循环条件2; 更新语句2) {
- // 内层循环代码
- }
- // 外层循环代码
- }
在嵌套for循环中,外层循环执行一次时,内层循环会完整地执行完所有的迭代。然后外层循环再继续执行下一次迭代,内层循环又会重新开始执行所有的迭代。这样,内层循环的每一次迭代都会与外层循环的每一次迭代配对。
通过嵌套for循环,可以实现多维数组的遍历、二维图形的打印、九九乘法表等复杂的循环操作。在编写嵌套for循环时,需要注意内层循环的变量不应与外层循环的变量重名,以避免混淆和错误。
下面是一个例子,展示了一个简单的使用嵌套for循环打印九九乘法表的示例代码:
- for (int i = 1; i <= 9; i++) {
- for (int j = 1; j <= i; j++) {
- cout << j << " * " << i << " = " << i * j << "\t";
- }
- cout << endl;
- }
这段代码会输出如下的九九乘法表:
- 1 * 1 = 1
- 1 * 2 = 2 2 * 2 = 4
- 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
- 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
- 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
- 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
- 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
- 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
- 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
while循环:在每次循环之前检查给定条件是否为真,如果为真,则执行代码块。
- while (条件) {
- // 在条件为真时执行这里的代码
- }
do-while循环:先执行一次代码块,然后再检查给定条件是否为真,如果为真,则继续执行代码块。
- do {
- // 在条件为真时执行这里的代码
- } while (条件);