Цикл з відомим числом кроків (for)

Синтаксис циклу має виглад:

for (вираз1; вираз2; вираз3) блок_операторів;

Цей оператор працює наступним чином. Спочатку виконується вираз1, якщо він присутній в конструкції. Потім обчислюється величина виразу2, і якщо отриманий результат прийняв істинне значення виконується тіло циклу блок_операторів. У протилежному випаду виконання циклу зупиняється і відбувається перехід до оператора, що слідує безпосередньо за тілом циклу. Після виконання тіла циклу виконується вираз3 і відбувається перехід до пункту обчислення виразу2.

Вираз1 частіше за все служить в якості ініціалізації якої небудь змінної, що виконує роль лічильника ітерацій.

Вираз2 використовується як перевірочна умова і на практиці найчастіше містить вираз з операторами порівняння. За замовченням величина виразу2 приймає істинне значення.

Вираз3 зазвичай використовуєтсья для зміни значення лічильника циклу або ж містить вираз, що якимось чином впливає на перевірочну умову.

Усі три вирази не обов’язково повинні бути присутніми в конструкції, проте синтаксис не допускає пропуску символа крапка з комою (;). Тому найпростіший приклад нескінченного циклу виглядає наступним чином:

for (;;)

cout<<”Нескінчений цикл”;

Якщо в циклі повинні синхронно змінюватися значення декілької змінних, які залежать від змінної циклу, обчислення їх значень можна помістити в оператор for, використавши оператор «кома».

Типова помилка програмування таких циклів – змінення значення лічильника як в конструкції, так і далі в тілі циклу. Це може призвести до таких негативних наслідків, як «випадення» або повтор ітерацій.

int s=0;

for(int i=1; i<10;i++)

{

s+=i;

cout<<s;

}

Використовуючи оператор «кома» цикл можна переписати наступним чином:

int s=0;

for(int i=1; i<10; i++, s+=i);

cout<<s;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: