C语言中的分支循环语句(循环语句)

本文详细介绍了C语言中的循环结构,包括while、for、do-while三种基本循环,以及break和continue控制语句的用法。特别强调了while和do-while的区别,以及循环结构在编程中的应用场景和注意事项。
摘要由CSDN通过智能技术生成

前言

    在上文我为大家介绍了选择结构的分类及其用法,而本篇,将为大家介绍循环结构的分类及其用法。

(前文链接:C语言中的分支循环语句(分支语句)-CSDN博客

在循环结构中,主要包括:

    1 循环语句  while循环  for循环  do-while循环(循环体)goto循环

    2 break语句  continue语句

一.循环语句

1.1 while循环(当形循环)

    while语法结构如下:

while(判断表达式){

语句

}

    其中,while 中的 判断表达式 与前文中 if 的 判断表达式 用法相同,甚至可以说,后面循环语句中的 所有 判断表达式 用法相同。但对于 循环语句 来说,当 判断表达式  为非零时,会执行 循环语句 内的 语句 。但与 分支语句 只执行一次不同,循环语句 会一直执行其内部语句, 直到

 判断表达式 为 零 时 跳出 循环语句(下文循环语句用法相同)  

    如果没有看懂,没关系。下面一个例子我会给大家说明 while 是怎么使用的。

#include <stdio.h>
int main(){
//计算1+2+...+9+10
int n = 10;
int i = 1;
int sum = 0;
while(i<=n){
sum = sum + i;
i++;
}
printf("%d",sum);
return 0;
}

其中,while中  循环条件  是 i 小于或等于 n(即循环10次),而在循环体内,将i的值加到sum上来实现求和,最后 i 自增。

注意:

如果没有特殊要求(例如需要实现多次输入之类需要 死循环 的要求),循环体的 判断表达式 最终结果都是 零 。以便跳出循环来执行下面的语句块。

1.2do-while循环 (直到型循环)

    do-while语法结构如下:

do{

语句块

}while(判断表达式

    与 while循环 大体相同,唯一区别就是 do-while循环 是先执行循环内的语句后,在进行执行 判断表达式 ()。如下图所示:

                                    

两个循环体的不同用途:

  • 由于while循环在进入循环体之前检查条件,所以它通常用于那些条件一开始就不满足的循环,这样可以避免一次不必要的函数调用或计算。
  • 由于do-while循环在循环体执行后检查条件,所以它更适用于至少执行一次循环体的场景,即使条件最初为假。

 下面是一个问题的两种解法的例子:

// 使用while循环  
int i = 0;  
while (i < 5) {  
    printf("%d\n", i);  
    i++;  
}  
// 输出: 0, 1, 2, 3, 4  
  
// 使用do-while循环  
int j = 0;  
do {  
    printf("%d\n", j);  
    j++;  
} while (j < 5);  
// 输出: 0, 1, 2, 3, 4

     在第一个例子中,我们使用 while循环 从0打印到4。

     在第二个例子中,我们使用 do-while循环 从0打印到4。

(本人习惯)大多数情况都是使用while循环,do-while本人不常用。

 1.3 goto循环(不推荐观看与使用)

 goto 是许多编程语言中的一个关键字,它用于控制程序的流程。当程序遇到 goto 语句时,控制会直接跳转到指定的标签处,跳过中间的代码。

以下是一个简单的例子,展示了 goto 在 C 语言中的用法:

#include <stdio.h>  
  
int main() {  
    int i = 0;  
      
loop:   // 这是标签  
    if (i < 5) {  
        printf("当前数字:%d\n", i);  
        i++;  
        goto loop;  // 跳转到标签 "loop" 处  
    }  
      
    return 0;  
}

    在上面的例子中,程序会不断地打印数字直到 i 达到 5。goto 语句将使程序跳转回标签 loop,从而重复整个循环。

    尽管 goto 在某些情况下可以用来简化代码,但过度或不当地使用 goto 通常会使代码变得难以理解和维护。因此,许多现代编程风格和最佳实践建议避免使用 goto,除非在某些特定的、可预测的场景中(例如错误处理或资源清理)。

1.4 for循环

    for语法结构如下:

for (初始化语句; 条件语句; 后续语句)

{

循环体

}

初始化语句:在循环开始之前执行一次。它通常用于设置循环计数器或为循环变量分配初值。

条件语句:每次循环开始时检查一次。如果条件为真(非零),则执行循环体;如果条件为假(零),则退出循环。

后续语句:每次循环结束后执行一次。它通常用于更新循环变量或执行其他需要在每次循环后进行的操作。

 下面是一个简单的例子,使用for循环打印数字1到5:

#include <stdio.h>  
  
int main() {  
    int i;  
    for (i = 1; i <= 5; i++) {  
        printf("%d\n", i);  
    }  
    return 0;  
}

在这个例子中:

初始化语句 i = 1,它将变量 i 设置为1。

条件语句 i <= 5,只要 i 的值小于或等于5,就会执行循环体。

后续语句 i++,在每次循环结束后将 i 的值增加1。

二.控制语句(break与continue)

2.1 break语句

    在C语言中,break语句 用于在 循环switch语句提前终止循环跳出switch语句。当break语句 执行时,它会 立即终止 当前循环 或 switch语句的执行,并跳转到循环或switch语句之后的下一个语句。

下面是一个示例,演示了break语句在循环中的使用(对于switch使用,上篇有讲,此处不在提及):

#include <stdio.h>

int main() {
    int i;

    for (i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        printf("%d ", i);
    }

    printf("\n");

    return 0;
}

    在这个示例中,我们使用for循环从0循环到9,但是当i等于5时,我们使用break语句终止循环。因此,当i等于5时,循环立即终止,并跳出循环,输出结果为`0 1 2 3 4`。

2.2 continue语句

    continue语句 用于在循环中跳过当前循环并开始下一次循环。它的作用是 终止当前的循环,直接 进入 下一次循环。

示例:

#include <stdio.h>

int main() {
    int i;
    for (i = 1; i <= 10; i++) {
        if (i == 5) {
            continue; // 当i等于5时跳过当前循环,开始下一次循环
        }
        printf("%d ", i);
    }
    return 0;
}

    在上面的示例中,我们使用for循环1到10的数字。当i等于5时,continue语句被执行,会跳过当前循环,直接进行下一次循环。因此,输出结果将会是1 2 3 4 6 7 8 9 10。

注意

continue语句 只能用在 循环语句 中,如for循环、while循环和do-while循环等。

制作不宜,还望多多支持QWQ。

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值