Увод в програмирането  alpha
Оператор за цикъл for

Общ вид:

        for ( израз1 ; израз2; израз3 )
        {
                
        }

For е съставен оператор:

<!- // блок схема! –>

For

Обикновено с израз1 се задават начални стойности на променливи, които участват в израз2.

Израз2 е условие за продължаване на цикъла. Това условие управлява продължителността на цикъла.

С израз3 се определя правило, по което променливи от израз2 се изменят на всяка итерация на цикъла.

Най-често израз1 и израз3 са изрази за присвояване, а израз 2 е израз за сравнение.

Всички променливи, които се използват в израз1, израз 2 и израз3, трябва да са предварително дефинирани така както изисква общото правило за дефиниране на променливи.

Най-често срещаното приложение на for са цикли с предварително известен брой итерации и използващи управляваща променлива.

Задача:

Да се сумират целите числа от n1 до n2 включително.

Решение:

        int i, n1, n2, result;
        result = 0;
        n1=3;
        n2=5;
        for(i=n1; i<=n2; i++)
                result = result+i;
Note
В примера по-горе i e управляваща променлива.

Управляващата променлива на цикъла запазва своята последна стойност след завършването на цикъла и може да бъде използвана за следващи пресмятания.

В синтаксиса на for израз1, израз2 и израз3 не са задължителни. Всеки от тях, поотделно и в комбинация с другите, може да бъде пропуснат. В тези случаи разделителите ";" отнсящи се към пропуснатите изрази трябва задължително да присъстват.

Ако и трите израза са пропуснати:

        for(;;)
                оператора;

Ако израз2 е пропуснат се смята, че условието е изпълнено винаги. Така се създава безкраен цикъл. За да се прекъсне подобен цикъл трябва да използваме команда break.

for( ; израз2 ; )
        оператор

Изразът по-горе е равносилен на:

        while(израз2)
                оператор

Задача:

Да се намери първият елемент равен на 0 в даден масив.

        int count, a[100];
        for( count = 0; a[count]!=0 ; count++ );
        // for ( cout = 0; a[count++] != 0; ); равносилно на предния ред;

Задача:

Намерете сумата на елементите на масива.

Решение:

        int suma, count, a[100];
        
        for ( suma = 0, count = 0; count < 100; suma += a[count++] );