通知图标

欢迎访问津桥芝士站

基础篇03-2——循环语句

来自AI助手的总结
本文详细介绍了C语言中的三种循环语句:for、while和do-while,包括它们的语法、示例及使用场景。

在C语言中,循环语句允许我们重复执行某段代码,直至满足特定条件。掌握循环的使用方法是成为有效程序员的重要一步。本文将详细介绍三种常用的循环语句:for 循环、while 循环和 do-while 循环,并提供示例及其使用细节,帮助C语言初学者更好地理解和应用它们。

1. for循环

for循环是最常用的循环语句之一,适用于已知循环次数的情况。for循环具有清晰的结构,包含三个部分:初始化表达式、循环控制表达式和增值表达式。以下是for循环的基本语法:

for (初始化表达式; 循环控制表达式; 增值表达式) {
    // 循环体
}

1.1 示例:打印1到n的数字

假设我们希望打印从1到n的所有整数,可以使用for循环来实现。以下是示例代码:

#include <stdio.h>

int main() {
    int i, n;

    // 输入正整数n
    printf("请输入一个正整数n:");
    scanf("%d", &n);

    // 使用for循环打印1到n
    for (i = 1; i <= n; i++) {
        printf("%d\n", i);
    }

    return 0;
}

1.2 执行过程

在这段代码中,循环的执行过程如下所示:

  1. 初始化:首先执行 i = 1,这将变量i初始化为1。
  2. 判断:接下来,执行循环控制语句 i <= n。如果条件为真(即i小于等于n),就执行循环体。
  3. 循环体:打印当前的i值。
  4. 增值:执行增值表达式 i++,将i的值加1。
  5. 重复:返回到步骤2,直到循环控制条件为假(即当i大于n时)。

1.3 灵活使用

for循环中的三个表达式可以根据需要灵活调整。以下示例展示了如何不使用初始化和增值表达式来实现相同的功能:

#include <stdio.h>

int main() {
    int n = 10; // 规定循环次数
    int i = 0;

    for (;;) { // 无限循环
        if (i >= 10) 
            break; // 当i >= 10时退出循环
        printf("%d\n", i);
        i++;
    }

    return 0;
}

在这个例子中,for循环是无限的,依靠break语句来控制退出。

1.4 遇到的关键字:break 和 continue

  • break语句:用于立即终止当前循环。
  • continue语句:用于跳过当前循环的余下语句,并开始下一个循环。

以下是使用 breakcontinue 的示例:

#include <stdio.h>

int main() {
    int i, n;    
    printf("请输入一个正整数n:");
    scanf("%d", &n);
    
    // 使用break示例
    for (i = 1; i <= n; i++) {
        if (i == 6) 
            break; // 当i为6时,退出循环
        printf("%d\n", i);
    }

    printf("使用continue示例:\n");
    // 使用continue示例
    for (i = 1; i <= n; i++) {
        if (i == 6)
            continue; // 当i为6时,跳过当前循环的输出
        printf("%d\n", i);
    }

    return 0;
}

2. while循环

while循环适用于在不知道具体循环次数的情况下执行循环。与for循环相比,while循环将初始化语句放在循环外部。其基本语法如下:

while (循环控制表达式) {
    // 循环体
    // 需要在循环体内改变控制变量
}

2.1 示例:倒计时

以下代码实现一个简单的倒计时,从10打印到1:

#include <stdio.h>

int main() {
    int n = 10; // 倒计时起始值
    while (n > 0) {
        printf("%d\n", n);
        n--; // 每次循环减少n的值
    }
    return 0;
}

2.2 执行过程

在这个例子中:

  1. 循环判断while (n > 0)会在每次执行循环体之前检查n的值。如果n大于0,程序将继续执行循环体。
  2. 循环体:打印当前的n值并将n减1,直到n变为0,循环终止。

2.3 注意事项

在使用while循环时,请务必确保在循环体内改变影响循环条件的变量。如果忘记了,可能会导致死循环,程序将无法停止运行。例如:

#include <stdio.h>

int main() {
    int n = 10;
    while (n > 0) {
        printf("%d\n", n);
        // 忘记减少n的值,导致死循环
    }
    return 0; // 这行永远无法被执行
}

3. do-while循环

do-while循环与while循环相似,但它保证至少执行一次循环体,因为条件判断发生在循环体之后。其基本语法如下:

do {
    // 循环体
} while (循环控制表达式);

3.1 示例:打印直到条件不满足

以下代码展示do-while循环的用法,确保循环体至少执行一次:

#include <stdio.h>

int main() {
    int n = 10;
    do {
        printf("此时的n=%d\n", n);
        n--; // 减小n的值
    } while (n > 0); // 循环直到n不大于0
    return 0;
}

3.2 执行过程

  1. 执行循环体:首先执行do块中的代码。
  2. 条件判断:然后检查控制表达式n > 0是否为真。如果为真,继续执行,下一个循环;如果为假,终止循环。

3.3 注意事项

while循环一样,在do-while循环中,也应确保适当地修改控制变量,以防出现死循环。

4. 总结

在C语言中,forwhiledo-while循环各有其适用场景:

  • for循环:适用于已知循环次数的情况,结构清晰,便于控制。
  • while循环:适合需要在循环前判断条件的情况,灵活性高,适用于不知道循环次数的场景。
  • do-while循环:最少执行一次适合场景,通常用于需要至少进行一次操作的情况。

同时,善用breakcontinue语句可以增强循环的控制能力,使代码的逻辑更加清晰。

请登录后发表评论

    没有回复内容