Инструкции цикла. Циклы с условием в языке С++
При решении различных задач часто приходится выполнять многократно повторяющиеся вычисления. Для эффективной организации подобного рода действий служат циклические конструкции.
Любой цикл содержит:
- тело цикла (инструкции, которые выполняются многократно);
- начальные установки;
- изменения параметра цикла;
- проверку условия продолжения выполнения цикла.
Смысл начальных установок заключается в том, что переменные, которые используются в цикле, должны получить свои значения до входа в него.
Переменные, которые изменяются в теле цикла и используются при проверке условия продолжения, называются параметрами цикла.
Проверка условия выполняется на каждой итерации (итерация – это один проход цикла). Если условие продолжения цикла не выполняется, то он завершается.
Для принудительного завершения текущей итерации, или цикла в целом используются инструкции передачи управления (break, continue, return и goto).
Цикл с предусловием (while)
Если проверка условия продолжения цикла выполняется на каждой итерации до тела цикла, то такая конструкция называется цикл с предусловием (смотрите структурную схему на рис.1, а).
Для организации такой структуры на языке C++ используется инструкция while. Общая форма цикла while имеет следующий вид:
- while ( выражение ) инструкция;
Элемент выражение, которым может быть любое допустимое С++-выражение, управляет работой цикла. Если значение условного выражения true, то инструкция выполняется, в противном случае, управление передается инструкциям, которые следуют за циклом (таким образом, цикл может ни разу не выполнится).
В качестве элемента инструкция может выступать либо одиночная инструкция, либо блок инструкций.
В качестве примера рассмотрим программу вычисления списка квадратов целых чисел от 0 до 99 (впервые данную программу реализовал на компьютере EDSAC Дэвид Уилер в 1949 году).
Цикл с постусловием (do while)
Если проверка условия продолжения цикла выполняется после тела цикла, то такая конструкция называется цикл с постусловием (смотрите структурную схему на рис.1, б).
В отличие от циклов for и while, в которых проверка условия происходит при входе, цикл do-while проверяет условие при выходе. Поэтому тело такого цикла всегда выполняется хотя бы один раз.
Общая форма цикла do while имеет следующий вид:
- do инструкция while (выражение);
Цикл do-while выполняется до тех пор, пока остается истинным элемент выражение. Если выражение станет равным false, то происходит передача управления инструкциям, следующим за циклом.
В следующей примере, осуществляется ввод последовательности целых чисел и определение ее суммы до тех пор, пока на вход не поступит число 0.