c++ — Непонятно условие цикла — while(1)
Вопрос задан
Изменён 3 года 2 месяца назад
Просмотрен 20k раз
Друзья, подскажите, в скобках условия цикла while — единица. Это алгоритм «двоичный поиск». Алгоритм работает, но эта единица в условии цикла непонятна:
while(1) {...........}
4
Это значит, что цикл бесконечный. Прервать его итерацию можно через break или return (ну или через throw).
22
Общая форма цикла while имеет следующий вид:
while(условие) оператор; //(оператор это тело цикла)
Условие может быть любым допустимым выражение в языке.
Если ИСТИНА то цикл продолжается (все что в теле цикла) — любое значение кроме 0.
Если ЛОЖЬ то цикл прекращается — 0.
В данном случае while(1)
, while(5)
, while(-15)
истина — цикл продолжается бесконечно или пока в теле цикла не будет break
, exit()
, return
или goto
.
А while(0)
уже ложь и цикл останавливается не начавшись.
Ничего необычно — это просто значит исполнять этот цикл вечно. Классический способ.
Конечно, где то должен быть break
или return
что бы этот цикл остановить. Иначе он будет исполнятся очень долго:)
Это цикл без условия. Он будет исполняться, пока ты не его не прервёшь при помощи операторов break, return, goto, вызова exit, ExitProcess или исключения. Также цикл без условия можно создать при помощи конструкции for(;;) {...}
.
3
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Оператор While…End While — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Выполняет последовательность инструкций, если заданное условие имеет значение True
.
Синтаксис
While condition [ statements ] [ Continue While ] [ statements ] [ Exit While ] [ statements ] End While
Компоненты
Термин | Определение |
---|---|
condition | Обязательный. Выражение Boolean . Если condition имеет значение Nothing , Visual Basic обрабатывает его как False . |
statements | Необязательный элемент. Одна или несколько инструкций после , которые выполняются каждый раз condition , имеет значение True . |
Continue While | Необязательный элемент. Передает управление следующей итерации While блока. |
Exit While | Необязательный элемент. Передает управление из While блока. |
End While | Обязательный. Завершает определение блока While . |
Используйте структуру While...End While
, если требуется повторять набор инструкций неопределенное количество раз, пока условие остается True
. Если вы хотите больше гибкости с тем, где вы проверяете условие или какой результат вы тестируете его, вы можете выбрать do… Оператор Loop. Если вы хотите повторять инструкции заданное количество раз, выполните for… Следующий оператор , как правило, является лучшим выбором.
Примечание
Ключевое While
слово также используется в do… Оператор Loop, предложение Skip While и предложение Take While.
Если condition
имеет значение True
, все выполняются statements
до тех пор, пока не End While
будет обнаружена инструкция . Затем элемент управления возвращается к оператору While
и condition
снова проверяется. Если condition
параметр по-прежнему True
имеет значение , процесс повторяется. Если это False
, управление передается оператору, который следует за оператором End While
.
Оператор While
всегда проверяет условие перед запуском цикла. Цикл продолжается, пока условие остается
. Если condition
это False
при первом входе в цикл, он не запускается ни разу.
Обычно condition
является результатом сравнения двух значений, но это может быть любое выражение, результатом которого является логическое значение типа данных (True
или False
). Это выражение может включать значение другого типа данных, например числового типа, которое было преобразовано в Boolean
.
Можно вложить While
циклы, поместив один цикл в другой. Вы также можете вкладывать различные типы структур управления друг в друга. Дополнительные сведения см. в разделе Вложенные структуры элементов управления.
Выход в режиме «Пока»
Оператор Exit While может предоставить другой способ выхода из While
цикла. Exit While
немедленно передает управление оператору, который следует за оператором End While
.
Обычно используется Exit While
после вычисления некоторого условия (например, в If...Then...Else
структуре). Вы можете выйти из цикла, если обнаружите условие, которое делает его ненужным или невозможным для продолжения, например ошибочное значение или запрос на завершение. Вы можете использовать при Exit While
проверке условия, которое может привести к бесконечному циклу, который может выполняться очень большое или даже бесконечное количество раз. Затем можно использовать для Exit While
экранирования цикла.
Вы можете разместить любое количество операторов Exit While
в While
любом месте цикла.
При использовании во вложенных While
циклах Exit While
передает управление из самого внутреннего цикла и на следующий более высокий уровень вложенности.
Оператор Continue While
немедленно передает управление следующей итерации цикла. Дополнительные сведения см. в разделе Continue Statement.
Пример 1
В следующем примере операторы в цикле продолжают выполняться, пока переменная не index
будет больше 10.
Dim index As Integer = 0 While index <= 10 Debug.Write(index.ToString & " ") index += 1 End While Debug.WriteLine("") ' Output: 0 1 2 3 4 5 6 7 8 9 10
Пример 2
В следующем примере показано использование операторов Continue While
и Exit While
.
Dim index As Integer = 0 While index < 100000 index += 1 ' If index is between 5 and 7, continue ' with the next iteration. If index >= 5 And index <= 8 Then Continue While End If ' Display the index. Debug.Write(index.ToString & " ") ' If index is 10, exit the loop. If index = 10 Then Exit While End If End While Debug. WriteLine("") ' Output: 1 2 3 4 9 10
Пример 3
В следующем примере считываются все строки в текстовом файле. Метод OpenText открывает файл и возвращает объект , StreamReader который считывает символы. В условии
Peek метод StreamReader
объекта определяет, содержит ли файл дополнительные символы.
Private Sub ShowText(ByVal textFilePath As String) If System.IO.File.Exists(textFilePath) = False Then Debug.WriteLine("File Not Found: " & textFilePath) Else Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath) While sr.Peek() >= 0 Debug.WriteLine(sr.ReadLine()) End While sr.Close() End If End Sub
См. также раздел
- Циклические структуры
- Оператор Do…Loop
- Оператор For…Next
- Логический тип данных
- Вложенные структуры управления
- Оператор Exit
- Оператор Continue
Операторы цикла Python While (неопределенная итерация)
Циклы — неотъемлемая часть изучения Python или любого другого языка программирования.
Они используются, когда требуется повторение определенного блока кода или набора операторов более одного раза.Существует три типа циклов, поддерживаемых языком программирования Python для удовлетворения различных требований, а именно цикл for, вложенный цикл и цикл while. Обычно цикл while используется в ситуациях, когда общее количество требуемых итераций заранее неизвестно.
Что такое цикл Python в то время как?Предложение цикла while многократно выполняет набор операторов до тех пор, пока данное условие не окажется ложным. Общий синтаксис оператора цикла в Python:
.в то время как test_expression/условие:
тело оператора
Тело оператора может быть либо отдельным оператором, либо набором или блоком операторов, а условие может быть или не быть выражением.
В цикле while Python тестовое выражение оценивается в начале. Выполнение программы входит в тело цикла while тогда и только тогда, когда test_expression или условие оцениваются как истинные.
Вычисление тела цикла while продолжается до тех пор, пока test_expression/condition не будет оценено как false. Теперь управление программой передается строке, следующей за циклом while. В Python отступ используется для определения тела цикла while.
Язык программирования Python использует отступы как метод группировки операторов. Таким образом, все операторы с отступом на равное количество символов после программной конструкции считаются единым блоком кода.
Тело цикла while начинается с отступа в языке программирования Python, а самая первая строка без отступа отмечает конец цикла while. В то время как любое ненулевое значение считается истинным, None и 0 интерпретируются Python как ложные.
Важно отметить, что цикл while может не выполняться даже один раз. Это произойдет, если условие окажется ложным во время самой первой итерации цикла.
Простой цикл while Python, пример
цикл_значение = 0 в то время как (loop_value < 9): print('Значение цикла:', loop_value) цикл_значение = цикл_значение + 1 print('Демонстрация простой программы цикла while на Python завершена!')
Выход:
Значение цикла: 0 Значение цикла: 1 Значение цикла: 2 Значение цикла: 3 Значение цикла: 4 Значение цикла: 5 Значение цикла: 6 Значение цикла: 7 Значение цикла: 8
Демонстрация простой программы цикла while на Python завершена!
В приведенном выше примере кода тело цикла while имеет условие, согласно которому значение переменной loop_value должно быть меньше 9. Тело цикла while содержит оператор печати, который печатает текущее значение переменной loop_value, а затем увеличивает его на 1, используя следующее заявление.
Цикл while будет продолжать выполняться до тех пор, пока значение_цикла не достигнет 9, после чего будет выполнен последний оператор печати.
Рекомендовать курс Python
Завершите учебный курс Python от нуля до героя в Python
Бесконечный циклЛюбой цикл становится бесконечным, если указанное условие никогда не оказывается ложным. Поэтому такой цикл называется бесконечным циклом. Следовательно, рекомендуется уделять особое внимание использованию циклов, чтобы предотвратить возникновение бесконечного цикла.
Область применения бесконечного цикла — клиент-серверное программирование. Здесь сервер должен работать непрерывно, чтобы позволить большому количеству клиентских программ взаимодействовать с ним, когда это необходимо. Ниже приведен базовый пример кода бесконечного цикла:
вар = 1 в то время как переменная == 1 : num = input("Введите число:") print ("Вы ввели: ", число) print ("До свидания!") # выполнение программы никогда не доходит до этой точки
Выход:
Введите число: 22 Вы ввели: 22 Введите какое-нибудь число: 24 Вы ввели: 24 Введите какое-нибудь число: 46 Вы ввели: 46 Введите номер:Traceback (последний последний вызов): Файл «main. py», строка 3, в num = input("Введите число:") Прерывание Клавиатуры
Вышеупомянутый пример кода демонстрирует бесконечный цикл, который никогда не завершится автоматически. Вам нужно нажать Ctrl + C, чтобы вручную выйти из программы. Последние 4 строки вывода будут отображаться при выходе из программы вручную.
Использование инструкции Else с циклом whilePython поддерживает использование оператора цикла с оператором else. Когда оператор else используется вместе с циклом while, тогда оператор else выполняется, когда условие цикла становится ложным.
Следующий код демонстрирует простой пример использования цикла while вместе с оператором else:
значение = 0 пока (значение <8): print (значение, "меньше 8") значение = значение + 1 else: # выполняется, когда условие в цикле while становится ложным print (значение, "не меньше 8")
Выход:
0 меньше 8 1 меньше 8 2 меньше 8 3 меньше 8 4 меньше 8 5 меньше 8 6 меньше 8 7 меньше 8 8 не меньше 8
В приведенном выше примере кода показано объединение оператора else с циклом while, который продолжает печатать число, пока оно не станет равным 8.
Однострочный пункт WhileДа, в Python можно написать цикл while с одним оператором. Такой цикл while также известен как однострочное предложение while. Вместо того, чтобы добавлять единственный оператор в тело цикла while, его можно поместить рядом с заголовком while.
Общий синтаксис :
в то время как test_expression/условие: заявление
Ниже приведен пример кода, демонстрирующий использование однострочного предложения while в языке программирования Python:
а = 0 while (a==0): print ("Это 0!")
Вывод:
Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Это 0! Traceback (последний последний вызов): Файл «main.py», строка 2, в Пока (a==0): напечатайте (это 0!) КлавиатураПрерывание
Вышеупомянутый пример создаст бесконечный цикл. Следовательно, вам нужно нажать Ctrl + C, чтобы выйти из программы вручную!
ЗаключениеЭто завершает все, что вы должны знать о цикле Python в Python. Это эффективный способ выполнения операторов, который требует более чем однократного выполнения. Вы всегда можете поэкспериментировать с предложением цикла while, чтобы лучше понять его работу.
Если у вас есть какая-либо важная информация о цикле while Python, которой вы хотели бы поделиться с нами, вы можете сделать это в специальном разделе комментариев ниже! Кроме того, вы можете задать свои вопросы, связанные с циклом while Python. Мы свяжемся с вами как можно скорее!
Недавно начали работать с Python? Тогда ознакомьтесь с этим кратким введением в Python, чтобы лучше узнать высокоуровневый интерпретируемый язык программирования общего назначения!
Люди также читают:
- Лучшие курсы Python
- Лучшая сертификация Python
- Лучшие книги по Python
- Лучшие компиляторы Python
- Python для науки о данных
- Что такое PyCharm?
- Условные операторы Python
- Лучшие интерпретаторы Python
- Лучшие библиотеки Python
- Как запустить скрипт Python?
в то время как
в то время как , встроенная команда Tcl, итеративно оценивает сценарий, пока предоставленное выражение истинно.
See Also
- for
- if
- expr
- foreach
Synopsis
- while тело выражения
Описание
в то время как оценивает тело , пока выражение истинно, а затем возвращает пустую строку. В теле continue немедленно переходит к следующей оценке выражения , а break вызывает немедленное завершение while. Такие команды, как exit, return и tailcall, также заканчиваются while.
выражение почти всегда должно быть заключено в фигурные скобки. Если нет, Tcl выполняет подстановки, как обычно, перед вызовом while, который затем также выполняет подстановки при вычислении 9.0174 выражение . Это может привести к двойной замене или к тому, что переменная будет заменена только перед первой итерацией, когда автор ожидал, что она будет заменена перед каждой итерацией. В таком случае while никогда не завершается, потому что значение выражения никогда не меняется. Заключение выражения в фигурные скобки означает, что Tcl не выполняет подстановки, предоставляя оператору while самостоятельно выполнять любые подстановки каждый раз, когда он вычисляет выражение. Следующий пример иллюстрирует разницу:
набор х 0 # предупреждение: это никогда не закончится пока $x<10 { помещает "x равно $x" прибавление х } # на этот раз $x - это то, что было задумано в то время как {$x<10} { помещает "x равно $x" прибавление х }
Стандартный идентификатор для создания бесконечного цикла:
while 1 { ... }
Вместо 1 можно использовать любое другое истинное значение.
Ограничение использования ресурсов
Чат некоторое время, что было бы безопасно в безопасных интерпретаторах GPS придумал это для Tcl 8.4:
переименовать в режиме real.while proc do.while {cond body} { если {$cond} {уровень 2 $body} } proc while {cond body} { установить начало [секунды часов] реальный.