logo

doe...terwijl Loop in C

Lussen in de C-taal zijn de controlestroominstructies die worden gebruikt om een ​​deel van de code te herhalen totdat aan de gegeven voorwaarde is voldaan. De do-while-lus is een van de drie lusinstructies in C, de andere zijn while-lus en for-lus. Het wordt voornamelijk gebruikt om arrays, vectoren en andere datastructuren te doorkruisen.

Wat is doen...terwijl Loop in C?

De doen...terwijl je in C bent is een lusinstructie die wordt gebruikt om een ​​deel van de code te herhalen totdat aan de gegeven voorwaarde is voldaan. Het is een vorm van een uitgangsgecontroleerde of achteraf geteste lus waarbij de testvoorwaarde wordt gecontroleerd na het uitvoeren van de hoofdtekst van de lus. Hierdoor zullen de instructies in de do…while-lus altijd minstens één keer worden uitgevoerd, ongeacht de voorwaarde.



Syntaxis van do…while Loop in C

 do { // body of do-while loop } while ( condition );>

Hoe te gebruiken doe...terwijl Loop in C

Het volgende voorbeeld demonstreert het gebruik van de do…while-lus in de programmeertaal 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;> }>

>

>

Uitvoer

Geeks Geeks Geeks>

Hoe werkt de do...while Loop?

do while-lussyntaxis

Syntaxis Structuur van do while-lus

De werking van de do…while-lus wordt hieronder uitgelegd:

  1. Wanneer de programmabesturing voor het eerst bij de do…while-lus komt, de body van de lus wordt eerst uitgevoerd en vervolgens wordt de testvoorwaarde/-expressie gecontroleerd , in tegenstelling tot andere lussen waarbij de testvoorwaarde eerst wordt gecontroleerd. Vanwege deze eigenschap wordt de do…while-lus ook wel exit-gecontroleerde of post-geteste lus genoemd.
  2. Wanneer de testvoorwaarde wordt geëvalueerd als WAAR , de programmabesturing gaat naar het begin van de lus en het lichaam wordt nogmaals uitgevoerd.
  3. Het bovenstaande proces herhaalt zich totdat de testvoorwaarde waar is.
  4. Wanneer de testvoorwaarde wordt geëvalueerd als vals, de programmabesturingselementen gaan naar de volgende instructies na de do...while-lus.

Net als bij de while-lus in C, maken initialisatie en update geen deel uit van de do…while-syntaxis van de lus. We moeten dat respectievelijk expliciet vóór en in de lus doen.

Het onderstaande stroomdiagram toont de visuele weergave van de stroom van de do…while-lus in C.

C doen...terwijl Loop Flowchart

stroomdiagram van do...while-lus in C

Stroomschema van do...terwijl Loop in C

Genest doen...terwijl Loop in C

Net als bij andere lussen kunnen we ook de ene do…while-lus in een andere lus nesten. Het wordt gedemonstreerd met behulp van het volgende C-programma.

Voorbeeld van genest 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;> }>

>

>

Uitvoer

0 1 2 3 4 5 6 7 8>

Als u meer wilt weten over geneste lussen in C, raadpleegt u dit artikel – Geneste lussen in C met voorbeelden

Voorbeelden van do…while Loop in C

Voorbeeld 1. C-programma om het gedrag van de do…while-lus te demonstreren als de voorwaarde vanaf het begin onwaar is.

C


arraylijst 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;> }>

>

>

Uitvoer

This is loop body.>

Zoals we kunnen zien, wordt de lusbody één keer uitgevoerd, zelfs als de voorwaarde aan het begin onwaar is. Dit komt omdat in de do...while-lus de toestand wordt gecontroleerd nadat deze door het lichaam is gegaan, dus wanneer de controle aan het begin staat,

  1. Het gaat door het luslichaam.
  2. Voert alle instructies in de hoofdtekst uit.
  3. Controleert de voorwaarde die onwaar blijkt te zijn.
  4. Verlaat vervolgens de lus.

Voorbeeld 2. C-programma om de vermenigvuldigingstabel van N af te drukken met behulp van de do…while-lus

Het volgende voorbeeld demonstreert het gebruik van de do…while-lus voor het afdrukken van de tafel van vermenigvuldiging van 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;> }>

>

r in c-taal
>

Uitvoer

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>

Verschil tussen while en do...while Loop in C

In de volgende tabel worden de belangrijkste vermeld verschillen tussen while en do...while Loop in C.

herhalingslus

doe...terwijl Loop

De testconditie wordt gecontroleerd voordat de lusbody wordt uitgevoerd. De testconditie wordt gecontroleerd na de executie van het lichaam.
Wanneer de voorwaarde onwaar is, wordt de lichaam wordt niet geëxecuteerd niet een keer. Het lichaam van de do...while loop wordt minstens één keer uitgevoerd zelfs als de voorwaarde onwaar is.
Het is een soort vooraf geteste of ingangsgestuurde lus. Het is een soort achteraf geteste of exit-gecontroleerde lus.
Puntkomma is niet vereist. Aan het einde is een puntkomma vereist.

Raadpleeg dit artikel voor meer informatie over deze verschillen: Verschil tussen while- en do-while-lus in C, C++, Java

Conclusie

Kortom, het gebruik van de enige exit-gecontroleerde lus in C, de do…while-lus, is ook bedoeld om een ​​bepaald deel van de code te herhalen, maar de manier waarop het werkt maakt het anders dan entry-gecontroleerde lussen zoals de while-lus en de for lus. Het is handig in gevallen waarin we de instructie minstens één keer binnen de lusbody moeten uitvoeren, zoals bij het doorlopen van circulair gekoppelde lijsten.

Veelgestelde vragen over C doen...terwijl Loops

1. Hoeveel soorten lussen zijn er in C?

Jaren: Er zijn 3 soorten lussen in C-taal:

  1. for loop
  2. herhalingslus
  3. doe...terwijl Loop

2. Wat zijn de ingangsgecontroleerde of vooraf geteste lussen?

Jaren: De ingangsgestuurde lussen of vooraf geteste lussen zijn de lussen waarin de lus zich bevindt toestand wordt gecontroleerd voordat het lichaam wordt geëxecuteerd van de lus.

3. Wat zijn de uitgangsgecontroleerde of achteraf geteste lussen?

Jaren: De uitgangsgestuurde lussen of achteraf geteste lussen zijn die lussen waarin de programmabesturing komt naar het lichaam van de lus voordat de lusvoorwaarde wordt gecontroleerd .

4. Welke lus wordt gegarandeerd minstens één keer uitgevoerd?

Jaren: De doe...terwijl-lus Het is gegarandeerd dat de instructies in de hoofdtekst van de lus minstens één keer worden uitgevoerd, omdat het een soort exit-gecontroleerde lus is.

5. Kunnen we accolades overslaan in C do…while loop-syntaxis als er maar één statement in de body staat?

Antwoord: Nee. , we kunnen geen accolades overslaan in C do…while-syntaxis, zelfs als er maar één enkele instructie is, in tegenstelling tot while en for loop.

6. Hoe maak je een oneindige lus in C met behulp van de do…while lus?

Jaren: We kunnen een oneindige lus in C creëren door a te specificeren voorwaarde die altijd waar zal zijn als de lusvoorwaarde. Het onderstaande programma laat zien hoe je dat doet:

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;> }>

>

>

Uitvoer

gfg gfg gfg gfg gfg gfg gfg .... (infinite)>

Gerelateerde artikelen: