Оператор цикла с последующим условием
Синтаксис оператора цикла с последующим условием (с постусловием) имеет вид: do{ оператор;} while (условие продолжения цикла); или do { оператор1; оператор2; ... операторN; } while (условие продолжения цикла);
Если в теле цикла содержится только один оператор, то операторные скобки пишутся для устранения неоднозначности, обусловленной наличием while, так как это может интерпретироваться как заголовок структуры while с пустым телом цикла. Действия, определяемые оператором, выполняются до тех пор, пока условие продолжения цикла не станет ложным или равным нулю. Его основное отличие от оператора while состоит в том, что тело цикла выполняется хотя бы один раз, так как проверка условия продолжения происходит после выполнения операторов, образующих тело цикла. Тело оператора цикла с последующим условием обязательно должно содержать действия, влияющие на условие продолжения цикла, так как иначе цикл становится "бесконечным".
Пример 2.3. Вывести на экран значение переменной с, изменяющейся от 'A' до 'Z', с помощью оператора цикла с постусловием #include <iostream> using namespace std; int main() { char sym; cout << “Выводим на экран алфавит” << endl; sym = 'A'-1; do { sym++; cout << sym << ' '; } while (sym<'Z'); return 0; }
Пример 2.4. Вводить с клавиатуры последовательность символов, пока не будет введена точка. Подсчитать, сколько в этой последовательности скобок. #include <iostream> using namespace std; int main() { char sym; int cnt = 0; do { cout << "Введите символ "; cin >> sym; if (sym == '{' || sym == '}' || sym == '[' || sym == ']' || sym == '(' || sym == ')') cnt++; } while (sym!= '.'); cout << "Количество скобок = " << cnt << endl; return 0; }
|