(do - while) Оператор do повторно выполняет оператор или блок операторов, заключенных в {}, пока определенное выражение не примет значение false. В следующем примере операторы цикла do - while выполняются до тех пор, пока пользователь не введёт значение из допустимого диапазона. Если в теле цикла всего один оператор, фигурные скобки ставить не нужно.
int N; string s;
do
{ Console.Write("Введите N в интервале 0..10 N=");
s = Console.ReadLine();
N = Convert.ToInt32(s); }
while (N<0|| N>10);
Console.WriteLine("Введённое число равно {0} ", N);
Console.ReadKey();
Блок-схема для оператора do-while
Цикл do-while выполняется как минимум один раз, так как вычисление значения условного выражения выполняется после тела цикла. В любой точке блока do-while цикл можно разорвать с помощью оператора break. Для перехода непосредственно к оператору вычисления выражения while используется оператор continue; если выражение имеет значение true, выполнение продолжается в первом операторе цикла. Если выражение имеет значение false, выполнение продолжается в первом операторе после цикла do-while.
Пример: Дано целое число N > 0. С помощью операций деления нацело и взятия остатка от деления определить, имеются ли в записи числа N нечетные цифры.
int N; string s;bool f;
Console. Write("Введите целое положительное число N=");
s = Console. ReadLine();
N = Convert.ToInt32(s);
int n = N; //сохраним исходное значение
f=false;
do
{ if (N % 2 == 1) f = true;
N = N / 10;
while (N != 0 && !f);}
if (f) Console.WriteLine("Нечётные цифры в числе {0} есть", n);
else Console.WriteLine("Нечётных цифр в числе {0} нет", n);
Console.ReadKey();
Оператор цикла с постусловием (repeat)
В операторе цикла с постусловием (начинающимся со слова
repeat) выражение, которое управляет повторным выполнением после-
довательности операторов содержится внутри оператора repeat.
until
выражение
Оператор repeat
;
Результат выражения должен быть булевского типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится по край- ней мере один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов. Приведем примеры оператора цикла с постусловием: