Цикл for в c, уроки з

Безумовно, найбільш використовуваним циклом в C ++ є for. Ціклfor ідеальний, коли ми точно знаємо, скільки ітерацій має бути.

Виглядає він досить просто:

Або, перетворюючи for в еквівалентний цикл while:

Змінні, визначені всередині циклу for, мають спеціальний тип області видимості - область видимості циклу. Такі змінні існують тільки всередині циклу і недоступні за його межами.

Виконання циклу for

Цикл for виконується в три етапи:

2. Виконується другий вираз: умова. Якщо умова одно false, цикл негайно припиняється. Якщо одно true - виконується тіло циклу.

3. Після виконання тіла циклу виконується третя вираз: інкремент / декрементсчетчіка циклу. Мінлива збільшується або зменшується на одиницю. Після цього цикл повертається до кроку 2.

Розглянемо приклад циклу for і розберемося детальніше, як він працює:

for (int count = 0; count <10 ; ++ count )

cout <

Спочатку ми оголошуємо змінну count та присвоюємо їй значення 0.

Далі виконується умова count <10. а так как count равен 0, то условие 0 <10 имеет значение true. Следовательно, выполняется тело цикла, в котором мы выводим в консоль переменную count (0).

Потім виконується вираз ++ count, тобто інкремент змінної. Потім цикл знову повертається до перевірки умови.

Умова 1 <10 имеет значение true, поэтому тело цикла выполняется снова. Выводится 1, а переменная count увеличивается уже к значению 2. Условие 2 <10 — true, выводится 2, а count увеличивается к 3. И так далее.

В кінці, count збільшується до 10, а умова 10 <10 — ложное, и цикл завершается.

Отже, результат програми:

0 1 2 3 4 5 6 7 8 9

Цикли for можуть бути кілька важкими для початківців програмістів, однак досвідчені кодери люблять їх, тому що ці цикли дуже компактні і зручні. Для наочності, давайте перетворимо цикл for вище в еквівалентний цикл while:

0 1 2 3 4 5 6 7 8 9

Ініціалізацію лічильника ми прописали поза циклом, а інкремент лічильника всередині циклу. У самому операторі for ми вказали лише умова. Іноді бувають випадки, коли не потрібно оголошувати лічильник циклу (тому що у нас вже є один) або збільшувати його (так як ми збільшуємо його якимось іншим способом).

Хоч це і не часто можна спостерігати, але в операторі for можна взагалі нічого не вказувати. Варто зазначити, що подібне призведе до нескінченного виконання циклу:

for (;;)
тіло циклу;

Приклад вище еквівалентний:

while (true)
тіло циклу;