C++学习第七课:控制程序流程
在C++中,控制程序流程是编程逻辑的核心部分,它决定了程序的执行顺序。本课我们将介绍C++中的各种控制流程语句,包括条件语句、循环语句以及如何使用它们遍历多维数组和计算斐波那契数列。
控制流程语句
if...else
语句
用于基于条件执行不同的代码块。
int a = 10;
if (a > 5) {
std::cout << "a is greater than 5" << std::endl;
} else {
std::cout << "a is less than or equal to 5" << std::endl;
}
有条件的 if
if
语句可以是有条件的,这意味着它仅在给定条件为真时执行代码块。
if (condition) {
// 当条件为真时执行
}
嵌套的 if...else
if
语句可以嵌套在另一个 if
或 else
语句中,以创建更复杂的逻辑。
if (a > 5) {
if (a < 10) {
std::cout << "a is between 5 and 10" << std::endl;
}
} else {
std::cout << "a is less than or equal to 5" << std::endl;
}
switch-case
语句
用于根据变量的值执行不同的代码块。
char grade = 'A';
switch (grade) {
case 'A': std::cout << "Excellent"; break;
case 'B': std::cout << "Good"; break;
case 'C': std::cout << "Average"; break;
default: std::cout << "Fail"; break;
}
三元运算符 ?:
一个简化的条件表达式,格式为 condition ? value_if_true : value_if_false
。
int max = (a > b) ? a : b;
goto
语句
允许程序跳转到程序中标记的另一部分,通常不推荐使用,因为它可能导致代码难以理解和维护。
goto end; // 跳转到标记为end的位置
end:
std::cout << "This is the end of the program" << std::endl;
while
循环
重复执行代码块,直到条件不为真。
int i = 0;
while (i < 5) {
std::cout << i << " ";
i++;
}
do...while
循环
至少执行一次代码块,然后重复执行,直到条件不为真。
int i = 0;
do {
std::cout << i << " ";
i++;
} while (i < 5);
for
循环
一种更常见的循环结构,常用于遍历数组。
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
continue
和 break
continue
跳过当前循环的剩余部分,并立即开始下一次循环。break
立即退出循环。
for (int i = 0; i < 5; i++) {
if (i == 2) continue; // 跳过2
if (i == 3) break; // 退出循环
std::cout << i << " ";
}
无限循环和控制循环
无限循环可以使用 while
(while (true)
) 或 for
(for (;;)
) 来实现。
while (true) {
// 永远执行的代码
}
遍历多维数组
使用嵌套循环可以遍历多维数组。
int multiArray[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << multiArray[i][j] << " ";
}
std::cout << std::endl; // 换行
}
计算斐波那契数列
斐波那契数列是每一项都是前两项和的数列,通常定义为:F(0) = 0, F(1) = 1, 且对于 n > 1, 有 F(n) = F(n-1) + F(n-2)。
#include <iostream>
int main() {
int n = 10; // 计算斐波那契数列的前10项
int first = 0, second = 1;
std::cout << first << " " << second << " "; // 输出前两项
for (int i = 2; i < n; i++) {
int next = first + second;
std::cout << next << " ";
first = second;
second = next;
}
std::cout << std::endl;
return 0;
}
结语
通过本课的学习,你了解了C++中的控制流程语句,包括条件语句、循环语句、特殊语句(如 continue
和 break
)以及如何使用它们遍历多维数组和计算斐波那契数列。
控制流程语句是编程中不可或缺的部分,它们允许你根据程序的需要控制程序的执行流程。掌握这些基础知识对于编写结构良好、逻辑清晰的程序至关重要。