C оператором break
мы познакомились, когда изучали оператор множественного выбора switch
. В теле оператора множественного выбора switch
оператор break
прерывал исполнение оператора switch
. Когда оператор break
выполняется в цикле, то досрочно прерывается исполнение оператора цикла, и управление передаётся следующему оператору после цикла. Разработаем программу с использованием оператора break
. Программа печатает таблицу степеней двойки.
// break.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> // заголовочный файл <cmath> содержит прототип функции pow() #include <cmath> using namespace std; int main(int argc, char* argv[]) { for (int count = 0; count <= 10; count++) // начало цикла for { if ( count == 6) break; // выход из цикла for cout << "2^" << count << " = " << pow(2.0,count) << endl; // печать степени двойки } system("pause"); return 0; }
В строке 6 подключён заголовочный файл содержащий прототипы основных математических функций. Сейчас нужно запомнить то, чтобы использовать функцию pow()
необходимо подключить заголовочный файл <cmath>
. Функция pow(a,b)
возводит число а
в степень b
. В строке 11 записан заголовок цикла for
. В цикле for
объявлена переменная-счётчик count, значение которой меняется от 0 до 10 включительно. В строке 13 записан оператор условного выбора if, истинность условия которого запускает оператор break
, который, в свою очередь, приводит к выходу из цикла for
. В строке 15 запускается функция pow()
. Условие продолжения цикла for
будет истинно до тех пор, пока значение в переменной count <= 10
. Тогда как, выход из цикла for
произойдёт раньше, чем условие продолжения цикла станет ложным. Выход из цикла for выполнится, когда значение в переменной count
станет равным шести. Результат работы программы показан на рисунке 1.
2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 Для продолжения нажмите любую клавишу . . .
Рисунок 1 — Оператор break в С++
Из рисунка 1 видно, что таблица степеней двойки напечаталась, включительно, до пятой степени. Если убрать оператор условного выбора if
, то напечатаются степени двойки, включительно до десятой (см. Рисунок 2).
// break.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <cmath> // заголовочный файл содержит прототип функции pow() using namespace std; int main(int argc, char* argv[]) { for (int count = 0; count <= 10; count++) // начало цикла for { // if ( count == 6) // break; // выход из цикла for cout << "2^" << count << " = " << pow(2.0,count) << endl; // печать степени двойки } system("pause"); return 0; }
В строках 12 и 13 мы закомментировали оператор условного выбора if
, таким образом печатается таблица степеней двойки от нулевой и до 10-й степеней включительно.
2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = 1024 Для продолжения нажмите любую клавишу . . .
Рисунок 2 — Оператор break в С++
Переделаем эту программу так, чтобы можно было обойтись без оператора break
, то есть напишем эквивалент оператору break
.
// break.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <cmath> // заголовочный файл содержит прототип функции pow() using namespace std; int main(int argc, char* argv[]) { for (int count = 0; count <= 10; count++) // начало цикла for { cout << "2^" << count << " = " << pow(2.0,count) << endl; // печать степени двойки // эквивалент оператору break if ( count == 5) count = 11; } system("pause"); return 0; }
Оператор условного выбора if теперь записан после строки 12, по этому изменилось условие в операторе if
. Как только условие в операторе if
станет истинным программа передаст управление строке 15. Тогда переменной count
присвоится значение 11, и условие продолжения цикла for
станет ложным.
Комментарии