当前位置:首页 > 课程体系 > 正文

005. while循环

while 循环

while 循环是一种前测试循环,即在每次循环迭代之前检查循环条件。如果条件为真,则执行循环体;如果条件为假,则跳过循环体。

基本语法

cpp
运行
while (condition) {
    // 循环体
    // 循环体中的语句会在条件为真时重复执行
}

示例代码

cpp
运行
#include <iostream>
using namespace std;
int main() {
    int a = 1, n = 6; 
    while (a <= n) {
        cout << "循环次数: " << a << endl;  
        a = a + 1; // 等价于 a += 1 或 a++;
    }
    return 0;
}


在这个示例中,只要 a 小于等于 n,循环体就会执行。每次循环结束后,a 的值增加 1。

2. do-while 循环

do-while 循环是一种后测试循环,即先执行一次循环体,然后再检查循环条件。如果条件为真,则继续执行循环体;如果条件为假,则结束循环。

基本语法

cpp
运行
do {
    // 循环体
    // 循环体中的语句至少会执行一次} while (condition);

示例代码

cpp
运行
#include <iostream>
using namespace std;
int main() {
    int n;
    cin >> n;
    int a = 1;
    do {
        cout << "循环执行中" << endl;	
        a++;
    } while (a <= n);
    return 0;
}


在这个示例中,无论 n 的值是多少,循环体至少会执行一次。

3. 前 ++ 和后 ++ 的区别

  • 前 ++ (++a):先将变量的值加 1,然后再使用变量的值。

  • 后 ++ (a++):先使用变量的值,然后再将变量的值加 1。

示例代码

cpp
运行
#include <iostream>
using namespace std;
int main() {
    int a = 5;
    // 后++示例
    cout << a++ << endl; 	// 输出 5 
    cout << a << endl;		// 输出 6 

    int b = 5;
    // 前++示例
    cout << ++b << endl; 	// 输出 6
    cout << b << endl;		// 输出 6

    return 0;
}

4. while(n--) 的用法

while(n--) 是一种常见的用法,它会在每次循环迭代之前检查 n 的值是否为真(非零),然后再将 n 的值减 1。当 n 减到 0 时,循环条件变为假,循环结束。

示例代码

cpp
运行
#include <iostream>
using namespace std;
int main() {
    int n, t, MAX = 0; 
    cin >> n;
    while (n--) {
        cin >> t;
        if (t > MAX) MAX = t;
    }
    cout << "最大值是: " << MAX << endl;
    return 0;
}


在这个示例中,程序会读取 n 个整数,并找出其中的最大值。每次循环迭代时,n 的值会减 1,直到 n 变为 0 时循环结束。

5. 其他示例:数字反转输出

cpp
运行
#include <iostream>
using namespace std;
int main() {
    int n; 
    cin >> n;
    while (n != 0) {
        cout << n % 10 << " ";
        n /= 10;
    }
    cout << endl;
    return 0;
}


这个示例通过 while 循环将输入的整数的每一位数字反转输出。每次循环中,使用 n % 10 取出最后一位数字,然后使用 n /= 10 将 n 除以 10 去掉最后一位数字,直到 n 变为 0。


上一篇
004. 分支结构

下一篇
006. for循环

有话要说...