C++ 中的控制结构是用于控制程序流程的关键构造。它们允许程序根据特定条件来执行不同的代码块,或者重复执行某段代码。以下是 C++ 中主要的控制结构:
1. 顺序结构
顺序结构是程序中最基本的结构,即按照代码的书写顺序,从上到下逐行执行。
2. 选择结构
选择结构允许程序根据某个条件选择执行不同的代码块。
a. if 语句
cpp复制代码
|
if (condition) { |
|
// 当 condition 为真时执行的代码块 |
|
} |
b. if-else 语句
cpp复制代码
|
if (condition) { |
|
// 当 condition 为真时执行的代码块 |
|
} else { |
|
// 当 condition 为假时执行的代码块 |
|
} |
c. switch 语句
cpp复制代码
|
switch (variable) { |
|
case constant1: |
|
// 当 variable 等于 constant1 时执行的代码块 |
|
break; |
|
case constant2: |
|
// 当 variable 等于 constant2 时执行的代码块 |
|
break; |
|
default: |
|
// 当 variable 不等于任何 case 常量时执行的代码块 |
|
} |
3. 循环结构
循环结构允许程序重复执行某段代码,直到满足某个条件为止。
a. for 循环
cpp复制代码
|
for (initialization; condition; update) { |
|
// 循环体,重复执行的代码块 |
|
} |
b. while 循环
cpp复制代码
|
while (condition) { |
|
// 循环体,当 condition 为真时重复执行的代码块 |
|
} |
c. do-while 循环
cpp复制代码
|
do { |
|
// 循环体,至少执行一次的代码块 |
|
} while (condition); |
4. 跳转结构
跳转结构用于改变程序的正常执行流程。
a. break 语句
break 语句用于跳出当前循环或 switch 语句。
cpp复制代码
|
for (int i = 0; i < 10; ++i) { |
|
if (i == 5) { |
|
break; // 当 i 等于 5 时跳出循环 |
|
} |
|
// 循环体 |
|
} |
b. continue 语句
continue 语句用于跳过当前循环的剩余部分,进入下一次循环。
cpp复制代码
|
for (int i = 0; i < 10; ++i) { |
|
if (i == 5) { |
|
continue; // 当 i 等于 5 时跳过当前循环的剩余部分 |
|
} |
|
// 循环体 |
|
} |
c. goto 语句
goto 语句用于无条件跳转到程序中的指定标签位置。不过,由于 goto 语句可能导致程序流程混乱,通常不推荐使用。
cpp复制代码
|
goto label; |
|
// ... |
|
label: |
|
// 跳转到这里的代码 |
5. 异常处理结构
异常处理结构用于在程序出错时执行特定的代码块。
a. try-catch 语句
cpp复制代码
|
try { |
|
// 尝试执行的代码块,可能抛出异常 |
|
} catch (type1 exception1) { |
|
// 当捕获到 type1 类型的异常时执行的代码块 |
|
} catch (type2 exception2) { |
|
// 当捕获到 type2 类型的异常时执行的代码块 |
|
} |
|
// ... 可以有多个 catch 块 |
这些控制结构提供了灵活的方式来控制程序的执行流程,使程序能够根据不同的条件和情况作出相应的响应。在编写复杂的 C++ 程序时,合理地使用这些控制结构是非常重要的。