На этом шаге мы рассмотрим синтаксис и применение оператора
do...while.
Цикл do...while также относится к циклам с неизвестным числом повторений. Его общий вид:
do <тело цикла>; while (<условие или выражение>);
При входе в этот цикл обязательно выполняется тело цикла. Затем вычисляется выражение или проверяется условие и, если его значение не равно нулю, то есть истинно, вновь выполняется тело цикла. В противном случае происходит выход из цикла, то есть переход к следующему оператору, идущему за этой конструкцией цикла. Таким образом, этот цикл относится к циклам с постусловием. Напомним, что при выполнении таких циклов тело цикла выполняется хотя бы один раз, в отличие от циклов с предусловием, где тело цикла может не выполниться ни разу. Это происходит тогда, когда проверяемое условие изначально является ложным.
Проиллюстрируем использование цикла do...while на конкретном примере: в следующей программе значение заданной строки (указатель star) переписывается в другую, заранее подготовленную строку (массив nov).
#include <iostream.h> void main() { char *str,*s,nov[80]; int i=0,k; str = s = new char [80]; //Выделение памяти из кучи. cout << "\nЗадайте строку: "; cin >> str; cout << '\n'; do nov[i]=*str++; //Переписывание строки, while (nov[i++]); //пока не встретится нулевой символ. cout << "\nНовая строка: "; cout << nov; cout << '\n'; delete [ ] s; //Возврат памяти в кучу. }
Следующий шаг будет посвящен изучению цикла for.