C 语言 while 和 do...while 循环

在本教程中,您将在示例的帮助下学习在C语言编程中创建while和do ... while循环。

在编程中,循环用于重复代码块,直到满足指定条件为止。

C语言编程具有三种类型的循环。

  1. for循环

  2. while循环

  3. do... while循环

在上一教程中,我们了解了for循环。在本教程中,我们将学习while和do..while循环。

while循环

while循环的语法为:

示例

cpp 复制代码
while (testExpression) 
{
    // 循环体中的语句 
}

while循环如何工作?

  • while循环计算在括号内测试表达式(testExpression)。

  • 如果测试表达式(testExpression)为true,则执行while循环体内的语句。然后,再次评估测试表达式(testExpression)。

  • 该过程一直进行到测试表达式(testExpression)被评估为false为止。

  • 如果测试表达式为假(false),则循止(结束)。

While循环流程图

示例1:while循环

cpp 复制代码
//打印从1到5的数字

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

    return 0;
}

输出结果

cpp 复制代码
1
2
3
4
5

在这里,我们已初始化i为1。

  1. 当i为1时,测试表达式 i <= 5 为true。因此,while执行循环的主体。在屏幕上打印1,并将i其值增加到2。

  2. 现在i是2,测试表达式 i <= 5 再次为true。while循环主体将再次执行。在屏幕上打印2,并将i其值增加到3。

  3. 该过程一直进行到i为6时,此时测试表达式 i <= 5 为false,循环终止。

do... while 循环

do..while循环类似于while循环,但有一个重要区别。do...while循环主体至少执行一次。执行一次后,才对测试表达式求值。

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

示例

cpp 复制代码
do
{
   //循环体内的语句
}
while (testExpression);

do... while循环如何工作?

  • do ... while循环的主体执行一次。只有这样执行一次后,才对测试表达式求值。

  • 如果测试表达式(testExpression)为true,则再次执行循环主体并评估测试表达式(testExpression)。

  • 这个过程一直进行到测试表达式变为false。

  • 如果测试表达式为false,则循环结束。

do ... while循环流程图

示例2:do ... while循环

cpp 复制代码
//程序添加数字,直到用户输入零
#include <stdio.h>
int main()
{
    double number, sum = 0;

    //循环的主体至少执行一次
    do
    {
        printf("输入一个数字: ");
        scanf("%lf", &number);
        sum += number;
    }
    while(number != 0.0);

    printf("总和 = %.2lf",sum);

    return 0;
}

输出结果

cpp 复制代码
输入一个数字: 1.5
输入一个数字: 2.4
输入一个数字: -3.4
输入一个数字: 4.2
输入一个数字: 0
总和 = 4.70
相关推荐
Kisorge30 分钟前
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
c语言·开发语言
爱吃西瓜的小菜鸡4 小时前
【C语言】判断回文
c语言·学习·算法
FeboReigns6 小时前
C++简明教程(文章要求学过一点C语言)(1)
c语言·开发语言·c++
FeboReigns7 小时前
C++简明教程(文章要求学过一点C语言)(2)
c语言·开发语言·c++
_小柏_7 小时前
C/C++基础知识复习(43)
c语言·开发语言·c++
yoyobravery7 小时前
c语言大一期末复习
c语言·开发语言·算法
落羽的落羽12 小时前
【落羽的落羽 C语言篇】自定义类型——结构体
c语言
Kisorge12 小时前
【C语言】代码BUG排查方式
c语言·开发语言·bug
yoyo勰13 小时前
sqlite3
c语言·sqlite
就爱学编程14 小时前
重生之我在异世界学编程之C语言:数据在内存中的存储篇(上)
c语言·数据结构