目录
2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。
5.1.5 for与break 、continue、goto(跳转语句)
5.1 逻辑控制语句
本节主要学习关于C++逻辑控制的一些语句的用法,结合实践代码总结一下。
5.1.1 if以及if - else(条件语句)
1.if语句:
if(条件){
执行语句;
}
//一旦执行if语句,先判断()里的条件是否满足,返回真、假;真则执行下面的执行语句,
//假则执行 if(){} 中 “}” 后面的内容
2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。
例如:
if (条件) {
// 如果条件为真,执行这里的代码
} else {
// 如果条件为假,执行这里的代码
}
5.1.2 if - else if(条件语句)
摘抄自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;
}
5.1.3 Switch(条件语句)
分支语句(switch语句):根据不同的情况选择执行不同的代码块。
switch (表达式) {
case 值1:
// 如果表达式的值与值1匹配,执行这里的代码
break;
case 值2:
// 如果表达式的值与值2匹配,执行这里的代码
break;
// 可以有更多的case
default:
// 如果表达式的值与任何case都不匹配,执行这里的代码
}
5.1.4 For循环(迭代语句)
for循环:通过指定初始条件、循环条件和每次循环后的操作来控制循环执行。
for (初始条件; 循环条件; 每次循环后的操作) {
// 在循环条件为真时执行这里的代码
}
5.1.5 for与break 、continue、goto(跳转语句)
1. break 语句
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
2.continue语句
- 当在循环内部遇到continue语句时,当前迭代会被跳过,转到下一次迭代。
- continue语句适用于for循环、while循环和do-while循环。
示例:
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
cout << i << " ";
}
3.goto语句
goto语句无条件跳转到同一函数内的另一条语句
for (int i = 0; i < 5; i++) {
if (i == 2) {
goto skip;
}
cout << i << " ";
}
skip:
cout << "Skipped";
5.1.6 for循环嵌套for
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
5.1.7 While循环(迭代语句)
- 循环语句:用于重复执行一段代码块,直到满足指定条件。
-
while循环:在每次循环之前检查给定条件是否为真,如果为真,则执行代码块。
while (条件) {
// 在条件为真时执行这里的代码
}
do-while循环:先执行一次代码块,然后再检查给定条件是否为真,如果为真,则继续执行代码块。
do {
// 在条件为真时执行这里的代码
} while (条件);