Условный цикл
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2023 г. ) |
В компьютерном программировании условные циклы или повторяющиеся структуры управления — это способ, с помощью которого компьютерные программы повторяют один или несколько различных шагов в зависимости от условий, заданных либо программистом изначально , либо в реальном времени реальной программой.
Условный цикл может стать бесконечным , если ничто в теле цикла не может повлиять на результат условного оператора цикла . Однако бесконечные циклы иногда могут использоваться намеренно, часто с выходом из цикла, встроенным в реализацию цикла для каждого компьютерного языка , но многие из них имеют одну и ту же базовую структуру и/или концепцию. Цикл While и цикл For — два наиболее распространенных типа условных циклов в большинстве языков программирования .
Типы [ править ]
Следующие типы написаны на C++ , но применимы к нескольким языкам.
Пока цикл [ править ]
Проверяет условие на достоверность перед выполнением любого кода в цикле. [1] Если условие изначально ложно, код внутри цикла никогда не будет выполнен. В PL/I это DO WHILE...
заявление.
while (condition) {
// code
}
Цикл Do-While [ править ]
Проверяет условие на достоверность после выполнения кода в цикле. Следовательно, код внутри цикла всегда будет выполнен хотя бы один раз. PL/I реализует это как DO UNTIL...
заявление.
do {
// code
} while (condition);
Для цикла [ править ]
Упрощенный способ создания цикла while. [2]
for (initialization; condition; statement) {
// code
}
Инициализация выполняется один раз перед циклом. Условие оценивает логическое выражение цикла. Оператор выполняется в конце каждого цикла.
Например, следующий цикл while:
int i = 0;
while (i < 10) {
// code
i += 1;
}
Можно записать так: цикл for:
for (int i = 0; i < 10; ++i) {
// code
}
Цикл For-Each [ править ]
Цикл for-each по сути эквивалентен итератору . Это позволяет программе перебирать структуру данных без необходимости отслеживать индекс. Это особенно полезно в наборах, не имеющих индексов. Пример следующий:
std::vector<std::string> range = { "apple", "banana", "orange" };
for (auto item: range) {
// code
}
Примеры [ править ]
Ниже приведен C. цикл while в стиле Он продолжает цикл, пока x не равен 3 , или, другими словами, цикл прекращается только тогда, когда x равен 3 . Однако, поскольку x инициализируется значением 0 и значение x никогда не изменяется в цикле, цикл никогда не завершится ( бесконечный цикл ).
int x = 0;
while (x != 3) {
// code that doesn't change x
}
Цикл while ниже выполнит код в цикле 5 раз. x инициализируется значением 0, и каждый раз в цикле значение x увеличивается. Цикл while настроен на остановку, когда x становится равным 5.
int x = 0;
while (x != 5) {
// code
x += 1;
}
Частые ошибки [ править ]
Условные циклы часто являются источником ошибки Off by one .
Ссылки [ править ]
- ^ «цикл while — cppreference.com» . ru.cppreference.com . Проверено 7 ноября 2023 г.
- ^ «цикл for — cppreference.com» . ru.cppreference.com . Проверено 7 ноября 2023 г.