WikiDer > Условный цикл
Эта статья не цитировать любой источники. (Декабрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
В компьютерное программирование, условные циклы или же повторяющиеся контрольные структуры способ для компьютерные программы повторять один или несколько различных шагов в зависимости от условий, установленных либо программист изначально или в реальном времени реальной программой.
Условный цикл потенциально может стать бесконечный цикл когда ничто в теле цикла не может повлиять на результат цикла Условный оператор. Однако бесконечные циклы иногда могут использоваться намеренно, часто с выходом из цикла, встроенным в реализацию цикла для каждого компьютерный язык, но многие используют одну и ту же базовую структуру и / или концепцию. В Пока цикл и Для цикла два наиболее распространенных типа условных циклов в большинстве языки программирования.
Типы
Следующие типы записаны в C ++, но применимо к нескольким языкам.
Пока цикл
Проверяет условие на истинность перед выполнением любого кода в цикле. Если условие изначально ложно, код внутри цикла никогда не будет выполнен. В PL / I это ДЕЛАТЬ ПОКА...
утверждение.
пока (условие) { // код}
Цикл Do-While
Проверяет условие на истинность после выполнения кода в цикле. Следовательно, код внутри цикла всегда будет выполняться хотя бы один раз. PL / I реализует это как ДЕЛАЙТЕ ДО ...
утверждение.
делать { // код} пока (условие);
Для цикла
Упрощенный способ создания цикла while.
за (инициализация; условие; утверждение) { // код}
Инициализация выполняется только один раз перед циклом. Условие оценивает логическое выражение цикла. Заявление выполняется в конце каждого цикла.
Так, например, следующий цикл while:
int я = 0;пока (я < 10) { // код я += 1;}
Может быть записано следующим образом для цикла:
за (int я = 0; я < 10; ++я) { // код}
Для каждого цикла
Цикл for-each по сути эквивалентен итератор. Это позволяет программе выполнять итерацию по структуре данных без необходимости отслеживать индекс. Это особенно полезно для наборов, не имеющих индексов. Вот пример:
стандартное::вектор<стандартное::нить> классифицировать = { "яблоко", "банан", "апельсин" };за (авто элемент: классифицировать) { // код}
Примеры
Ниже приводится C-стиль Пока цикл. Он продолжает цикл, пока Икс не равно 3, или, другими словами, цикл прекращается только тогда, когда Икс равно 3. Однако, поскольку Икс инициализируется 0 и ценность Икс никогда не изменяется в цикле, цикл никогда не закончится (бесконечный цикл).
int Икс = 0;пока (Икс != 3) { // код, который не меняет x}
Цикл while ниже выполнит код цикла 5 раз. Икс инициализируется значением 0, и каждый раз в цикле значение Икс увеличивается. Цикл while настроен на остановку, когда Икс равно 5.
int Икс = 0;пока (Икс != 5) { // код Икс += 1;}
Частые ошибки
Условные циклы часто являются источником Выключен одной ошибкой.