В отличие от циклов for и while, которые проверяют условие в верхней части цикла, цикл do...while в языке D проверяет своё условие в нижней части.
Цикл do...while похож на цикл while, за исключением того, что цикл do...while гарантированно выполнится хотя бы один раз.
Синтаксис цкла do...while в языке D:
do { тело_цикла; } while( условие );
Обратите внимание, что условное выражение появляется в конце цикла, поэтому тело_цикла выполнится один раз до проверки условия.
Если условие истинно, поток управления перескакивает назад, и тело_цикла выполняется снова. Этот процесс повторяется до тех пор, пока данное условие не станет ложным.
import std.stdio; int main () { /* Определение локальной переменной */ int a = 10; /* Выполнение цикла do */ do{ writefln("Значение a: %d", a); a = a + 1; }while( a < 20 ); return 0; }
Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:
Значение a: 10 Значение a: 11 Значение a: 12 Значение a: 13 Значение a: 14 Значение a: 15 Значение a: 16 Значение a: 17 Значение a: 18 Значение a: 19