C/C++

Объясните работу цикла for в c++

Недавно я начал изучать c++ с учителем, на уроке недопонял как работает цикл for.
Пример:
for(int i=0;i<N;i++)
Просьба подробно объяснить, что означает каждый элемент в скобках.
Desperado @
Desperado @
459
Слушай внимательно.
for(int i=0;i<N;i++)

 "int i=0" 
Так мы создаем переменную с названием "i", у которой тип данных "int" (это значит что она может иметь значения 1, 2, 3 и т.п. то есть целочисленные. Например "float" это 1.27, 4.55 4.12 то есть дробные)

 "i
Павел Кузнецов
Павел Кузнецов
1 386
Лучший ответ
В С-style языках не существует полноценного цикла со счётчиком и for - лишь синтаксический сахар для while.

for (a; b; c) { d; }
практически эквивалентно:
{ a; while (b) { d; c; } }

Разница между этими двумя записями только в действии оператора continue:
При выполнении continue внутри for блок 'c' будет выполнен.

Т.е. в твоём примере for(int i=0;i<N;i++) { что-то; } эквивалентно:
{ int i = 0; while (i < N) { что-то; i++; } }
Тимур Михайлов
Тимур Михайлов
63 853
for ( переменные ; условие ; приращения ) { тело }; превращается в
{
переменные;
while (условие)
{
тело;
приращения;
}
}

где переменные - строка с начальными переменными для тела цикла. Можно задавать одну, можно несколько (через запятую), можно ни одной.

for ( int i = 0; ; ) означает что будет создана новая переменная i которая будет использоваться только в теле цикла. Если до цикла была обьявлена другая переменная i то в цикле будет использована по умолчанию внутренняя. Которая никак не повлияет на внешнюю.

for (i = 0; ; ) означает что будет использована уже имеющаяся внешняя переменная i которой в начале будет присвоен нуль. После выхода из цикла i будет иметь то значение, которое она получит в ходе цикла.

for (i = 0, double x = 1; ; ) - будет использована внешняя i и дополнительно создана double x, которая будет видна только внутри цикла.

for ( ; ; )
пустое место означает что будут использованы только внешние переменные со значениями на момент выполнения цикла.

условие - логическое выражение, при соблюдении которого цикл выполняется. Если поле пустое то по умолчанию будет вставлено true (т.е. операция выхода из цикла должна быть реализована в теле последнего (через break или более кардинальным собособом - return или exit() )

приращения - в конце каждого прохождения по циклу над указанными переменными будет проведена указанная операция.
пустое место означает что никаких приращений отдельно не будет, но вам ничего не мешает внести их в тело цикла.

for (int i = 0, int x = 0; i<10; x+=i++)

в конце каждого цикла будет выполнятся x = x + i; i ++ ;

for ( ; ; ) - полностью идентичен while (true)
Mirzhan Ukulekov
Mirzhan Ukulekov
51 416
Ну программа будет выполнять код в цикле пока i будет меньше N. При выполнении цикла переменная i будет увеличиваться на едеицу
Гена Кордонюк
Гена Кордонюк
40 338
в скобках указана некоторая переменная типа натуральное число,n строковый итерал,i++ инкремент постоянно увеличивающийся на единицу
как работает сказать не могу,надо весь цикл смотреть
ЛЕ
Лев Ежов
2 060
Мурат Абдусаматов Натуральное число не может быть нулем
а саму суть строки понимаете? "к переменной=0 прибавлять 1, пока переменная не станет равной числу N" (переменная равная N в цикл не входит)