оператора switch. Когда оператор break выполняется в цикле, то досрочно
прерывается исполнение
оператора цикла, и управление передаётся следующему оператору после цикла. Разработаем
программу с использованием оператора break.
Программа печатает таблицу степеней двойки.
for (int count = 0; count <= 10; count++) // начало цикла for
{
if ( count == 6)
break; // выход из цикла for
cout << "2^" << count << " = " << pow(2.0,count) << endl; // печать степени двойки
}
Таблица степеней двойки напечаталась, включительно, до пятой степени.
Если убрать
оператор условного выбора if, то напечатаются степени двойки, включительно до десятой
Оператор continue
Оператор continue используется только в циклах. В операторах for, while, do while, оператор
continue выполняет пропуск оставшейся части кода тела цикла и переходит к следующей итерации
цикла. Рассмотрим фрагмент кода с оператором continue.
// пример использования оператора continue:
int count = 0;
do // начало цикла do while
{
continue;
count++;
}
while ( count < 10 )
Посмотрите внимательно на выше приведенный пример, и Вы увидите,
что do while
бесконечный, так как каждая итерация цикла приводит к выполнению оператора continue, который
пропускает операцию инкремента переменной-счётчика count и переходит на следующую
итерацию цикла. Таким образом значение в переменной count не меняется, а значит и условие
всегда будет истинным. Разработаем программу с оператором continue.
Программа должна
работать циклически. Внутри цикла необходимо организовать ввод чисел.Если введено число от 0
до 10 включительно, то необходимо напечатать квадрат этого числа, иначе используя оператор
continue пропустить оператор возведения в квадрат введенного числа.
При введении
отрицательного числа осуществить выход из цикла.
// continue.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include
using namespace std;
int main(int argc, char* argv[])
{
int in_number; // переменная для хранения введённого числа
do
{
cout << "Enter number: ";
cin >> in_number; // считываем введённое число в переменную in_number
if ( in_number > 10 || in_number < 0 ) // если введённое число не входит в заданный
интервал
continue; // переход на следующую итерацию цикла do while
cout << "square = " << in_number * in_number << endl; // возводим в квадрат введённое
число
} while ( in_number >= 0 ); // пока введённое число больше либо равно нулю цикл будет
работать
system("pause");
return 0;
}
Цикличность в программе организуем циклом с постусловием — do while. В цикле сначала
считываем введённое число в переменную in_number, после чего, выполняется проверка условия в
операторе if. Условие оператора условного выбора if будет
истинным в том случае, если введённое
число будет строго меньше нуля или строго больше 10. Заданный интервал — [0;10], число взятое
из этого интервала возводится в квадрат. Истинность условия оператора if приводит к
выполнению оператора continue в строке 15. А оператор continue пропускает операторы в строке
16 и переходит к проверке условия продолжения цикла do while. Условие в цикле будет истинно,
пока вводимые числа будут строго больше 0.
Многие программисты считают, что операторы break и continue нарушают структурность
программного кода и предпочитают обходится без них. Так, что если есть возможность обойтись
без операторов break и continue, лучше так и сделать. Тем более, что операторы break и continue
всегда можно заменить
структурированными операторами, мы это доказали, показав
эквивалентные программы.