do-while循环(英语:do while loop),也有称do循环,是电脑程式语言中的一种控制流程语句。主要由一个代码块(作为回圈)和一个表达式(作为回圈条件)组成,表达式为布林(boolean)型。回圈内的代码执行一次后,程序会去判断这个表达式的返回值,如果这个表达式的返回值为“true”(即满足回圈条件)时,则回圈内的代码会反复执行,直到表达式的返回值为“false”(即不满足回圈条件)时终止。程序会在每次回圈执行一次后,进行一次表达式的判断。

do-while循环执行过程

一般情况下,do-while回圈与while循环相似。两者唯一的分别:do-while回圈将先会执行一次回圈内的代码,再去判断回圈条件。所以无论回圈条件是否满足,do-while回圈内的代码至少会执行一次。因此,do-while回圈属于后测循环(post-test loop)。

一些语言有其他的表达方式。例如Pascal就提供 repeat until 循环,运作方法刚刚相反。 repeat 部分不断重复,直到 until 条件满足。换言之, until 条件是 false 的时候,回圈会继续执行。

程序示例

编辑
#include <stdio.h>
#include <stdlib.h>
int main()
{  
    int i = 5; /*宣告整數i*/
    do {
        i--;
    } while (i > 0);
    printf("%d",i);
    return 0;
}


using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 5; /*宣告整數i*/
            do {
                i--;
            } while (i > 0);
            Console.WriteLine(i);
        }
    }
}


class main {
    public static void main (String args[]){
    int i = 5;
    do {
        i--; // 迴圈
    } while (i > 0); // 迴圈條件
    System.out.println(i);
    }
}