在C++编程中,循环语句和跳转语句是非常重要的控制结构。循环语句允许重复执行一段代码,而跳转语句允许在程序执行过程中改变执行的流程。本篇笔记将介绍C++中常用的循环语句和跳转语句,并通过例子进行说明。
C++ 编程语言提供了以下几种循环类型。点击链接查看每个类型的细节。
循环类型 | 描述 |
---|---|
while 循环 | 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 |
for 循环 | 多次执行一个语句序列,简化管理循环变量的代码。 |
do…while 循环 | 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 |
嵌套循环 | 您可以在 while、for 或 do…while 循环内使用一个或多个循环。 |
for循环是一种常用的循环结构,它允许指定初始条件、循环条件和循环后的操作。
#include
int main() {
for (int i = 1; i <= 5; i++) {
std::cout << "当前数字: " << i << std::endl;
}
return 0;
}
输出结果:
当前数字: 1
当前数字: 2
当前数字: 3
当前数字: 4
当前数字: 5
在上述案例中,使用for循环打印出数字1到5。
while循环在循环开始之前先判断循环条件,只要条件为真,就会执行循环体。
#include
int main() {
int i = 1;
while (i <= 5) {
std::cout << "当前数字: " << i << std::endl;
i++;
}
return 0;
}
输出结果:
当前数字: 1
当前数字: 2
当前数字: 3
当前数字: 4
当前数字: 5
在上述案例中,使用while循环打印出数字1到5。
do-while循环先执行循环体,然后再判断循环条件,如果条件为真,就继续执行循环。
#include
int main() {
int i = 1;
do {
std::cout << "当前数字: " << i << std::endl;
i++;
} while (i <= 5);
return 0;
}
输出结果:
当前数字: 1
当前数字: 2
当前数字: 3
当前数字: 4
当前数字: 5
在上述案例中,使用do-while循环打印出数字1到5。
循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。
C++ 提供了下列的控制语句。点击链接查看每个语句的细节。
控制语句 | 描述 |
---|---|
break 语句 | 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。 |
continue 语句 | 引起循环跳过主体的剩余部分,立即重新开始测试条件。 |
goto 语句 | 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
break语句用于跳出循环,它可以提前终止循环的执行。
#include
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
std::cout << "当前数字: " << i << std::endl;
}
return 0;
}
输出结果:
当前
数字: 1
当前数字: 2
在上述案例中,当i等于3时,break语句会终止循环的执行。
continue语句用于跳过当前循环中剩余的代码,直接进入下一次循环迭代。
#include
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
std::cout << "当前数字: " << i << std::endl;
}
return 0;
}
输出结果:
当前数字: 1
当前数字: 2
当前数字: 4
当前数字: 5
在上述案例中,当i等于3时,continue语句会跳过当前循环,直接进行下一次循环迭代。
return语句用于提前终止函数的执行,并返回一个值(如果函数的返回类型不是void
)。
#include
int findSquare(int num) {
if (num < 0) {
std::cout << "输入的数字无效!" << std::endl;
return -1;
}
return num * num;
}
int main() {
int result1 = findSquare(5);
int result2 = findSquare(-2);
std::cout << "结果1:" << result1 << std::endl;
std::cout << "结果2:" << result2 << std::endl;
return 0;
}
输出结果:
结果1:25
输入的数字无效!
结果2:-1
在上述案例中,当输入的数字小于0时,return语句会提前终止函数的执行,并返回-1。
如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。
实例
#include
using namespace std;
int main ()
{
for( ; ; )
{
printf("This loop will run forever.\n");
}
return 0;
}
当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C++ 程序员偏向于使用 for(; 结构来表示一个无限循环。
**注意:**可以按 $Ctrl + C $ 键终止一个无限循环。
让通过一个经典案例来综合应用前面介绍的知识。将创建一个计算阶乘的程序,用户可以输入一个正整数,程序会计算并输出该数字的阶乘。
#include
int main() {
int num;
int factorial = 1;
std::cout << "请输入一个正整数:";
std::cin >> num;
if (num < 0) {
std::cout << "输入的数字无效!" << std::endl;
return 0;
}
for (int i = 1; i <= num; i++) {
factorial *= i;
}
std::cout << num << "的阶乘为:" << factorial << std::endl;
return 0;
}
在上述案例中,首先获取用户输入的正整数,然后使用for循环计算该数字的阶乘,并将结果输出到控制台。
这是C++学习笔记中循环语句和跳转语句的内容。通过学习和练习,可以掌握如何使用循环和跳转语句来控制程序的执行流程和实现各种复杂的逻辑。记得不断练习和实践,以提升你的C++编程技能。
⭐️希望本篇文章对你有所帮助。
⭐️如果你有任何问题或疑惑,请随时向我们提问。
⭐️感谢阅读!