C零基础课程-19-do-while循环、for循环、break与continue

除了while循环外,C语言中还提供了do...while及for循环另外两种循环语句

do...while循环

do...while循环的语法为:

do
{
    循环体语句;
}while(条件表达式);
知识兔

使用do...while打印0到9:

#include <stdio.h>

int main(int argc, char* argv[])
{
    int i = 0;
    do
    {
        printf("%d\r\n", i);
        i++;
    } while (i < 10);
    return 0;
}
知识兔

for循环

for循环的基本语法结构:

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

其中

  • 语句1为for循环开始前会执行的初始化语句
  • 语句2为每次循环开始前,用作判断循环是否继续的条件表达式
  • 语句3为每次循环结束后(下一次循环是否执行判断前)要执行的语句,一般用于步进
    使用for循环打印0到9:
#include <stdio.h>

int main(int argc, char* argv[])
{
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        printf("%d\r\n", i);
    }
    return 0;
}
知识兔

for循环中的语句1-3并不要求一定存在,如以下for循环功能类似while(1):

#include <stdio.h>

int main(int argc, char* argv[])
{
    for (;;)
    {
        printf("循环体\r\n");
    }
    return 0;
}
知识兔

break与continue

在循环体内部,可以使用break或者continue语句。

  • break:跳出当前循环体
  • continue:提前结束本次循环,进入下一次循环是否继续的判断
#include <stdio.h>

int main(int argc, char* argv[])
{
    int nInput = 0;
    printf("食堂吃饭选项:\r\n1.正常饭菜\r\n2.虫子\r\n3.石头或者吃饱了\r\n");

    while (1)
    {
        scanf("%d", &nInput);
        if (nInput == 1)
        {
            printf("遇到了正常饭菜\r\n");
        }
        else if (nInput == 2)
        {
            printf("遇到了虫子\r\n");
            continue;
        }
        else if (nInput == 3)
        {
            printf("遇到了石头或者吃饱了\r\n");
            break;
        }

        printf("把刚刚的东西吃了\r\n");
    }
    printf("循环结束\r\n");
    return 0;
}
知识兔
计算机