Els bucles en llenguatge C són les declaracions de flux de control que s'utilitzen per repetir alguna part del codi fins que es compleix la condició donada. El bucle do-while és una de les tres declaracions de bucle de C, les altres són bucles while i bucles for. S'utilitza principalment per recórrer matrius, vectors i altres estructures de dades.
Què és do...while Loop en C?
El fer... mentre que a C és una instrucció de bucle que s'utilitza per repetir alguna part del codi fins que es compleixi la condició donada. És una forma d'an bucle controlat per sortida o postprovat on es comprova la condició de prova després d'executar el cos del bucle. A causa d'això, les declaracions del bucle do...while sempre s'executaran almenys una vegada sense importar quina sigui la condició.
Sintaxi de do...while Loop en C
do { // body of do-while loop } while ( condition );>
Com utilitzar do...while Loop a C
L'exemple següent demostra l'ús de do...while loop en llenguatge de programació 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;> }> |
>
>Sortida
Geeks Geeks Geeks>
Com funciona... mentre funciona Loop?

Sintaxi Estructura del bucle do while
El funcionament del bucle do...while s'explica a continuació:
- Quan el control del programa arriba per primera vegada al bucle do...while, primer s'executa el cos del bucle i després es comprova la condició/expressió de prova , a diferència d'altres bucles on la condició de prova es comprova primer. A causa d'aquesta propietat, el bucle do...while també s'anomena bucle de sortida controlada o postprovat.
- Quan la condició de prova s'avalua com veritat , el el control del programa va al principi del bucle i el cos s'executa una vegada més.
- El procés anterior es repeteix fins que la condició de prova és certa.
- Quan la condició de prova s'avalua com fals, els controls del programa passen a les declaracions següents després del bucle do...while.
Igual que amb el bucle while a C, la inicialització i l'actualització no formen part de la sintaxi del bucle do...while. Ho hem de fer de manera explícita abans i en el bucle respectivament.
El diagrama de flux següent mostra la representació visual del flux del do... while bucle en C.
C do...while Diagrama de flux de bucle

Diagrama de flux de do...while Loop en C
Anidat do...while Loop a C
Igual que amb altres bucles, també podem niar un do... mentre fem un bucle en un altre bucle. Es demostra amb el següent programa C.
Exemple de anidat do...while Loop en 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;> }> |
>
>Sortida
0 1 2 3 4 5 6 7 8>
Per obtenir més informació sobre bucles imbricats a C, consulteu aquest article: bucles imbricats en C amb exemples
Exemples de do...while Loop en C
Exemple 1. C Programa per demostrar el comportament del bucle do...while si la condició és falsa des del principi.
C
números bloquejats
// 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;> }> |
>
>Sortida
This is loop body.>
Com podem veure, fins i tot quan la condició és falsa a l'inici, el cos del bucle s'executa una vegada. Això es deu al fet que en el bucle do...while, la condició es comprova després de passar pel cos, de manera que quan el control està a l'inici,
- Passa pel cos del bucle.
- Executa totes les declaracions del cos.
- Comprova la condició que resulta ser falsa.
- Aleshores surt del bucle.
Exemple 2. C Programa per imprimir la taula de multiplicació de N amb el bucle do...while
L'exemple següent demostra l'ús de do...while bucle per imprimir la taula de multiplicar de 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;> }> |
>
tutorial de selenium java
>Sortida
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>
Diferència entre while i do...while Loop a C
La taula següent enumera els importants diferències entre el while i el do...while Loop en C.
while Loop | fer... mentre que Loop |
---|---|
Es comprova la condició de la prova abans d'executar el cos del bucle. | Es comprova la condició de la prova després d'executar el cos. |
Quan la condició és falsa, el el cos no està executat ni una sola vegada. | El cos de la do... mentre el bucle s'executa almenys una vegada fins i tot quan la condició és falsa. |
És un tipus de bucle preprovat o controlat per entrada. | És un tipus de bucle postprovat o controlat per sortida. |
No és necessari el punt i coma. | Es requereix punt i coma al final. |
Per saber més sobre aquestes diferències, consulteu aquest article: Diferència entre el bucle while i do-while en C, C++, Java
Conclusió
En conclusió, l'ús de l'únic bucle controlat per la sortida en C, el bucle do...while també és per iterar una part determinada del codi, però la forma en què funciona el fa diferent dels bucles controlats per l'entrada, com ara el bucle while i el for. bucle. És útil en els casos en què necessitem executar la instrucció dins del cos del bucle almenys una vegada, com per exemple en recórrer llistes enllaçades circulars.
Preguntes freqüents sobre C do...while Loops
1. Quants tipus de bucles hi ha en C?
Anys: Hi ha 3 tipus de bucles en llenguatge C:
- per Loop
- while Loop
- fer... mentre que Loop
2. Quins són els bucles controlats per entrada o preprovats?
Anys: Els bucles controlats per entrada o bucles preprovats són aquells bucles en què el bucle La condició es comprova abans d'executar el cos del bucle.
3. Quins són els bucles controlats per la sortida o postprovats?
Anys: Els bucles controlats per la sortida o bucles postprovats són aquells bucles en què el el control del programa arriba al cos del bucle abans de comprovar la condició del bucle .
4. Quin bucle s'executa almenys una vegada?
Anys: El fer... mentre bucle està garantit per executar les instruccions al cos del bucle almenys una vegada, ja que és un tipus de bucle controlat per la sortida.
5. Podem saltar claus en C do...while bucle sintaxi si només hi ha una declaració al cos?
Ans: No , no podem saltar claus en C do...mentre la sintaxi encara que només hi hagi una sola declaració a diferència del bucle while i for.
6. Com crear un bucle infinit en C amb el bucle do...while?
Anys: Podem crear un bucle infinit en C especificant a condició que sempre serà certa com a condició de bucle. El programa següent mostra com fer-ho:
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;> }> |
>
>
Sortida
gfg gfg gfg gfg gfg gfg gfg .... (infinite)>