Оператор while имеет следующий синтаксис:
while (условие)
оператор;
Если условие истинно (возвращает значение true), то выполняется оператор, после чего условие проверяется снова. Так будет продолжаться до тех пор, пока условие не станет ложным (значение false): тогда цикл while завершится, а выполнение программы продолжится со следующей строки.
этого выражения дает в каждом цикле один и тот же результат, так что его повторные вычисления излишни; это вычисление должно производиться единственный раз, перед началом цикла.
1 // Оператор повторения do...while.
2 #include <iostream>
3 using namespacs std;
5 int main(){
6 int counter =1; // инициализировать счетчик 10
7 while (counter <= 10)
8 {
9 cout «counter «" "; // вывести счетчик
10 counter++; // увеличить счетчик
11 } // конец while
13 cout «endl; // вывести новую строку
14 return 0; // успешное завершение
15 } // конец main
123456789 10
3.6.2. Оператор повторения do...while
Оператор повторения do...while похож на оператор while. В операторе while условие продолжения цикла проверяется в начале цикла, перед выполнением тела оператора. В операторе do...while проверка условия продолжения производится после того, как тело цикла выполнено; следовательно, тело цикла будет исполняться по крайней мере один раз. Когда do...while завершается, выполнение программы продолжается с оператора, следующего за предложением while. Заметьте, что в операторе do...while нет необходимости использовать фигурные скобки, если его тело состоит из единственного оператора. Но фигурные скобки обычно все же ставят, чтобы избежать путаницы между операторами while и do...while. Например,
while (условие)
обычно прочитывается как заголовок оператора while. Оператор do...while без фигурных скобок и с единственным оператором в теле имеет вид
do
оператор while (условие);
что может привести к путанице. Последняя строка — while (условие); — может ошибочно интерпретироваться как заголовок оператора while, содержащего пустой оператор. Поэтому, чтобы избежать путаницы, оператор do...while с единственным оператором часто записывают в виде
do {
оператор
} while (условие);
Программа использует оператор do...while для печати чисел от 1 до 10. После входа в цикл строка 9 выводит значение counter, а строка 10 выполняет приращение counter. Затем, в конце цикла, программа оценивает условие продолжения (строка 11). Если условие истинно, цикл продолжается с первого оператора тела do...while (со строки 9). Если условие ложно, цикл прекращается и программа продолжается со следующего оператора после цикла.
6 // Оператор повторения do...while.
7 #include <iostream>
8 using namespacs std;
10 int main(){
6 int counter =1; // инициализировать счетчик 10
7 do
8 {
9 cout «counter «" "; // вывести счетчик
10 counter++; // увеличить счетчик
11 } while (counter <= 10); // конец do...while
13 cout «endl; // вывести новую строку
14 return 0; // успешное завершение
15 } // конец main