While 1 что означает: c++ — Непонятно условие цикла — while(1)

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Необязательный элемент. Одна или несколько инструкций после
While
, которые выполняются каждый раз 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 всегда проверяет условие перед запуском цикла. Цикл продолжается, пока условие остается

True. Если 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 который считывает символы. В условии

WhilePeek метод 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 оценивается на каждой итерации.

Вычисление тела цикла 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 с циклом while

Python поддерживает использование оператора цикла с оператором 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} {
 установить начало [секунды часов]
 реальный.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *