break;

default:

cout « "Ошибка ввода. \п";

} return 0;

}

Операторы цикла

Операторы цикла (iteration statements) циклически повторяют заданную последовательность операторов фиксированное число раз или до тех пор, пока не будет удовлетворено условие проверки. Существует 3 типа циклических операторов: while, do и for.

while

«

Цикл while проверяет выражение и в том случае, если оно равно true, выполняет одиночный или составной оператор:

while (i < 100)

str[i++] = ' ';

Сначала проверяется выражение. Если i меньше, чем юо, то выполняется следующий оператор: str[i++] = ' '. Если i больше или равно юо, то цикл передает управление следующему за ним оператору. Важной характеристикой цикла while является то, что оператор никогда не выполнится, если условие изначально было ложно (false).

Замечание

В предыдущем примере i меняется на каждом шаге цикла. Часто встречается ошибка, когда условие окончания цикла так никогда и не удовлетворяется. Это может происходить потому, что управляющая переменная не изменяется в теле цикла, в результате цикл становится бесконечным. В таких случаях заметить ошибку довольно легко. При написании цикла убедитесь, что граничное условие достижимо.

Правила проверки контрольного выражения те же самые, что и для выражений в операторе if.

Вместе с операторами цикла часто используется пустой оператор. В следующем примере происходит копирование одной строки символов в другую:

while (*strl++ = *str2++)

Листинг 10.5 показывает пример использования цикла while: