Оператор break

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.

CppStudio.com
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-й степеней включительно.

CppStudio.com
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 станет ложным.

Практика

К сожалению, для данной темы пока нет подходящих задач. Если у вас есть таковые на примете, отправте их по адресу: admin@cppstudio.com. Мы их опубликуем!

Автор: admin
Дата: 25.08.2012
Поделиться:

Комментарии

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.