C/Blocchi e funzioni/Cicli
Il C consente l'uso di cicli iterativi e condizionali che sono il ciclo while, il do-while e il for.
Ciclo while
[modifica | modifica sorgente]Il ciclo while
ripete delle istruzioni finché l'espressione specificata è vera. Vedi anche verità e falsità in C.
La condizione viene controllata all'inizio del ciclo, e questo vuol dire che se l'espressione è subito falsa le istruzioni nel ciclo non verranno eseguite nemmeno una volta.
Sintassi
[modifica | modifica sorgente] while(espressione)
istruzione;
while(espressione)
{
istruzione1;
istruzione2;
istruzioneN;
}
Esempi d'uso
[modifica | modifica sorgente] int i=10;
while(i!=0) //Finché 'i' è diverso da 0. Si potrebbe scrivere anche semplicemente while(i)
{
printf("Il numero è: %d \n", i);
i--;
}
Ciclo do-while
[modifica | modifica sorgente]Il ciclo do-while
, come il ciclo while, ripete le istruzioni finché la condizione immessa risulta vera.
Le istruzioni nel blocco, però, vengono eseguite almeno una volta perché la condizione viene controllata alla fine.
Sintassi
[modifica | modifica sorgente] do
{
istruzione1;
istruzione2;
istruzioneN;
}while(espressione);
Esempi d'uso
[modifica | modifica sorgente] int i=10;
do
{
printf("Il numero è %d \n", i);
i--;
}while(i>0);
Ciclo for
[modifica | modifica sorgente]Il ciclo for
ripete un blocco di istruzioni finché la condizione specificata è vera.
La condizione viene verificata all'inizio.
È possibile omettere qualsiasi istruzione del ciclo for.
Sintassi
[modifica | modifica sorgente] for(istruzione_di_inizializzazione_delle_variabili; espressione; istruzione_di_modifica_delle_variabili)
istruzione;
for(istruzione_di_inizializzazione_delle_variabili; espressione; istruzione_di_modifica_delle_variabili)
{
istruzione1;
istruzione2;
istruzioneN;
}
L'istruzione di inizializzazione permette di impostare un valore iniziale alle variabili che verranno utilizzate nel ciclo; l'istruzione di modifica delle variabili permette di incrementare (o decrementare) le variabili utilizzate nel ciclo.
Esempi d'uso
[modifica | modifica sorgente]Le istruzioni break e continue
[modifica | modifica sorgente]Se si inserisce un'istruzione break all'interno di un ciclo, esso terminerà. L'applicazione riprenderà dalla prima istruzione fuori dal ciclo.
Esempio (un altro esempio d'uso di break è stato fatto in Blocco switch-case)
while(1){//Ripete all'infinito
if((random()%10) == 4)
break;
}
Questo programma terminerà soltanto quando il generatore di numeri casuali estrarrà 4.
Se si inserisce l'istruzione continue in un ciclo, esso salterà all'iterazione successiva.
Esempio:
int i=0;
for(i=0; i<=10; i++){
if(i==4)//Il 4 va saltato
continue;
printf("Il numero è %d", i);
}