三大结构中的循环,简单来说就是不断重复做一件事,在C语言中给我们提供了三种语句来可以让我们来使用循环,他们分别是:

  • while
  • do-while
  • for

while循环

在C语言中,while循环语句是一种十分常用的循环语句,它的形式和if语句相似。while语句理比较容易理解,可读性也比较强,因此应用广泛。
while语句的一般形式:

while(表达式)    //while循环头
{
    语句        //while循环体
}

while

执行过程:
1.判断表达式的真假,求出表达式的值。
2.如果表达式的值不为0(为真),则执行语句,然后程序去执行步骤1,再次求出表达式的真假,如果表达式的值为0(为假),while循环结束。

示例:
求出0~100以内的数
思路:
1.定义变量表示循环次数
2.while循环的判断条件是否成立

#include <stdio.h>

int main()
{
    int counter = 0;        //定义变量,相当于计数
    while (counter < = 100) //判断条件
    {
        printf("counter = %d\n", counter);
        counter++;       //每执行一次循环体自加一次
    }
    return 0;
}

do-while循环

do-while循环语句是while循环语句的一个变体,虽然do-while语句于while语句类似,但两者执行循环体语句的顺序不同。while语句是对进入循环前进行判断,在执行循环体,而do-while语句是先去执行一次循环,在判断条件是否成立。
一般形式为:

do
{
    //循环体语句
}while(表达式);

注:在使用do-while语句时,条件要放在while关键字后面的括号内,而且在最后必须加分号。

do-while

输出0~100内的数:

int main()
{
    int counter = 0;          //定义变量,相当于计数
    do
    {
        printf("counter = %d\n", counter);
        counter++;          //每执行一次循环体自加一次
    } while (counter <= 100); //判断条件
    return 0;
}

for循环

一般形式

for循环是C语句中最为常见的一种循环语句,不仅功能强大,而且用法灵活,实现的循环结构逻辑清晰。
for循环可以分为两个部分,即for循环头和for循环体:

  • for循环头由关键字for和包含在一个括号内由分号隔开的3个表达式组成
  • 循环体可以是一条语句,也可以是包含在大括号在内的符合语句。

for语句的一般形式:

for(语句1;语句2;语句3)
{
    循环体语句
}

for

输出0~100内的数:

for (int counter = 0; counter <= 100; counter++)
{
    printf ("counter = %d\n", counter);
}

关于for的三个表达式

//for循环的三个语句执行顺序
for(printf("我是语句1");printf("我是语句2");printf("我是语句3"))
{
    printf("我是循环体");
}

我们看到输出结果如下:

for循环顺序

其中语句1执行了1次,其他语句循环执行,顺序为语句2,循环体,语句3。

说明

  • 表达式省略的问题

    • for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋值
    • 如果表达式2省略,即不判断循环条件,循环无终止的进行下去。
    • 表达式3可以省略,但此时程序设计者应使用别的方法保证循环正常结束。
    • 可以省略表达式1,表达式3,只有表达式2,即只有循环中的判断条件。
  • 表达式的填写问题

    • 表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式
    • 表达式2一般是关系表达式或者逻辑表达式,但也可以是任意表达式,只要其为非零,就执行循环体。
    • 表达式3一般是修改循环变量的语句,但也可以是任意表达式

break与continue

break:

break语句再switch-case语句中是跳出。break语句在循环体中是跳出循环。

continue:

对于continue来说,作用是跳过本次循环。

continue与break多与if连用。

break/continue

关于三个循环结构的选择

三种循环结构一般情况可以相互替代,一把在知道循环次数的时候我们选择使用for循环,不知道循环次数的时候使用while循环,看下面的情况:

int counter = 0;

for(;counter<=100;)
{
    printf("你好\n");
    counter++;
}


int  nNum = 0;
while (nNum <= 100)
{
    printf("%d", nNum);
    nNum++;
}
return 0;

do-while语句先执行循环体,在判断循环控制条件,循环体至少要被执行一次。
while和for语句先判断循环控制条件,再执行循环体,所以循环体可能一次也不被执行。

最后修改:2020 年 08 月 26 日
如果觉得我的文章对你有用,请随意赞赏