§ 5. Оператор цикла
5.4. Операторы break и continue
Достаточно часто при использовании циклов и почти всегда при использовании оператора switch возникает необходимость прервать выполнение тела цикла или команды множественного выбора. Для этого используется команда break. Использование break для прерывания команды switch рассматривалось в § 4. Если оператор break встречается в теле цикла, то цикл прекращает свою работу, а программа продолжает выполняться со строки, следующей за циклом. Пример 5.7. Написать программу, которая выведет только те числа таблицы из примера 5.6, которые находятся не выше главной диагонали [1]. Этапы выполнения задания I. Результат программы не зависит от исходных данных. II. Таблица с числами. III. Алгоритм решения задачи. 1. Для вывода такой таблицы можно использовать два вложенных цикла. Первый будет определять десятки числа, а второй — единицы. IV. Описание переменных: i, j – int. Оператор continue позволяет пропустить часть операторов тела цикла, стоящих после него и начать новую итерацию. Это можно использовать в тех случаях, когда нужно завершить текущую итерацию раньше времени. Пример 5.8. Написать программу, которая выведет все числа таблицы из примера 5.6, исключая числа, оканчивающиеся на 5 или 7. Этапы выполнения задания I. Результат программы не зависит от исходных данных. II. Таблица с числами. III. Алгоритм решения задачи. 1. Для вывода такой таблицы можно использовать два вложенных цикла. Первый будет определять десятки числа, а второй — единицы. [1] Главная диагональ в таблице чисел (матрице) — все такие числа, у которых номер строки равен номеру столбца. Нумерация начинается с верхнего левого угла. |
С помощью оператора break можно прервать бесконечный цикл. Для этого в тело цикла добавляется условие, при выполнении которого сработает оператор break, и цикл завершит работу. Например, если программа должна работать с двузначными числами, то следующий бесконечный цикл прервется только тогда, когда пользователь введет двузначное число.
Пример 5.7. V. Программа:
Многие программисты считают, что операторы break и continue нарушают структурность программного кода, и предпочитают обходится без них. Эти операторы всегда можно заменить операторами, которые относятся к основным алгоритмическим конструкциям. Однако разумное использование операторов break и continue может улучшить понятность циклов в программе. При вложенных циклах действия операторов break и continue распространяется только на тот цикл, в котором они содержатся. |