Il ciclo for in C

Nel linguaggio C il ciclo for è una struttura di controllo iterativa che consente di ripetere un blocco di codice un numero prestabilito di volte. La sintassi dell’istruzione for è la seguente:


 
for(inizializzazione; condizione; incremento){
    // blocco di codice
}

Il ciclo for è composto da quattro elementi; il primo è l’inizializzazione in cui viene indicato il valore iniziale di una variabile usata per contare il numero di iterazioni del ciclo, il secondo elemento è la condizione che indica la condizione di esecuzione del ciclo, il terzo elemento è l’incremento che specifica l’incremento (o decremento) del valore della variabile ad ogni ciclo, mentre l’ultimo elemento è il blocco di codice che viene eseguito ad ogni iterazione.

Analogamente a quanto accade nel ciclo while e al ciclo do while, se la condizione non è verificata allora viene terminata l’esecuzione del ciclo e si passa all’istruzione successiva. Mentre se la condizione risulta essere verificata, allora l’istruzione for esegue il suo blocco di codice e al termine incrementa (o decrementa) la variabile di controllo e successivamente ripete il processo.

Ogni elemento presente nell’istruzione for può essere omessa, però in questa maniera potrebbe essere compromessa la normale esecuzione del ciclo for. In particolare, potrebbe accadere che venga eseguito all’infinito.

Nota: l’istruzione break può essere molto utile nella gestione del ciclo for come nel while e nel do while, per interrompere l’esecuzione del ciclo. Può risultare utile anche l’istruzione continue che permette di saltare una iterazione del ciclo, senza però interromperlo.

Esempio di utilizzo del ciclo for in C

In questo esempio il programma utilizza il ciclo for per stampare a video dieci numeri da 0 a 9. A differenza di quanto accade nei cicli while e do while, nel ciclo for inizializziamo e incrementiamo la variabile “i” all’interno dell’istruzione for, ponendo come condizione che i debba essere minore di 10.


 
#include <stdio.h>

int main(){
    for(int i=0; i<10; i++){
        printf("%d ", i);
    }

    return 0;
}


Output: 0 1 2 3 4 5 6 7 8 9

Nel seguente caso invece usiamo le istruzioni break e continue per manipolare l’esecuzione del ciclo for, ovvero controlliamo se i = 4 e in questo caso facciamo saltare una iterazione del ciclo, mentre se i = 7 usiamo break per terminare l’esecuzione del ciclo for.


 
#include <stdio.h>

int main(){
    for(int i=0; i<10; i++){
        if(i == 4){
            continue;
        }  else if(i == 7){
            break;
        }
        printf("%d ", i);
    }

    return 0;
}


Output: 0 1 2 3 5 6

Osservando l’output si può notare che il valore 4 non viene stampato, infatti la continue viene chiamata prima della printf e successivamente si passa direttamente all' incrementazione del valore di “i”, per poi passare alla prossima iterazione. Analogamente non vengono stampati i numeri 7, 8, 9 perché viene interrotta l’esecuzione del for grazie al break.

Indice pagine linguaggio C: