首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言、循环结构

C语言、循环结构

原创
作者头像
xieliyu
发布于 2026-09-20 21:45:53
发布于 2026-09-20 21:45:53
1180
举报

        C语⾔是结构化的 程序设计 语⾔,结构指的是顺序结构、选择结构、循环结构,今天我们要学的是循环结构。其实想一下我们日常生活中的习惯,每天都要去做的一个事情,是否相当于一个循环呢?

C语言中循环分类:     for循环while循环和do-while 循环

一、for循环

        for循环是我们在写代码过程中使用最多的一个循环。

for循环的语法形式如下:

代码语言:cobol
复制
#include<stdio.h>int main(){for(表达式1;表达式2;表达式3)    {//里面是执行语句    }return 0;}

        如果循环体想包含更多的语句,可以加上花括号。

    表达式1:用于循环变量的初始化。

    表达式2:用于循环结束条件的判断。

    表达式3:用于循环变量的调整。

 for循环的执行流程:

        首先执行的是表达式1初始化循环变量,接下来执行的是表达式2,判断这个变量是否满足条件,表达式为真执行循环,表达式为假,结束循环。

        表达式为真的时候,进入循环,循环里面的语句执行完之后,再去执行表达式3,调整循环变量,然后再去用表达式2进行判断,为真则执行,为假循环结束。

        整个循环过程中表达式1初始化部分只被执行一次,剩下的就是在表达式2、循环、表达式3里面循环。

for循环的实践:

        当我们想在屏幕上面打印1~9的数字的时候,就能用到循环。

代码语言:cpp
复制
#include<stido.h>int main(){    int i =1;for(i=1;i<10;i++)    {printf("%d ",i);    }return 0;}

       下面为打印出来的效果。

二、while循环

while循环的语法形式如下:

代码语言:cpp
复制
#include<stdio.h>int main(){    while(表达式)    {        语句;    }return 0;}

while循环执行流程:

        首先执行的是while()括号里面的判断表达式,表达式为真进入循环,表达式为假则不进入循推。环,循环结束;循环体里面的语句执行完之后再次进入while循环()里面进行判断,为真则进入表达式,为假不进入;以此类推,直到判断为假结束循环。

        同理我们用while循环在屏幕上面打印我们的1~9数字。

代码语言:cpp
复制
#include<stdio.h>int main(){int i = 1;while(i<=10)    {printf("%d ",i);        i++;    } rerurn 0;}

三、 do-while 循环

 do-while循环的语法形式:

代码语言:cpp
复制
#include<stdio.h>int main(){do  {   语句;  }while(判断);return 0;}

do-while循环的执行流程:

        在do-while循环中先执行的是do花括号{ }里面的语句,然后再去while括号()里面判断是否满足条件,为真则进入循环,为假则退出循环,循环结束。

        在do-while循环里面语中循环体是至少执行一次的,这是do-while与for、while循环的特殊点。

do-while循环的实例:

        同理打印1~9的数字在屏幕上。

代码语言:cpp
复制
#include<stdio.h>int main(){int i =1;do    {printf("%d ",i);        i++;    }while(i<=10);return 0;}

        ⼀般情况下 do while 使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些。

        谈完我们的循环,那么我们就要说说break与continue,这两个关键字。

break与continue语句:

        在循环过程中,有些情况需要提前终止,这个过程在我们写代码中是很常见的现象。C语言里面提供了这两个关键字,是应用在循环中的。

        break:作用是在这个循环过程中永久性的终止循环,只要break被执行,就会跳出循环(终止循环),然后继续向下执行。

        continue:作用是跳过continue后面所以的代码。在for循环与while循环里面有所差异。

while循环中的break和continue

break:

#include<stdio.h>int main(){int i =1;while(i<10) {if(i==6) {break; }printf("%d ",i); i++; }return 0;}

        当想让循环在什么条件下终止循环的时候,我们就能用我们的break语句。

continue:

代码语言:cpp
复制
#include<stdio.h>int main(){int i =1;while(i<10)    {if(i==6)        {continue;        }printf("%d ",i);        i++;    }return 0;}

       当i==6的时候执行continue, 会造成无线循环(死循环),因为continue将循环里后面的语句全部跳过了,无法使变量i不断增加,不断进行判断,造成死循环。

for循环中的break和continue:

break#include<stdio.h>int main(){ int i =1;for(i=1;i<10;i++) { if(i==6) {break; }printf("%d ",i); }return 0;}

        

        其实可以看见,break在for循环内和while循环内是相同的。

continue:

代码语言:cpp
复制
#include<stido.h>int main(){    int i =1;for(i=1;i<10;i++)    {    if(i==6)        {break;        }printf("%d ",i);    }return 0;}

        这⾥ continue 跳过了后边的打印,来到了 i++ 的调整部分,而不是结束循环。continue跳过的是循环体内的代码。

do-while中的break和continue:

break:

代码语言:cpp
复制
#include<stdio.h>int main(){int i =1;do    {    if(i==6)        {break;        }printf("%d ",i);        i++;    }while(i<=10);return 0;}

do-while中的continue:

代码语言:cpp
复制
#include<stdio.h>int main(){int i =1;do    {    if(i==6)        {continue;        }printf("%d ",i);        i++;    }while(i<=10);return 0;}

        可以看见do-while循环中这个代码加上continue变成死循环了,原因是:continue讲循环体内的代码跳过了,i++不会执行,而i会一直小于等于6,不断进行判断,造成死循环。

        这三种循环能够相互嵌套。这就是循环嵌套。

简单的循环嵌套:

        找出100~200之间的素数,并打印在屏幕上。

        注:素数⼜称质数,只能被1和本⾝整除的数字。

代码语言:cpp
复制
#include <stdio.h>int main(){int i = 0;for(i=1;i<=100;i++)       {int j =0;int flat =1;for(j =2;j<i;j++)            {if(i % j == 0)                {                 flag = 0;break;                }            }if(flag == 1)            {printf("%d ", i);            }       }return 0;}

        这就是简单的循环嵌套。

        最后还有一种是go to 语句

go to 语句

        C语⾔提供了⼀种⾮常特别的语法,就是从go to语句和跳转标号,go to语句可以实现在同一个函数内内跳转到设置好的标号处。

代码语言:cpp
复制
#include<stdio.h>int main(){    for(......)        {for(......)                {for(......)                    {                        go to error;                        }                }        }    return 0;}error;......

        本来for循环用break只能跳出一重循环,但是用go to 能跳出多重循环,能跳到你想要跳到的位置。所以这种情况下用go to语句比较快捷。

        好了,讲到这里我们的循环就已经全部讲完了。

                                                                                                            谢谢大家的观看!!!

                                                                                                                       ---正在不断进步的菜鸟

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档