跳转至

循环

while 循环

while (条件) {
    // 条件为真时反复执行
}

示例:统计数字位数

#include <stdio.h>
int main()
{
    int x;
    int n = 1;
    scanf("%d", &x);
    x /= 10;
    while (x > 0) {
        n++;
        x /= 10;
    } 
    printf("X有%d位数\n", n);
    return 0;
}

过程分析:

输入 3527
x=3527, n=1

第1轮:x/=10 → x=352, 352>0? 是, n=2
第2轮:x/=10 → x=35,  35>0? 是, n=3
第3轮:x/=10 → x=3,   3>0? 是, n=4
第4轮:x/=10 → x=0,   0>0? 否 → 退出

输出: X有4位数

do-while 循环

do {
    // 至少执行一次
} while (条件);

区别:do-while 先执行一次再判断条件,至少执行一次。

// 用 do-while 统计位数(更简洁)
#include <stdio.h>
int main()
{
    int x;
    int n = 0;
    scanf("%d", &x);
    do {
        n++;
        x /= 10;
    } while (x > 0);
    printf("%d\n", n);
    return 0;
}

💡 while vs do-while 的选择: - 如果能确定条件在第一次就为假:选 while - 如果至少需要执行一次:选 do-while - 统计位数用 do-while 更简洁(x=0 时也输出 1 位数)