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
相关推荐
Aurorar0rua1 小时前
CS50 x 2024 Notes C - 07
c语言·学习方法
爱编码的小八嘎1 小时前
C语言完美演绎9-15
c语言
weixin_421725262 小时前
C语言常用字符串函数:长度、比较、拼接和查找
c语言·字符串函数·查找·比较·长度
yzq1991272 小时前
C语言#和##的用法(附带示例)
c语言·宏定义·预处理运算符·字符串化·标记连接
无敌昊哥战神4 小时前
【LeetCode 37】解数独 (Sudoku Solver) —— 回溯法详解 (Python/C/C++)
c语言·c++·python·算法·leetcode
jinyishu_5 小时前
链表经典OJ题
c语言·数据结构·算法·链表
爱编码的小八嘎5 小时前
C语言完美演绎9-14
c语言
li1670902706 小时前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
代码中介商17 小时前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
爱编码的小八嘎20 小时前
C语言完美演绎9-12
c语言