Принудительный выход из цикла c

Иногда требуется выйти из цикла досрочно: выполняли, выполняли мы какое-то задание, нам это надоело и мы, не закончив дело до конца, решили забить на это задание.

Или мы собирали ягоды в лесу и собрали столько, сколько нам нужно (например, взяли с собой литровую банку и полностью её собрали), всё мы выходим из леса. Хотя могли остаться и ещё собирать. Как же это перевести на машинный язык?! Давайте попробуем!

Возьмем цикл While (пока).

Вопрос в том, как досрочно выйти из леса, а не остаться там собирать ягоды до бесконечности? Ведь они постоянно поспевают и закончатся нескоро. Не ночевать же нам в лесу!

В жизни понятно – мы просто собираемся и выходим из леса. В программировании для этого предусмотрено несколько операторов.

Выйти из цикла можно с помощью операторов C break и continue.

Приведем небольшие программы, когда используются эти операторы C.

1) Выход из бесконечного цикла

После запуска программа на экран выведется сообщение с суммой чисел, в нашем случае, это 5.

Следовательно, данные операторы C используются, когда нам нужно выйти из цикла, не дожидаясь его завершения.

Также можно ещё использовать оператор

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

Оператор break завершает выполнение ближайшего оператора внешнего цикла или switch, в котором он находится. The break statement terminates the closest enclosing loop or switch statement in which it appears. Управление передается оператору, который расположен после завершенного оператора. Control is passed to the statement that follows the terminated statement, if any.

Читайте также  Разложение факториала на простые множители

Пример Example

В этом примере условный оператор содержит счетчик, который должен выполнять отсчет от 1 до 100; при этом оператор break завершает цикл после четырех отсчетов. In this example, the conditional statement contains a counter that is supposed to count from 1 to 100; however, the break statement terminates the loop after 4 counts.

Пример Example

В этом примере демонстрируется использование break в операторе switch. This example demonstrates the use of break in a switch statement.

Если вы ввели 4 , выходные данные будут следующими: If you entered 4 , the output would be:

Пример Example

В этом примере оператор break используется для выхода из внутреннего вложенного цикла и возвращения управления внешнему циклу. In this example, the break statement is used to break out of an inner nested loop, and return control to the outer loop. Элемент управления возвращается только на один уровень выше во вложенных циклах. Control is only returned one level up in the nested loops.

Пример Example

В этом примере оператор break используется только для выхода из текущей ветви во время каждой итерации цикла. In this example, the break statement is only used to break out of the current branch during each iteration of the loop. На сам цикл не влияют экземпляры break , принадлежащие вложенной инструкции switch. The loop itself is unaffected by the instances of break that belong to the nested switch statement.

Спецификация языка C# C# language specification

Дополнительные сведения см. в спецификации языка C#. For more information, see the C# Language Specification. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#. The language specification is the definitive source for C# syntax and usage.

Читайте также  Прошу вас в срок до запятые

Это довольно специфический вопрос, но моя программа, похоже, выходит из цикла while, пока условие не станет ложным. Я добавил несколько проверок памяти на безопасность во время отладки, и он выводит на экран, что счетчик равен 4, а SqRoot равен 6 в конце, что означает, что он все еще должен проходить (TestNum = 32). Я определенно знаю, что это проходит цикл со счетчиком 17 Я вижу следующий вывод:

Вы не вырваться из while цикл, когда вы обнаружили, что число является составным.

В результате вы всегда выходите из while цикл только тогда, когда counter оценивается как ложное. В результате в приведенном ниже коде

Вы никогда не выполняете строку в if блок.

Программа должна вести себя правильно, если вы выходите из while цикл при обнаружении композита и изменении логики в последнем if блок для:

Ссылка на основную публикацию
Adblock
detector