- Оператор while
- Работа
Оператор while
Оператор for удобен, если требуется повторить какие-либо действия определенное число раз. Но иногда число повторений неизвестно, хотя известно условие завершения цикла (например, при решении уравнения методом последовательных приближений). В этом случае можно использовать оператор цикла по условию while.
Шаблон этого оператора следующий:
while (условие) [тело цикла];
Здесь условие - логическое выражение, истинное значение которого является условием продолжения цикла, тело цикла - это либо один оператор, либо ограниченная фигурными скобками последовательность операторов.
Важная особенность while в том, что если к моменту его начала условие ложно -тело цикла не выполнится ни разу.
Пример операторов while:
while (1);
while (PORT == 2) sum++;
Первый пример демонстрирует бесконечный цикл, т.к. ненулевое значение равносильно истинному логическому выражению. Второй пример опрашивает значение переменной PORT и ведет подсчет в переменной sum числа таких опросов до тех пор, пока значение переменной равно двум (1).
По сравнению с оператором for, цикл while допускает значительно меньше вариантов «оформления». Очевидно, что цикл for вполне в состоянии заменить цикл while:
// эквивалент бесконечного цикла
for (;;);
// эквивалент опроса и подсчета числа этих опросов
for (; PORT == 2; sum++);
Тем не менее, рекомендуется использовать while там, где это оправдано логикой алгоритма, это позволит улучшить «читабельность» программы.
- То, каким образом значение переменной PORT может измениться - не рассматривается в данном контексте, предполагается пока, что все-таки такое изменение возможно.