Цикл 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)
тіло циклу;
тіло циклу;