I cicli nel linguaggio C sono le istruzioni del flusso di controllo che vengono utilizzate per ripetere alcune parti del codice finché non viene soddisfatta la condizione specificata. IL ciclo 'fai-mentre'. è una delle tre istruzioni di ciclo in C, le altre sono il ciclo while e il ciclo for. Viene utilizzato principalmente per attraversare array, vettori e altre strutture dati.
Che cosa è fare... while Loop in C?
IL fare…mentre in C è un'istruzione in loop utilizzata per ripetere parte del codice finché non viene soddisfatta la condizione specificata. È una forma di a circuito con uscita controllata o post-testato dove la condizione di test viene verificata dopo aver eseguito il corpo del ciclo. Per questo motivo, le istruzioni nel ciclo do… while verranno sempre eseguite almeno una volta, indipendentemente dalla condizione.
Sintassi di do… while Loop in C
do { // body of do-while loop } while ( condition );> Come usare do... while Loop in C
L'esempio seguente dimostra l'uso del ciclo do… while nel linguaggio di programmazione C.
C
// C Program to demonstrate the use of do...while loop> #include> int> main()> {> >// loop variable declaration and initialization> >int> i = 0;> >// do while loop> >do> {> >printf>(>'Geeks
'>);> >i++;> >}>while> (i <3);> >return> 0;> }> |
>
>Produzione
Geeks Geeks Geeks>
Come funziona il ciclo do... while?

Sintassi Struttura del ciclo do while
Il funzionamento del ciclo do… while è spiegato di seguito:
- Quando il controllo del programma arriva per la prima volta al ciclo do... while, viene eseguito prima il corpo del ciclo e poi viene verificata la condizione/espressione di test , a differenza di altri cicli in cui viene verificata prima la condizione di test. A causa di questa proprietà, il ciclo do… while è anche chiamato ciclo di uscita controllato o post-testato.
- Quando la condizione di test viene valutata come VERO , IL il controllo del programma va all'inizio del ciclo e il corpo viene eseguito ancora una volta.
- Il processo sopra descritto si ripete finché la condizione di test non è vera.
- Quando la condizione di test viene valutata come falso, i controlli del programma passano alle istruzioni successive dopo il ciclo do... while.
Come con il ciclo while in C, l'inizializzazione e l'aggiornamento non fanno parte della sintassi del ciclo do... while. Dobbiamo farlo esplicitamente rispettivamente prima e nel ciclo.
Il diagramma di flusso seguente mostra la rappresentazione visiva del flusso del ciclo do… while in C.
C fai...mentre Loop Flowchart

Diagramma di flusso di do… while Loop in C
Annidato do…mentre Loop in C
Come con gli altri cicli, possiamo anche nidificare un ciclo do... while in un altro ciclo. Viene dimostrato utilizzando il seguente programma C.
Esempio di Nested do... while Loop in C:
C
// C Program to demonstrate the nesting of do...while loop> #include> int> main()> {> >// declaring loop variables> >int> i = 0, j;> >int> count = 0;> >// outer loop starts> >do> {> >j = 0;> >// inner loop starts> >do> {> >printf>(>'%d '>, count++);> >j++;> >}>while> (j <3);> >// inner loop ends> >printf>(>'
'>);> >i++;> >}>while> (i <3);> >// outer loop ends> >return> 0;> }> |
>
>Produzione
0 1 2 3 4 5 6 7 8>
Per saperne di più sui cicli nidificati in C, fare riferimento a questo articolo – Cicli nidificati in C con esempi
Esempi di loop do… while in C
Esempio 1. Programma C per dimostrare il comportamento del ciclo do… while se la condizione è falsa dall'inizio.
C
tipi di dati Java
// C Program to demonstrate the do...while loop behaviour> // when the condition is false from the start> #include> #include> int> main()> {> >// declaring a false variable> >bool> condition =>false>;> >do> {> >printf>(>'This is loop body.'>);> >}>while> (condition);>// false condition> >return> 0;> }> |
>
>Produzione
This is loop body.>
Come possiamo vedere, anche quando la condizione è falsa all'inizio, il corpo del ciclo viene eseguito una volta. Questo perché nel ciclo do... while, la condizione viene controllata dopo aver attraversato il corpo, quindi quando il controllo è all'inizio,
- Passa attraverso il corpo del circuito.
- Esegue tutte le istruzioni nel corpo.
- Controlla la condizione che risulta essere falsa.
- Quindi esce dal ciclo.
Esempio 2. Programma C per stampare la tabella di moltiplicazione di N utilizzando il ciclo do... while
L'esempio seguente dimostra l'uso del ciclo do… while per stampare la tavola pitagorica di N.
C
// C Program to print multiplication table using do...while> // loop> #include> int> main()> {> >int> N = 5, i = 1;> >do> {> >printf>(>'%d x %d = %d
'>, N, i, N * i);> >}>while> (i++ <10);> >return> 0;> }> |
>
Esempi di automi DFA
>Produzione
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50>
Differenza tra while e do… while Loop in C
La tabella seguente elenca gli aspetti importanti differenze tra il ciclo while e il ciclo do… while in C.
| mentre Ciclo | fai...mentre Loop |
|---|---|
| La condizione di prova viene verificata prima che il corpo del ciclo venga eseguito. | La condizione di prova viene verificata dopo aver giustiziato il corpo. |
| Quando la condizione è falsa, il il corpo non viene eseguito neanche una volta. | Il corpo del do... while il ciclo viene eseguito almeno una volta anche quando la condizione è falsa. |
| È un tipo di circuito pre-testato o con ingresso controllato. | È un tipo di circuito post-testato o con uscita controllata. |
| Il punto e virgola non è obbligatorio. | Alla fine è necessario il punto e virgola. |
Per saperne di più su queste differenze, fare riferimento a questo articolo – Differenza tra ciclo while e do- while in C, C++, Java
Conclusione
In conclusione, l'uso dell'unico ciclo con controllo di uscita in C, il ciclo do… while, serve anche per iterare una particolare parte di codice ma il modo in cui funziona lo rende diverso dai cicli con controllo di entrata come il ciclo while e il ciclo for ciclo continuo. È utile nei casi in cui dobbiamo eseguire l'istruzione all'interno del corpo del ciclo almeno una volta, ad esempio nell'attraversamento di elenchi concatenati circolari.
Le domande frequenti su C fanno... while Loops
1. Quanti tipi di loop esistono in C?
Anni: Esistono 3 tipi di loop nel linguaggio C:
- per Ciclo
- mentre Ciclo
- fai...mentre Loop
2. Cosa sono i circuiti ad ingresso controllato o pre-testati?
Anni: I loop con ingresso controllato o loop pre-testati sono quei loop in cui il loop la condizione viene controllata prima di eseguire il corpo del ciclo.
3. Cosa sono i circuiti di uscita controllati o post-testati?
Anni: I cicli con uscita controllata o cicli post-testati sono quei cicli in cui il il controllo del programma arriva al corpo del ciclo prima di verificarne la condizione .
4. Quale ciclo è garantito per essere eseguito almeno una volta?
Anni: IL fai... while loop è garantito l'esecuzione delle istruzioni nel corpo del ciclo almeno una volta poiché è un tipo di ciclo con uscita controllata.
5. Possiamo saltare le parentesi graffe nella sintassi del ciclo do… while in C se c'è una sola istruzione nel corpo?
Risposta: no. , non possiamo saltare le parentesi graffe nella sintassi do… while del C anche se c'è una sola istruzione a differenza del ciclo while e for.
6. Come creare un ciclo infinito in C utilizzando il ciclo do... while?
Anni: Possiamo creare un ciclo infinito in C specificando a condizione che sarà sempre vera come condizione del ciclo. Il programma seguente mostra come farlo:
C
// C Program to create a infinite loop using do...while loop> // in C> #include> int> main()> {> >// infinite loop> >do> {> >printf>(>'gfg '>);> >}>while> (1);>// always 1 ~ true> >return> 0;> }> |
>
>
Produzione
gfg gfg gfg gfg gfg gfg gfg .... (infinite)>