往期回顾:
一、前言
在上一篇文章学习中,我们了解了 C++ 程序的基本结构、注释、数据类型、变量以及输入输出的基本用法。这一篇,我们将继续深入学习 C++ 的控制结构和循环。
二、控制结构和循环
2.1、 条件语句
条件语句是编程中非常重要的一部分,它们允许程序根据特定的条件或条件组合来决定执行哪段代码。在C++中,条件语句是控制流的一种形式,用于根据表达式的值(真或假)来决定程序的执行路径。C++ 中常见的条件语句有 if
语句、else if
语句和 else
语句。
(1)if
语句
C++中最基本的条件语句是
if
语句。它允许程序检查一个条件,如果条件为真(即表达式的值为非零),则执行一段特定的代码块。如果条件为假(即表达式的值为零),则跳过该代码块,继续执行if
语句之后的代码。
示例:
#include <iostream>
int main() {
int age;
std::cout << "Enter your age: ";
std::cin >> age;
if (age >= 18) {
std::cout << "You are an adult." << std::endl;
}
return 0;
}
(2)else
语句
else
语句是可选的,它用于if
(或else if
)语句之后,以指定当所有前面的条件都不满足时应执行的代码块。这是一种确保至少有一段代码被执行的方法,无论条件如何。
示例:
#include <iostream>
int main() {
int age;
std::cout << "Enter your age: ";
std::cin >> age;
if (age >= 18) {
std::cout << "You are an adult." << std::endl;
} else {
std::cout << "You are not an adult." << std::endl;
}
return 0;
}
(3)else if
语句
else if
语句是if
语句的扩展,它允许程序检查多个条件。当第一个if
语句的条件不满足时,else if
语句会检查其条件,如果满足,则执行相应的代码块。这个过程可以重复进行,以检查多个条件。
示例:
#include <iostream>
int main() {
int score;
std::cout << "Enter your score: ";
std::cin >> score;
if (score >= 90) {
std::cout << "Grade: A" << std::endl;
} else if (score >= 80) {
std::cout << "Grade: B" << std::endl;
} else if (score >= 70) {
std::cout << "Grade: C" << std::endl;
} else {
std::cout << "Grade: F" << std::endl;
}
return 0;
}
2.2、循环语句
循环语句在C++中用于重复执行一段代码块,直到满足特定的条件为止。C++提供了三种基本的循环结构:for
循环、while
循环和do-while
循环,每种循环都有其特定的用途和语法。
(1)for
循环
for
循环是最常用的循环结构之一,它特别适用于当你知道循环需要执行的确切次数时。for
循环的语法如下:
for (初始化表达式; 循环条件; 更新表达式) {
// 循环体
}
初始化表达式: | 在循环开始前执行一次,通常用于初始化一个或多个循环控制变量。 |
循环条件: | 在每次循环开始前检查。如果条件为真(非零),则执行循环体;如果为假(零),则退出循环。 |
更新表达式: | 在每次循环体执行完毕后执行,通常用于更新循环控制变量的值。 |
示例:
#include <iostream>
int main() {
for (int i = 0; i < 5; i++) {
std::cout << "i = " << i << std::endl;
}
return 0;
}
(2)
while
循环
while
循环在给定条件为真时重复执行一段代码。与for
循环不同,while
循环没有内置的初始化或更新表达式;这些操作需要在循环体内部或通过其他方式完成。while
循环的语法如下:
while (循环条件) {
// 循环体
// 更新循环控制变量的值(通常在循环体内)
}
注意:如果循环条件在循环开始前就为假,则循环体一次也不会执行。
示例:
#include <iostream>
int main() {
int i = 0;
while (i < 5) {
std::cout << "i = " << i << std::endl;
i++;
}
return 0;
}
(3)do-while
循环
do-while
循环与while
循环类似,但主要区别在于do-while
循环至少会执行一次循环体,因为循环体的执行是在检查循环条件之前进行的。do-while
循环的语法如下:
do {
// 循环体
// 更新循环控制变量的值(通常在循环体内)
} while (循环条件);
注意:无论循环条件在循环开始前是否为真,do-while
循环的循环体都会至少执行一次。然后,在每次循环体执行完毕后,都会检查循环条件;如果条件为真,则继续执行循环体;如果为假,则退出循环。
示例:
#include <iostream>
int main() {
int i = 0;
do {
std::cout << "i = " << i << std::endl;
i++;
} while (i < 5);
return 0;
}
2.3、 跳转语句
跳转语句用于控制循环的执行,在循环结构中改变执行流程。break
和 continue
是两种常用的跳转语句,它们主要在循环(如 for
、while
、do-while
循环)中使用,但也可以在其他控制结构中(如 switch
语句)中看到 break
的使用。
(1)break
语句
break
语句用于完全终止当前所在的循环,即无论是哪种类型的循环,break
都会使程序控制流跳出该循环,并继续执行循环之后的语句。这在某些条件达成后希望提前退出循环时非常有用。
示例:
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
std::cout << "i = " << i << std::endl;
}
return 0;
}
(2)continue
语句
continue
语句用于跳过当前循环的剩余部分,并直接开始下一次循环的迭代(如果有的话)。这意味着continue
后面的所有语句在当前迭代中都不会被执行,程序控制流会回到循环的顶部,重新评估循环条件,并可能开始下一次迭代。
示例:
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
std::cout << "i = " << i << std::endl;
}
return 0;
}
注意:
|
break 可以用于 switch 语句中,用于退出整个 switch 块。 |
在嵌套循环中,break 只会退出最内层的循环。如果需要退出多层循环,可以考虑使用标签(在 Java、C# 等语言中)或其他逻辑控制手段。 |
continue 语句不适用于循环之外的任何地方,因为它是设计用来影响循环内部流程控制的。 |
以上就是 C++ 中的控制结构和循环基本用法的知识点了。
都看到这里了,点个赞再走呗朋友~
加油吧,预祝大家变得更强!