оператор for (C++) | Microsoft Learn
- Статья
- Чтение занимает 3 мин
Выполняет оператор повторно до тех пор, пока условное значение не станет false. Сведения об операторе на основе диапазона см. в описании инструкции на основе for
for
диапазона (C++). Сведения об инструкции C++/CLI for each
см. в разделе a0in
/>for each
.
Синтаксис
for (
init-expression
;
cond-expression
;
loop-expression )
statement
Используйте инструкцию for
для создания циклов, которые должны выполняться определенное количество раз.
Оператор for
состоит из трех необязательных частей, как показано в следующей таблице.
для элементов цикла
Имя синтаксиса | При выполнении | Описание |
---|---|---|
init-expression | Перед выполнением любого другого элемента инструкции for init-expression выполняется только один раз. Затем управление передается cond-expression . | Часто используется для инициализации индексов цикла. Может содержать выражения или объявления. |
cond-expression | Перед выполнением каждой итерации statement , включая первую итерацию. statement выполняется, только если cond-expression имеет значение true (не равное нулю). | Выражение, значение которого относится к целочисленному типу или типу класса, для которого имеется однозначное преобразование к целочисленному типу. Обычно используется для проверки критериев завершения цикла for. |
loop-expression | В конце каждой итерации statement . После выполнения loop-expression производится вычисление cond-expression . | Обычно используется для приращения индексов цикла. |
В следующих примерах показаны различные способы использования инструкции for
.
#include <iostream> using namespace std; int main() { // The counter variable can be declared in the init-expression. for (int i = 0; i < 2; i++ ){ cout << i; } // Output: 01 // The counter variable can be declared outside the for loop. int i; for (i = 0; i < 2; i++){ cout << i; } // Output: 01 // These for loops are the equivalent of a while loop. i = 0; while (i < 2){ cout << i++; } // Output: 01 }
init-expression
и loop-expression
могут содержать несколько операторов, разделенных запятыми. Пример:
#include <iostream> using namespace std; int main(){ int i, j; for ( i = 5, j = 10 ; i + j < 20; i++, j++ ) { cout << "i + j = " << (i + j) << '\n'; } } /* Output: i + j = 15 i + j = 17 i + j = 19 */
loop-expression
можно увеличить или уменьшить, или изменить другими способами.
#include <iostream> using namespace std; int main(){ for (int i = 10; i > 0; i--) { cout << i << ' '; } // Output: 10 9 8 7 6 5 4 3 2 1 for (int i = 10; i < 20; i = i+2) { cout << i << ' '; } } // Output: 10 12 14 16 18
Цикл for
завершается, когда break
выполняется оператор, возвращаемый или goto
(в помеченный оператор за пределами for
цикла).statement
Оператор continue
в цикле for
завершает только текущую итерацию.
Если cond-expression
этот параметр опущен, он считается true
for
и цикл не завершается без break
или return
goto
внутри statement
него.
Хотя три поля for
инструкции обычно используются для инициализации, тестирования для завершения и приращения, они не ограничиваются этими способами. Например, следующий код выводит числа от 0 до 4. В данном случае statement
является оператором null:
#include <iostream> using namespace std; int main() { int i; for( i = 0; i < 5; cout << i << '\n', i++){ ; } }
for
циклы и стандарт C++Стандарт C++ говорит, что переменная, объявленная в цикле for
, должна выйти из области после for
завершения цикла.
for (int i = 0 ; i < 5 ; i++) { // do something } // i is now out of scope under /Za or /Zc:forScope
По умолчанию переменная, /Ze
объявленная в цикле for
, остается в области до тех пор, пока for
не завершится включающая область цикла.
/Zc:forScope
обеспечивает стандартное поведение переменных, объявленных для циклов, без необходимости указывать /Za
.
Кроме того, можно использовать различия for
области цикла для повторного объявления переменных /Ze
следующим образом:
// for_statement5.cpp int main(){ int i = 0; // hidden by var with same name declared in for loop for ( int i = 0 ; i < 3; i++ ) {} for ( int i = 0 ; i < 3; i++ ) {} }
Это поведение более точно имитирует стандартное поведение переменной, объявленной в for
for
цикле, выходят из области после завершения цикла. Когда переменная объявляется в for
цикле, компилятор внутренне повышает ее до локальной переменной в for
включающей области цикла. Он повышается, даже если уже есть локальная переменная с тем же именем.
См. также раздел
Инструкции итерации
Ключевые слова
Оператор while
(C++)
Оператор do-while
(C++)
Оператор на основе for
диапазона (C++)
Цикл for в C++
В C++ операторы цикла повторяют определенный фрагмент кода или оператора. В основном они используются для сокращения кода за счет многократного выполнения одной и той же функции и сокращения избыточности. Циклы for, циклы while и циклы do-while — это лишь некоторые из типов циклов, поддерживаемых C++. Каждый из них имеет уникальный синтаксис, преимущества и применение. Когда мы хотим повторно запустить блок кода, мы используем структуру управления программированием, известную как цикл. Как правило, он продолжает работать и останавливается, когда выполняется определенный критерий. В этом посте вы обнаружите важную идею, а именно C++ For Loop.
Содержание
- Что такое цикл for в C++?
- Пример 1
- Пример 2
- Заключение
Что такое цикл for в C++?
Эта структура управления повторением позволяет нам повторно зацикливаться на определенной области кода C++. Если тестовое выражение возвращает true, выполняется цикл for. Как только тестовое выражение становится ложным, выполнение цикла прекращается. Перед каждой итерацией необходимо проверять условие. Тело цикла запускается, если оценка дает истинный результат.
Синтаксис цикла for
Ниже мы упомянули синтаксис цикла for в языке C++.
«Выражение инициализации» — это первый параметр. Мы должны инициализировать счетчик цикла до определенного числа в этом выражении. Например, int i=1.
«Условие» — второй параметр. Мы должны проверить условие здесь. Если критерий выполнен, цикл for продолжится; если это не так, это закончится. В следующем примере, если i <= 5. Increment — это третий и последний параметр. Это выражение увеличивает/уменьшает переменную цикла на указанное число после выполнения тела цикла. Например: i++;.
Теперь давайте посмотрим на некоторые примеры программирования, в которых обсуждается цикл for.
Пример 1
В нашем первом примере мы использовали цикл for для вывода первых 15 натуральных целых чисел. Чтобы показать, как работает цикл for, обратитесь к приложенному коду.
Основной метод запускается после вставки в код заголовочного файла iostream. Запускается число, пишется условие, чтобы увидеть, меньше ли оно или равно 15. Число увеличивается после каждого повторения в цикле for. В коде это записывается как (число=4; число=15; число++).
Проверяется условие «число <= 15». Операторы, написанные в теле цикла, выполняются, если условие выполнено. Если условие возвращает false, программа выполнит операторы, написанные внутри цикла. И после выполнения тела кода цикла for запускается команда «number++». На этом рисунке каждый раз, когда выполняется код тела цикла for, значение «number» увеличивается на 1. Здесь можно использовать любое выражение, которое вы хотите запускать после каждого цикла.
В приведенном выше примере «число = 4» дает переменной «число» значение 4. Затем проверяется условие «число <= 15». Код в теле цикла for выполняется, поскольку значение «number» равно 4. В результате выводится текущее значение «number», равное 4.
После выполнения основной части кода цикла for выполняется шаг «number++», который увеличивает значение «number» на 1. Таким образом, 5 — это новое значение переменной «number».
Условие «number<=15» еще раз проверяется и оказывается истинным, поскольку значение «number» равно 5. Код тела цикла for выполняется еще раз, выводится 5. Затем значение «число» еще раз увеличивается.
Когда значение «number» изменяется на 15, выражение «number <= 15» становится истинным, выводя 15. Условие «number<= 15» становится ложным, и цикл завершается, когда число++ повышает значение «number». «до 16.
#include <iostream>
int main()
{
using namespace std;
int number;
for( number = 4; number <= 15; number++ )
{
cout << number << endl;
}
return ;
}
Вот вывод, в котором вы можете видеть, что числа от 4 до 15 печатаются с использованием цикла for.
Пример 2
Это второй пример, где мы будем определять факториал положительного числа. Во-первых, заголовочный файл iostream был включен в наш код. Этот файл позволит нам читать и записывать в консоль. Затем, чтобы получить доступ к его классам и функциям без его вызова, мы включили пространство имен std. В следующей строке кода был вызван метод main(), который должен содержать логику программы. Тело функции main() находится там, где { обозначает ее начало. Здесь объявлены целочисленные переменные a, n и fact. Для переменной факта установлено значение 1. На консоли мы напечатали некоторый текст. „Пожалуйста, введите любое положительное число:“, — написано в тексте.
Пользователю будет предложено ввести значение переменной num в тексте. Затем строится цикл for. Во время инициализации создается целочисленная переменная с именем ’a’, и ей присваивается значение 1. Условие говорит, что значение a не должно быть больше или равно значению переменной ’n’. После каждой итерации приращение увеличивает значение „a“ на 1. Тело цикла for обозначается символом (). Формула факт = факт * а использовалась в следующем коде для вычисления значения факториала. Затем петля подходит к концу.
Значения переменных „n“ и „fact“ будут напечатаны на консоли вместе с дополнительным текстом в следующей строке. Если программа выполняется успешно, функция main() возвращает значение. Наконец, можно увидеть заключение тела функции main(). Вот весь код:
#include <iostream>
using namespace std;
int main()
{
int a, n, fact = 1;
cout <> n;
for (a = 1; a <= n; ++a)
{
fact *= a;
}
cout << «Here is the factorial of « << n << » = « << fact;
return ;}
Когда мы запустим вышеприведенное, сначала пользователю будет предложено ввести любое положительное число. При этом предоставляется факториал этого числа.
Здесь вы можете видеть, что факториал данного числа равен 5 в нашем случае.
Заключение
В этой статье мы подробно рассказали о цикле C++ for. Пока не будет выполнено определенное условие, набор операторов непрерывно выполняется в цикле for. Для вашей помощи мы также предоставили два подробных примера.
INFP Петля Fi-Si: что это значит и как вырваться на свободу
Для интровертных типов вход в их петлю происходит тогда, когда они обращаются внутрь к своим интровертным функциям. Это не всегда плохо, и иногда это происходит в условиях стресса, чтобы помочь человеку справиться с любыми трудностями, с которыми он сталкивается. Сначала это может привести к тому, что они повернутся к тем частям себя, на которые обычно не обращают внимания, оказывая давление на функцию, которая не так естественна для них. Это может помочь человеку понять некоторые вещи, с которыми он борется, но если это будет продолжаться слишком долго, это, безусловно, может стать для него нездоровым. Когда они застревают в этой петле на длительное время, им определенно нужно средство, чтобы вырваться, прежде чем это вызовет слишком большой стресс для их более слабых функций и оставит их эмоционально истощенными.
Петля INFP Fi-Si заставляет их обращаться к этим двум функциям и полностью игнорировать свои экстравертные функции. INFP естественным образом тянутся к своей экстравертной интуиции, которая является их вспомогательной функцией, но не тогда, когда они находятся в своей петле. Во время цикла INFP становится гиперкритичным по отношению к прошлым ошибкам, возвращаясь в основном к своей внутренней морали и применяя ее к вещам, которые произошли в их прошлом. Они ностальгируют по этим моментам, иногда прославляя людей и отношения и даже обвиняя себя в том, что пошло не так. В это время INFP действительно могут бороться с критикой и чувствуют себя отчужденными от других.
INFP обычно полагаются на экстравертную интуицию
Когда INFP не находятся в своей петле Fi-Si, они в значительной степени полагаются на свои интровертные чувства и свою экстравертную интуицию. INFP полагаются на чувство внутренней морали, но они также тесно связаны с возможностями и будущим. Они делают выбор, основываясь на этих функциях, и таким образом фильтруют окружающий их мир. INFP впитывают информацию и принимают все различные возможности и идеи, и в конечном итоге используют свое чувство внутренней морали, чтобы решить, что правильно. INFP нуждается в своей экстравертной интуиции как в средстве связи с миром и в чувстве волнения и надежды на будущее. Именно это вдохновляет INFP пробовать что-то новое и по-настоящему исследовать различные увлечения и занятия, которые их волнуют. Они процветают благодаря идеям и воображению, и им нравится делиться этими вещами со своими близкими. Когда INFP полагается на эти функции, они могут создавать и воображать вещи, внушающие благоговение и наполненные чувством страсти и удивления. INFP глубоко заботятся о том, чтобы поступать правильно, но они хорошо понимают это и не боятся отстаивать свои убеждения. Когда они сосредоточены на своей естественной функции и учатся развивать свои более слабые функции здоровым образом, INFP становится способным отстаивать свои убеждения и получать удовольствие от возможности изменить мир вокруг себя.
Петля Fi-Si в INFP
Когда INFP застревают в своей петле, они обращаются к своим интровертным функциям, полностью игнорируя и отрицая свои экстравертные функции. Иногда это может происходить во время стресса, особенно когда INFP чувствует, что их естественное поведение и действия не работают должным образом. Когда они начинают сосредотачиваться только на своих Fi (интровертном чувстве) и Si (интровертном восприятии), INFP становится одержимым прошлым как средством выяснения вещей. Они связываются с ошибками и вещами, которые произошли в прошлом, и начинают зацикливаться на деталях, даже резко осуждая себя и чувствуя себя виноватыми за то, чего им, вероятно, не следует делать. Они ищут ответы и решения, опираясь на прошлое. В это время они, вероятно, кажутся очень замкнутыми, у них развивается туннельное зрение и они пытаются сосредоточиться на вещах, на которые обычно не обращают внимания. Хотя поначалу это может показаться несерьезным, в течение длительного периода времени в своей петле INFP начинают испытывать сильную вину за свои прошлые ошибки. Они начинают смотреть на себя свысока и могут чувствовать, что не способны улучшить или создать лучшее будущее для себя и окружающих. Они могут стать самокритичными до такой степени, что могут видеть только то плохое, что они сделали, и не могут найти средства избежать этого.
Хотя это не всегда легко заметить, петля заключается не только в замкнутости и замкнутости INFP. Они оказывают такое сильное давление на свои интровертные функции, что больше не кажутся взволнованными вещами, которые когда-то любили. Вместо того, чтобы сосредоточиться на проектах и вещах, которые им нравятся, INFP становится одержимым решением определенных проблем и поиском способов улучшить ситуацию.
Как выйти из петли INFP
Часто для INFP выход из петли может происходить естественным образом, но это зависит от серьезности внешних стрессов. Если они чувствуют, что попали в эту петлю и проблемы не решены, для INFP важно испытать что-то новое. Поиск способов погрузиться в новые проекты или даже просто отправиться в новое место или попробовать новые продукты. Все, что может привлечь их к опыту за пределами прошлого, может помочь INFP воссоединиться с окружающими их возможностями и снова открыться для своих экстравертных функций. Это не всегда легко для INFP, так как быть в их петле не так просто распознать. Поскольку он основан на интровертных функциях, поиск способа воссоединения требует больших личных усилий. Близким INFP также может быть полезно помочь им, когда они чувствуют себя в ловушке этой петли. Им нужны люди, которые понимают, когда INFP слишком долго предаются этим внутренним сомнениям, и способны достучаться до них. Им нужно воссоединиться со своими страстями и вещами, которые вытаскивают их из этой скорлупы. Иметь близких, которые могут распознать эту петлю и помочь немного встряхнуть INFP, на самом деле может быть очень полезно для них. Им не нужно жестокое обращение, им просто нужен кто-то, кто может дать им чувство надежды на будущее.
Подробнее о INFP:
Полное собрание статей INFP
Этот пост подготовлен BetterHelp Вы устали от борьбы с демонами
3 90
Вы чувствуете себя одиноким в своей внутренней борьбе?
Хочешь, чтобы тебя услышали?
Возможно, ваше психическое здоровье нуждается в проверке…
Хотели бы вы, чтобы кто-то был в вашем углу и тренировал вас,
поддерживаю вас,
и помогает вам лучше ориентироваться в жизни?
У нас есть решение.
Лучшая помощь.
Вы, вероятно, слышали о BetterHelp в подкастах, на телевидении или благодаря одобрению ваших любимых знаменитостей.
Причина, по которой он так популярен, в том, что он работает.
Просто и понятно.
Именно поэтому у нас есть BetterHelp в качестве нашего спонсора.
BetterHelp подберет вам профессионального терапевта, который поможет вам обсудить и решить ваши проблемы.
Вы удивитесь, какое облегчение ощущаете, когда кто-то борется в вашем углу, чтобы вернуть вас в нужное русло и ослабить чувство беспокойства.
Представьте, что у вас есть человек, с которым вы можете еженедельно обсуждать все, с чем вам приходится сталкиваться.
Нет ничего постыдного в том, чтобы получить помощь.
Все больше и больше людей обращаются к онлайн-терапии, не выходя из собственного дома.
Это просто.
Работает.
Представьте, как вы разговариваете по тексту или видео с терапевтом, который обучен правильному решению проблем в вашей жизни.
Бремя не должно лежать на вас. Найдите способ облегчить это бремя и почувствуйте, как груз сваливается с ваших плеч.
Разве ты не этого хочешь?
Мы все такие. Я являюсь участником более 2 лет и заметил резкое улучшение своего психического здоровья, и тяжесть моей внутренней борьбы определенно уменьшилась.
Попробуйте.
Я знаю, что вы будете впечатлены и увидите результаты, которые улучшат ваше настроение и настроение.Зарегистрируйтесь ниже и получите скидку 15% на первый месяц.
BetterHelp: скидка 15%Обратите внимание: мы получаем комиссию за продажу любого продукта или услуги через BetterHelp.
P.S. Скидка 15% доступна только по нашей ссылке
здесь . Зарегистрируйтесь менее чем за 70 долларов в неделю.Объяснение петли INFP (Fi-Si)
Недавно я работал над другой статьей о INFP, в которой затрагивалась петля INFP (Fi-Si), и я продолжал пытаться вдаваться в подробности, которые были необходимы для этого. конкретная статья. (Если бы я только раньше понял, что статья о разработке INFP действительно не требует подробного объяснения циклов.) После слишком долгой борьбы с тем, как быть кратким по этому вопросу, я понял, что действительно мог бы написать полную статью, объясняющую петлю INFP (Fi-Si).
Что такое петля Fi-Si?
Если вы новичок в Майерс-Бриггс, 16 личностях и так далее, я уделю немного времени, чтобы объяснить, что такое петля. Короче говоря, петля — это нездоровое состояние, в которое впадает тип личности, когда он теряет уверенность в своей вспомогательной функции. Когда это происходит, они, по сути, «зацикливаются» на своих доминирующих и третичных функциях (или на своих первой и третьей функциях). Цикл для интровертного типа всегда приводит к гиперинтроверсии, потому что функция, которую они в конечном итоге пропускают, является их основной экстравертной функцией. .
Стек когнитивных функций INFP — Fi-Ne-Si-Te. Итак, как видите, вспомогательная функция, в которой они теряют доверие, — это экстравертная интуиция, или Не. В результате они продолжают использовать свой Fi как обычно, но вместо того, чтобы поддерживать его с помощью Ne, они пытаются слишком сильно полагаться на свой Si в качестве замены. Некоторые теории личности пытаются переформулировать петли как обычно, просто еще один вариант INFP. Однако такая петля, как петля Fi-Si, в действительности всегда будет несбалансированным состоянием, потому что пользователь проводит слишком много времени либо в объективном мире, либо в своем субъективном мире, что приводит либо к недостаточному самоанализу (импульсивный), либо к чрезмерному самоанализу. много самоанализа (бездействия).
Углубленное объяснение цикла INFP (Fi-Si)
Интровертное чувство, или Fi, — чрезвычайно идеалистическая функция, доминирующая для INFP. Фай провоцирует INFP заглянуть внутрь себя, используя свои чувства в качестве ориентира, чтобы определить, кто они и кем они хотят быть. Я уже много раз говорил об этом, но самопознание — это бесконечное путешествие для такого типа личности, как INFP. Они никогда не закрывают перед ним дверь. Они стремятся постоянно обновлять свое понимание самих себя и адаптировать свою идентичность по мере того, как их жизненный опыт меняет их. Для них это особенно важный процесс, потому что он помогает им открыть для себя то, что принесет им то значение, которого они жаждут. Fi может создать высокие стандарты для человека, поскольку они формируют очень конкретный идеализированный образ того, кем он хочет быть. Это особенно актуально для INFP из-за того, что их Fi поддерживается осью Ne/Si.
Интровертное восприятие, или Си, отвечает за построение собственной субъективной реальности. (См. Что такое интровертное восприятие (Si) на самом деле.) Он усваивает сенсорные впечатления и в сочетании с Fi создает идеализированный мир в уме INFP. В сочетании с этим экстравертная интуиция, или Не, обеспечивает связь INFP с объективным миром. Он показывает им мир возможностей, некоторые из которых могут быть включены в их субъективную реальность Си. Однако при правильном стечении обстоятельств Нэ может легко сокрушить INFP, в некотором смысле настраивая их на провал.
Как INFP попадает в цикл?
Есть несколько способов.
Пользователи Ne/Si часто хотят учитывать все. Они хотят видеть каждую возможность, каждый вариант. Они хотят собрать всю информацию, чтобы объяснить все… но не все можно объяснить. Это может легко заставить INFP чувствовать себя ошеломленным приливной волной возможностей, представленных им их Ne. INFP, лишенный жизненного опыта, может с трудом понять, какие возможности реальны, а какие нет. Они могут не понимать, как сузить свои возможности, и слишком бояться этого. Что делать, если не та вещь оказывается выброшенной? Что делать, если сделан неправильный выбор?
Это может быть одним из источников перегрузки Ne. Это может спровоцировать страх действовать или принять решение, основанное на страхе неудачи. INFP часто имеют очень высокие стандарты (из-за Fi-Si), которые могут сделать их чрезвычайно критическими по отношению к себе всякий раз, когда они терпят неудачу.
Другим источником перегрузки Ne может быть разочарование в реальности. Ne можно использовать для предоставления пользователю положительных, отрицательных или нейтральных возможностей; во многом зависит от темперамента человека. Слишком позитивный человек может видеть только позитив, а чрезмерно негативный человек может видеть только негатив. (Примечание: это не имеет ничего общего с высоким или низким Ne. INFP может быть оптимистичным или пессимистичным.) Многие NFP предпочитают сосредотачиваться на положительных возможностях, желая быть оптимистичными. К сожалению, INFP, которые предпочитают сосредотачиваться только на положительных моментах, полностью игнорируя отрицательные, могут постоянно разочаровываться в реальности, поскольку она никогда не сможет соответствовать их идеалу. Когда INFP постоянно разочаровываются в реальности, они неизбежно могут начать переходить к более пессимистическому мышлению.
Нетрудно догадаться, что может произойти дальше.
INFP, который фокусируется только на негативе, может начать бояться реальности до такой степени, что не сможет жить. Они могут испытывать чувство безнадежности или обреченности и начать хотеть закрыться от возможностей. В конце концов, когда вы смотрите на мир и видите только мрачные результаты на каждом шагу, зачем вам продолжать погружаться в свою Нэ? Разве вы не хотели бы в конце концов просто отключить его?
В конечном счете, при обстоятельствах, описанных выше, любой INFP может оказаться настолько подавленным своим Ne, что решит полностью отказаться от него, вместо этого погрузившись в петлю Fi-Si.
Что происходит в цикле Fi-Si?
Чрезмерное выделение Si через петлю Fi-Si может иметь очень плохие последствия. Как упоминалось ранее, основной аспект Си как когнитивной функции заключается в том, что она создает субъективную реальность внутри нашего разума. Это определение на самом деле восходит к Карлу Юнгу. Для того, кто проверяет объективную реальность, иметь субъективную реальность не так уж и плохо. Однако для того, кто отчаянно пытается сбежать от реальности, это может быть очень плохо. Петля Fi-Si может заставить INFP отступить в безопасное убежище в своем разуме, видя реальность холодной и жесткой, что резко контрастирует с их идеально сформулированной внутренней реальностью (построенной на их идеалах Fi). Там они могут сидеть и прятаться от реального мира, проживая свою жизнь в том, что по сути является их собственной фантазией или «зоной комфорта».
Имейте в виду, петля может принимать несколько различных форм. Люди часто описывают зацикливание на Си на поверхности как фиксацию на точке в прошлом. Это, безусловно, одна вещь, которая может случиться. INFP могут строить свою субъективную реальность на основе времени в прошлом, которое они предпочли. Они также могут выбрать более критический путь и зациклиться на прошлой ошибке, полагая, что если бы они только тогда сделали другой выбор, их нынешняя реальность была бы гораздо предпочтительнее. Они также могут сделать свою субъективную реальность такой, которая ни в малейшей степени не похожа на реальность. Независимо от того, по какому маршруту они идут, их внутренний мир подменяет и отвлекает их от реальности, мешая жить и двигаться вперед.