程序流程控制:循环与条件语句详解
立即解锁
发布时间: 2025-08-17 01:58:59 阅读量: 1 订阅数: 3 

### 程序流程控制:循环与条件语句详解
在编程中,循环和条件语句是控制程序流程的重要工具。它们能让程序根据不同的条件执行不同的操作,或者重复执行某些代码块。下面将详细介绍几种常见的循环和条件语句。
#### 循环的基本概念
循环是指在程序中重复执行某一代码块的结构。每次执行循环体的过程称为一次迭代。常见的循环类型有`while`循环、`do-while`循环和`for`循环。
#### while 循环
`while`循环会在给定条件为真时重复执行一组语句。其基本语法如下:
```cpp
while (条件表达式) {
// 循环体
}
```
以下是一个简单的`while`循环示例,用于显示 0 到 99 的数字:
```cpp
int x = 0;
while (x < 100) {
std::cout << x << "\n";
x++;
}
```
在这个例子中,只要`x`小于 100,循环体就会不断执行,每次执行时会输出`x`的值,并将`x`加 1。当`x`等于 100 时,条件表达式为假,循环结束。
如果没有`x++`语句,`x`的值将始终为 0,循环将永远不会结束,这被称为无限循环。为了避免无限循环,需要确保循环条件最终会变为假。
下面是一个使用`while`循环显示小于 500 的 13 的倍数的程序:
```cpp
#include <iostream>
int main() {
int counter = 0;
while (counter < 500) {
counter++;
if (counter % 13 == 0) {
std::cout << counter << " ";
}
}
std::cout << "\n";
return 0;
}
```
这个程序的执行流程如下:
1. 初始化`counter`为 0。
2. 检查`counter`是否小于 500,如果是,则进入循环体。
3. 在循环体中,`counter`加 1。
4. 检查`counter`是否能被 13 整除,如果能,则输出`counter`的值。
5. 重复步骤 2 - 4,直到`counter`不小于 500。
#### 跳出循环
在循环中,可以使用`break`语句立即终止循环,而不必等待循环条件变为假。以下是一个使用`break`语句显示前 20 个 14 的倍数的程序:
```cpp
#include <iostream>
int main() {
int counter = 0;
int multiples = 0;
while (true) {
counter++;
if (counter % 14 == 0) {
std::cout << counter << " ";
multiples++;
}
if (multiples > 19) {
break;
}
}
std::cout << "\n";
return 0;
}
```
在这个程序中,`while (true)`创建了一个无限循环。当`multiples`变量的值超过 19 时,`break`语句会终止循环。
需要注意的是,无限循环(如`while (true)`)如果没有正确的退出条件,会导致程序永远运行下去。可以使用`Ctrl + C`来终止无法自行结束的程序。
#### 继续下一次循环
`continue`语句可以跳过当前循环的剩余部分,直接开始下一次迭代。以下是一个使用`continue`语句显示前 20 个 15 的倍数的程序:
```cpp
#include <iostream>
int main() {
int counter = 0;
int multiples = 0;
while (multiples < 19) {
counter++;
if (counter % 15 != 0) {
continue;
}
std::cout << counter << " ";
multiples++;
}
std::cout << "\n";
return 0;
}
```
在这个程序中,如果`counter`不能被 15 整除,`continue`语句会跳过`std::cout << counter << " ";`和`multiples++;`这两行代码,直接开始下一次循环。
#### do-while 循环
`do-while`循环与`while`循环的区别在于,`do-while`循环会先执行一次循环体,然后再检查条件。其基本语法如下:
```cpp
do {
// 循环体
} while (条件表达式);
```
以下是一个`do-while`循环的示例:
```cpp
int x = 60;
do {
std::cout << x << "\n";
x++;
} while (x < 50);
```
在这个例子中,尽管初始条件`x < 50`为假,但循环体仍然会执行一次,输出`x`的值 60。这是因为`do-while`循环会先执行循环体,再检查条件。
下面是一个使用`do-while`循环根据用户输入显示指定次数的“Badger”的程序:
```cpp
#include <iostream>
int main() {
int badger;
std::cout << "How many badgers? ";
std::cin >> badger;
do {
std::cout << "Badger ";
badger--;
} while (badger > 0);
std::cout << "\n";
return 0;
}
```
这个程序的执行流程如下:
1. 提示用户输入一个整数`badger`。
2. 执行循环体,输出“Badger”,并将`badger`减 1。
3. 检查`badger`是否大于 0,如果是,则继续执行循环体;否则,循环结束。
#### for 循环
`for`循环是一种更简洁的循环结构,它将初始化、条件判断和计数器更新三个步骤合并在一个语句中。其基本语法如下:
```cpp
for (初始化; 条件表达式; 计数器更新) {
// 循环体
}
```
以下是一个使用`for`循环显示 13 个“X”的示例:
```cpp
for (int x = 0; x < 13; x++) {
std::cout << "X";
}
std::cout << "\n";
```
在这个例子中,`int x = 0`是初始化部分,`x < 13`是条件表达式,`x++`是计数器更新部分。每次循环开始时,会先检查条件表达式,如果为真,则执行循环体,然后更新计数器。
下面是一个使用`for`循环创建用户输入数字的乘法表的程序:
```cpp
#include <iostream>
int main() {
int number;
std::cout << "Enter a number: ";
std::cin >> number;
std::cout << "\nFirst 10 Multiples of " << number << "\n";
for (int counter = 1; counter < 11; counter++) {
std::cout << number * counter << " ";
}
std::cout << "\n";
return 0;
}
```
这个程序的执行流程如下:
1. 提示用户输入一个整数`number`。
2. 输出提示信息“First 10 Multiples of [number]”。
3.
0
0
复制全文
相关推荐










