Cicli in C: For, While, Do Whileping Dichiarazioni [Esempi]
โก Riepilogo intelligente
In C, i cicli ripetono un blocco di istruzioni finchรฉ una condizione di controllo non diventa falsa, e il linguaggio fornisce tre costrutti โ il ciclo while, il ciclo do-while e il ciclo for โ per l'ingresso e l'uscita dalla ripetizione controllata.

Cos'รจ il loop in C?
gabinettoping In linguaggio C, le istruzioni eseguono una sequenza di istruzioni piรน volte finchรฉ la condizione specificata non 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 condizioni che indicano al corpo del ciclo di essere eseguito finchรฉ la condizione specificata non diventa falsa. Lo scopo di un ciclo in C รจ ripetere lo stesso codice un certo numero di volte.
Tipi di loop in C
A seconda della posizione di un'istruzione di controllo in un programma, guardaping Le istruzioni in C si classificano in due tipi:
- Ciclo di ingresso controllato
- Uscire dal loop controllato
In un ciclo di controllo d'ingresso in C, una condizione viene verificata prima dell'esecuzione del corpo del ciclo. Viene anche chiamato ciclo di pre-controllo.
In un ciclo controllato dall'uscita, una condizione viene verificata dopo l'esecuzione del corpo del ciclo. Viene anche chiamato ciclo di post-controllo.
Ciclo di esempio
Le condizioni di controllo devono essere ben definite e specificate, altrimenti il โโciclo verrร eseguito un numero infinito di volte. Un ciclo che non smette di essere eseguito e continua a elaborare le istruzioni un numero infinito di volte รจ chiamato ciclo infinito. Un ciclo infinito รจ anche detto "ciclo senza fine". Di seguito sono riportate alcune caratteristiche di un ciclo infinito:
- Non รจ specificata alcuna condizione di terminazione.
- Le condizioni specificate non vengono mai soddisfatte.
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:
- Il ciclo while
- Il ciclo do-while
- 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 verifica e confronta il contatore con un valore fisso dopo ogni iterazione, fermatiping il ciclo for quando viene restituito false. |
Mentre Loop in C
Un ciclo while รจ il ciclo piรน sempliceping struttura. La sintassi del ciclo while 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.
While Loop nella programmazione C
- Abbiamo inizializzato un variabile La variabile `num` viene inizializzata con il valore 1. Poichรฉ stamperemo i numeri da 1 a 10, la variabile viene inizializzata con il valore 1. Se si desidera stampare a partire da 0, รจ necessario assegnare 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 .
Il carattere '\n' viene utilizzato per scopi di formattazione e indica 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.
Ciclo Do-While nella programmazione C
- 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 verifica e confronta il contatore con un valore fisso dopo ogni iterazione, stopping 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.
Per il ciclo nella programmazione C
- Abbiamo dichiarato una variabile di tipo int per memorizzare i 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
ร possibile annidare i cicli for fino a qualsiasi livello. I cicli annidati devono essere adeguatamente indentati per rendere il codice leggibile. In alcune versioni di 'C', l'annidamento รจ limitato a 15 cicli, ma altre ne consentono di piรน.
I cicli nidificati vengono utilizzati principalmente nelle applicazioni di array che vedremo in ulteriori tutorial.
Oltre ai tre tipi di ciclo, il linguaggio C offre due istruzioni che modificano il modo in cui un ciclo viene eseguito dall'interno.
Dichiarazione di interruzione in C
L'istruzione break viene utilizzata principalmente nel file istruzione switchร utile anche per fermarsi immediatamenteping un ciclo continuo.
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 un ciclo while o for.
- Se รจ richiesto il post-test, utilizzare un ciclo do- while.




