Оператори break і continue в C++




перерву і продовжити C ++Оператор break в C

С оператором break вы уже встречались, если читали наши статьи об операторе switch и о цикле for. И наверняка уже имеете представление о том, как он работает. Поговорим еще немного об этом операторе, возможно кому-то будет полезно.

Досить часто при використанні циклів і майже завжди при використанні оператора switch, программисту необходимо прервать выполнение тела цикла или тела switch соответственно. break, як раз використовується в таких випадках. Також, с помощью этого оператора прерывается бесконечный цикл. Когда его нужно прервать, в тіло циклу додається умова, при виконанні якого спрацює оператор break, а цикл завершит работу. У наступному прикладі, реализована простая игра: один игрок загадывает число от 1 до 7, второй должен отгадать его.

Чтобы всё было честно и игрок, который загадывает, не мог ввести число из недопустимого диапазона, запускаем бесконечный цикл в котором и происходят ввод и проверка числа. Если число соответствует необходимому диапазону – цикл прерывается (строки 15 – 18), если же нет – на экране появляется предупреждение и предложение ввести число снова. Так будет происходить, поки введене число не увійде в потрібний діапазон.

После ввода корректного числа, в строке 25 вызываем специальную функцию system(“cls”); , которая очистит содержимое экрана, перед тем, как второй игрок приступит к отгадыванию числа (сработает только в windows).

Далее определяем второй бесконечный цикл (строки 29 – 47), але вже з лічильником myTry. Он будет считать количество попыток игрока отгадать число. Гравець вводить число і воно відразу перевіряється на відповідність діапазону в рядках 33 – 37. Если не соответствует – предупреждаем и отнимаем единицу от счетчика попыток myTry. Иначе если число в нужный диапазон вошло, проверяем соответствует ли оно загаданному числу (строки 38 – 42): да – поздравляем и прерываем цикл, нет – переходим к выполнению строк 43 – 46 – говорим об ошибке и предлагаем ввести число снова.

Результат:

оператор break c++

оператор break c++

Оператор continue в C

Этот оператор применяется тогда, когда необходимо прервать (пропустить) текущую итерацию цикла и приступить к следующей итерации. При его выполнении в цикле for происходит остановка текущей итерации, переход к изменению управляющей переменной, а затем проверка условия продолжения выполнения цикла.

Решим такую задачу: Необхідно вивести на екран ті числа, які діляться на 7 без остатка и находятся в диапазоне от 1 до 70 .

Если число i не ділиться на 7 без остатка (остаток от деления не равен 0), сработает continue. Тобто рядок коду 12 уже не выполнится и мы не увидим число i на экране. В случае если остаток от деления i на 7 будет равен 0 (число делится на 7 нацело), тело if виконано не буде і число буде показано.

Результат:

оператор continue в C++

Если вам понравилась статья, лучшей благодарностью для меня будет, если вы поделитесь со своими друзьями ссылкой на неё. Это можно сделать нажав на кнопку вашей любимой социальной сети под статьей.

Підписатися на повідомлення про нові статті на нашому сайті:


Згоден отримувати повідомлення від purecodecpp.com на мій e-mail

дата
сторінка
Оператори break і continue в C++
рейтинг
5

11 думки про "Оператори break і continue в C++

  1. Ну знову суцільні косяки.
    У switch я не можу використовувати continue?
    Приклади невдало.

    Щоб system працювало треба stdlib.h підключити.

    system(“cls”) сработает только в windows, ІМХО не варто писати про це в навчальних статтях, ви не описуєте що саме робить ця функція.

    >> myTry–; // зменшуємо лічильник спроб на одиницю лічильник

    Лічильник, лічильник, лічильник, лічильник

    >> проста гра: Один гравець загадує число

    Не впевнений, але я гадаю товстої кишки – це не крапка, продовжуєш з маленької літери.

    >> Досить часто при використанні циклів і !!!ЗАВЖДИ!!! при використанні оператора switch, програмісту необхідно перервати виконання тіла циклу або тіла switch відповідно.

    switch (a) {
    case 1: ++b;
    case 2: ++b;
    default: ++c;
    }
    не працює?

    “пишеш, publikueshy”, а треба “пишеш, читаєш, pravishy, publikueshy”.

    1. навіщо тобі в Світчі continue???
      “Щоб system працювало треба stdlib.h підключити” >> Нет. Тут у тебе часткова помилка. stdlib.h і її аналог cstdlib потрібні для роботи з пам'яттю, але в MVS середовищі можна не підключати цю бібліотеку, так як вона предкомпілірована вже в усі проекти за замовчуванням. Цей приклад можна наочно побачити з setlocale(), начебто треба підключати бібліотеку locale.h, але і без неї все працює добре. Так що ти частково не правий. Але правда під вінду!

    2. >> проста гра: Один гравець загадує число

      Не впевнений, але я гадаю двокрапка - це не крапка, продовжуєш з маленької літери.

      повага,)) і знову ти чіпляєшся… ти явно стурбований на питаннях пунктуації)) А Орфус навіщо по-твоєму був придуманий??

    3. Це здорово,коли хочеться щось виправити і правильно,але потрібно бути вдячним автору сайту,за зрозуміле виклад матеріала.Мне як новачкові:легко навчаться в цьому сайті,в порівнянні з іншими сайтами.

  2. навіть не так:

    пишеш();
    for (;;) {
    помилки = читаєш();
    если (помилки)
    pravishy(помилки);
    иначе
    break;
    }
    publikueshy();

      1. да? ну тоді глянь на завдання з грою, друга картинка! здається що тут логічна помилка, Або я помиляюсь? загадали число 7, а відгадали 3)

      2. а нє-нє, це я провтикав, там просто розділене на 2-х гравців.

  3. цікаво, якщо так розібратися, то і break і continue є переривань, але тільки працюють по-різному. break перериває весь цикл і виходить з нього, а continue просто пропускає один хід циклу і не перериває його.

  4. і хоч Вова знову багато разів кричав про помилки, але все ж стаття цінна ;)

залишити коментар

Код розміщуйте в тегах: <pre class="lang:C ++ декодуванням:true ">ВАШ КОД</заздалегідь>