Cicli in C: istruzioni For, While, Do While in loop [Esempi]
Cos'è il loop in C?
Dichiarazioni in loop in C eseguire la sequenza di istruzioni più volte finché la condizione dichiarata diventa falsa. Un ciclo in C è composto da due parti, il corpo del ciclo e un'istruzione di controllo. L'istruzione di controllo è una combinazione di alcune condizioni che ordinano l'esecuzione del corpo del ciclo fino a quando la condizione specificata diventa falsa. Lo scopo del ciclo C è ripetere lo stesso codice più volte.
Tipi di loop in C
A seconda della posizione di un'istruzione di controllo in un programma, l'istruzione di loop in C è classificata in due tipi:
1. Anello controllato in entrata
2. Uscire dal circuito controllato
In un ciclo di controllo dell'ingresso in C, una condizione viene verificata prima di eseguire il corpo di un ciclo. Viene anche chiamato ciclo di pre-controllo.
In un uscita dal circuito controllato, una condizione viene verificata dopo aver eseguito il corpo di un ciclo. Viene anche chiamato ciclo di controllo post.

Le condizioni di controllo devono essere ben definite e specificate, altrimenti il ciclo verrà eseguito un numero infinito di volte. Il ciclo che non smette di eseguire ed elabora le istruzioni numero di volte viene chiamato come un ciclo infinito. Un ciclo infinito è anche chiamato “Ciclo infinito.” Di seguito sono riportate alcune caratteristiche di un ciclo infinito:
1. Non è specificata alcuna condizione risolutiva.
2. Le condizioni specificate non si soddisfano mai.
La condizione specificata determina se eseguire o meno il corpo del ciclo.
Il linguaggio di programmazione 'C' ci fornisce tre tipi di costrutti di loop:
1. Il ciclo while
2. Il ciclo "fai-mentre".
3. Il ciclo for
Sr. No. | Tipo di loop | Descrizione |
---|---|---|
1. | Mentre il ciclo | Nel ciclo while, una condizione viene valutata prima di elaborare il corpo del ciclo. Se una condizione è vera allora e solo allora viene eseguito il corpo del ciclo. |
2. | Ciclo Do-While | In un ciclo do… while, la condizione viene sempre eseguita dopo il corpo del ciclo. Viene anche chiamato ciclo con uscita controllata. |
3. | Per Loop | In un ciclo for, il valore iniziale viene eseguito una sola volta, quindi la condizione testa e confronta il contatore con un valore fisso dopo ogni iterazione, interrompendo il ciclo for quando viene restituito false. |
Mentre Loop in C
Un ciclo while è la struttura di ciclo più semplice. Mentre la sintassi del loop nel linguaggio di programmazione C è la seguente:
Sintassi del ciclo While in C
while (condition) { statements; }
È un circuito con ingresso controllato. Nel ciclo while, una condizione viene valutata prima di elaborare il corpo del ciclo. Se una condizione è vera allora e solo allora viene eseguito il corpo del ciclo. Dopo che il corpo di un ciclo è stato eseguito, il controllo torna nuovamente all'inizio e la condizione viene verificata se è vera, lo stesso processo viene eseguito finché la condizione non diventa falsa. Una volta che la condizione diventa falsa, il controllo esce dal ciclo.
Dopo essere usciti dal ciclo, il controllo passa alle istruzioni immediatamente successive al ciclo. Il corpo di un ciclo può contenere più di un'istruzione. Se contiene una sola istruzione, le parentesi graffe non sono obbligatorie. Tuttavia è una buona pratica usare le parentesi graffe anche se abbiamo una sola istruzione nel corpo.
Nel ciclo while, se la condizione non è vera, il corpo del ciclo non verrà eseguito nemmeno una volta. Diverso è il ciclo do while che vedremo tra poco.
Il programma seguente illustra il ciclo while in un esempio di programmazione C:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable while(num<=10) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
Produzione:
1 2 3 4 5 6 7 8 9 10
Il programma sopra illustra l'uso del ciclo while. Nel programma sopra abbiamo stampato una serie di numeri da 1 a 10 utilizzando un ciclo while.

- Abbiamo inizializzato una variabile chiamata num con valore 1. Stamperemo da 1 a 10 quindi la variabile viene inizializzata con valore 1. Se vuoi stampare da 0, assegna il valore 0 durante l'inizializzazione.
- In un ciclo while, abbiamo fornito una condizione (num<=10), il che significa che il ciclo eseguirà il corpo finché il valore di num non diventa 10. Dopodiché, il ciclo verrà terminato e il controllo cadrà all'esterno del ciclo.
- Nel corpo di un ciclo, abbiamo una funzione print per stampare il nostro numero e un'operazione di incremento per incrementare il valore per ogni esecuzione di un ciclo. Il valore iniziale di num è 1, dopo l'esecuzione diventerà 2 e durante l'esecuzione successiva diventerà 3. Questo processo continuerà finché il valore non diventerà 10, quindi stamperà la serie sulla console e terminerà il ciclo .
\n viene utilizzato per scopi di formattazione, il che significa che il valore verrà stampato su una nuova riga.
Ciclo Do-While in C
Un ciclo do... while in C è simile al ciclo while, tranne per il fatto che la condizione viene sempre eseguita dopo il corpo del ciclo. Viene anche chiamato ciclo con uscita controllata.
La sintassi del ciclo do while nel linguaggio di programmazione C è la seguente:
Sintassi del ciclo Do-While in C
do { statements } while (expression);
Come abbiamo visto in un ciclo while, il corpo viene eseguito se e solo se la condizione è vera. In alcuni casi dobbiamo eseguire il corpo del ciclo almeno una volta anche se la condizione è falsa. Questo tipo di operazione può essere ottenuto utilizzando un ciclo do- while.
Nel ciclo do-while, il corpo di un ciclo viene sempre eseguito almeno una volta. Dopo che il corpo è stato eseguito, controlla la condizione. Se la condizione è vera, eseguirà di nuovo il corpo di un ciclo, altrimenti il controllo viene trasferito fuori dal ciclo.
Similmente al ciclo while, una volta che il controllo esce dal ciclo vengono eseguite le istruzioni immediatamente successive al ciclo.
La differenza fondamentale tra il ciclo while e il ciclo do- while è che nel ciclo while il ciclo while viene scritto all'inizio. Nel ciclo do- while, la condizione while viene scritta alla fine e termina con un punto e virgola (;)
Il seguente programma ciclico in C illustra il funzionamento di un ciclo do-while:
Di seguito è riportato un ciclo do- while nell'esempio C per stampare una tabella del numero 2:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation }while(num<=10); return 0; }
Produzione:
2 4 6 8 10 12 14 16 18 20
Nell'esempio sopra, abbiamo stampato la tabella di moltiplicazione del 2 utilizzando un ciclo do- while. Vediamo come il programma è riuscito a stampare la serie.

- Per prima cosa abbiamo inizializzato una variabile 'num' con il valore 1. Poi abbiamo scritto un ciclo do- while.
- In un ciclo, abbiamo una funzione di stampa che stamperà la serie moltiplicando il valore di num per 2.
- Dopo ogni incremento, il valore di num aumenterà di 1 e verrà stampato sullo schermo.
- Inizialmente, il valore di num è 1. Nel corpo di un ciclo, la funzione di stampa verrà eseguita in questo modo: 2*num dove num=1, quindi 2*1=2 quindi verrà stampato il valore due. Questo andrà avanti fino a quando il valore di num diventa 10. Dopodiché il ciclo verrà terminato e verrà eseguita un'istruzione immediatamente successiva al ciclo. In questo caso restituisci 0.
Ciclo for in C
Un ciclo for è una struttura di ciclo più efficiente nella programmazione "C". La struttura generale della sintassi del ciclo for in C è la seguente:
Sintassi del ciclo For in C
for (initial value; condition; incrementation or decrementation ) { statements; }
- Il valore iniziale del ciclo for viene eseguito solo una volta.
- La condizione è un'espressione booleana che testa e confronta il contatore con un valore fisso dopo ogni iterazione, interrompendo il ciclo for quando viene restituito false.
- L'incremento/decremento incrementa (o decrementa) il contatore di un valore impostato.
Il programma seguente illustra il ciclo for nell'esempio di programmazione C:
#include<stdio.h> int main() { int number; for(number=1;number<=10;number++) //for loop to print 1-10 numbers { printf("%d\n",number); //to print the number } return 0; }
Produzione:
1 2 3 4 5 6 7 8 9 10
Il programma sopra stampa la serie di numeri da 1 a 10 utilizzando il ciclo for.

- Abbiamo dichiarato a variabile di un tipo di dati int per memorizzare valori.
- Nel ciclo for, nella parte di inizializzazione, abbiamo assegnato il valore 1 alla variabile numero. Nella parte condizione, abbiamo specificato la nostra condizione e poi la parte incremento.
- Nel corpo di un ciclo abbiamo una funzione print per stampare i numeri su una nuova riga nella console. Abbiamo il valore uno memorizzato in numero, dopo la prima iterazione il valore verrà incrementato e diventerà 2. Ora la variabile numero ha il valore 2. La condizione verrà ricontrollata e poiché la condizione è vera verrà eseguito il ciclo, e ne stamperà due sullo schermo. Questo ciclo continuerà ad essere eseguito finché il valore della variabile non diventa 10. Successivamente, il ciclo verrà terminato e sullo schermo verrà stampata una serie da 1 a 10.
In C, il ciclo for può avere più espressioni separate da virgole in ciascuna parte.
Per esempio:
for (x = 0, y = num; x < y; i++, y--) { statements; }
Inoltre, possiamo saltare l'espressione del valore iniziale, la condizione e/o l'incremento aggiungendo un punto e virgola.
Per esempio:
int i=0; int max = 10; for (; i < max; i++) { printf("%d\n", i); }
Si noti che i cicli possono anche essere nidificati dove sono presenti un ciclo esterno e un ciclo interno. Per ogni iterazione del ciclo esterno, il ciclo interno ripete l'intero ciclo.
Si consideri il seguente esempio con più condizioni nel ciclo for, che utilizza un ciclo for annidato nella programmazione C per generare una tabella di moltiplicazione:
#include <stdio.h> int main() { int i, j; int table = 2; int max = 5; for (i = 1; i <= table; i++) { // outer loop for (j = 0; j <= max; j++) { // inner loop printf("%d x %d = %d\n", i, j, i*j); } printf("\n"); /* blank line between tables */ }}
Produzione:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
L'annidamento dei cicli for può essere eseguito a qualsiasi livello. I cicli nidificati dovrebbero essere adeguatamente rientrati per rendere leggibile il codice. In alcune versioni di "C", l'annidamento è limitato a 15 cicli, ma alcuni ne forniscono di più.
I cicli nidificati vengono utilizzati principalmente nelle applicazioni di array che vedremo in ulteriori tutorial.
Dichiarazione di interruzione in C
L'istruzione break viene utilizzata principalmente nel file istruzione switch. È utile anche per interrompere immediatamente un loop.
Consideriamo il seguente programma che introduce un break per uscire da un ciclo while:
#include <stdio.h> int main() { int num = 5; while (num > 0) { if (num == 3) break; printf("%d\n", num); num--; }}
Produzione:
5 4
Continua Dichiarazione in C
Quando vuoi passare all'iterazione successiva ma rimanere nel ciclo, dovresti usare l'istruzione continue.
Per esempio:
#include <stdio.h> int main() { int nb = 7; while (nb > 0) { nb--; if (nb == 5) continue; printf("%d\n", nb); }}
Produzione:
6 4 3 2 1
Quindi, il valore 5 viene saltato.
Quale ciclo selezionare?
La selezione di un ciclo è sempre un compito arduo per un programmatore. Per selezionare un ciclo, procedere come segue:
- Analizzare il problema e verificare se richiede un ciclo di pre-test o post-test.
- Se è necessario un test preliminare, utilizzare while o for a loop.
- Se è richiesto il post-test, utilizzare un ciclo do- while.
Sommario
- Definire il loop in C: Un loop è uno dei concetti chiave di qualsiasi Linguaggio di programmazione. I cicli nel linguaggio C vengono implementati utilizzando istruzioni condizionali.
- Un blocco di istruzioni di controllo del ciclo in C viene eseguito per un numero di volte finché la condizione non diventa falsa.
- I cicli nella programmazione C sono di 2 tipi: controllati dall'entrata e controllati dall'uscita.
- L'elenco delle varie istruzioni di controllo del loop in C: la programmazione C ci fornisce 1) mentre 2) do- while e 3) per le istruzioni di controllo del loop.
- For e while la programmazione in loop C sono loop controllati da voci in linguaggio C.
- Do- while è un ciclo di controllo di uscita in C.