Оператор do while

Циклы. Операторы цикла do   while

Do While

Часто, при программировании задач, нужно, чтобы одна и та же последовательность команд выполнялась несколько раз. Такой процесс называется циклическим. Алгоритм, в котором определенная последовательность команд повторяется несколько раз с новыми входными данными называется циклическим.

Для реализации циклического процесса, в языках программирования применяются циклы. Язык программирования C/C++ имеет в наличии удобные для работы операторы цикла.

Схема выполнения оператора do while:

  1. Выполняется тело цикла (которое может быть составным оператором).
  2. Вычисляется выражение.
  3. Если выражение ложно, то выполнение оператора do while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполнение оператора продолжается с пункта 1.

Использовать цикл do while лучше в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.

Тело цикла выполняется до тех пор, пока выражение, проверяющее Условие, не станет ложным, то есть тело цикла с постусловием выполнится хотя бы один раз.

В трактовке условия цикла с постусловием в разных языках есть различия. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до»), а в Си и его потомках — как условие продолжения (цикл завершается, когда условие ложно, такие циклы иногда называют «цикл пока»).

Пример


Интересно, что переменная choice должна быть объявлена вне блоков do while. Почему так?

Если бы переменная choice была объявлена внутри блока do, то она была бы уничтожена при завершении этого блока ещё до проверки условия while. Но нам нужна переменная, которая будет использоваться в условии while, следовательно, переменная choice должна быть объявлена вне блока do.

В целом, использовать do while вместо while, когда нужно, чтобы цикл выполнился хотя бы один раз является хорошей практикой.

Добавить комментарий