ساختار حلقه do … while ، دقیقا همانند حلقه while است ، با این تفاوت که شرط حلقه do … while در انتهای حلقه تعریف و کنترل می شود . به عبارت دیگر در این حلقه ابتدا یکبار دستورات حلقه
اجرا شده و در آخر شرط حلقه برای اجرای مجدد ، کنترل می شود که در صورت درست بودن یکبار دیگر دستورات آن خواهد شد .
مزیت این حلقه نسبت به حلقه while این است که ، در حلقه while در صورت عدم برقراری شرط حلقه دستورات آن هیچگاه اجرا نخواه شد . اما در حلقه do … while ، حتی در صورت غلط بودن و عدم برقراری شرط حلقه ، دستورات آن حداقل یکبار اجرا خواهد شد .
شکل کلی تعریف یک حلقه do … while به صورت زیر است :
do
}
دستورات حلقه
{
( شرط یا شروط حلقه )while