loop constructs c with examples
Een diepgaande blik op loops in C ++, samen met de typen.
In aanvulling op Besluitvormende constructen die we in onze laatste tutorial hebben gezien, kunnen er situaties ontstaan waarin we een blok instructie herhaaldelijk moeten uitvoeren.
Een dergelijke situatie vereist dat we een voorwaarde hebben die controleert of het codeblok moet worden uitgevoerd of niet. Dit wordt gedaan door lusconstructies bij het programmeren. C ++ heeft ook verschillende lusconstructies waarmee we een blok code herhaaldelijk kunnen uitvoeren of totdat een voorwaarde waar is. In deze tutorial zullen we deze lusconstructies in C ++ in detail onderzoeken.
Voorgesteld lezen => C ++ Trainingsgids voor iedereen
Wat je leert:
Lussen in C ++
For loop
Het construct dat instructies herhaaldelijk uitvoert, is de 'for' -lus.
De algemene syntaxis van for-lus is:
De algemene syntaxis van for-lus laat zien dat het uit drie delen bestaat. De initialisatie-expressie bestaat uit de beginwaarden die zijn ingesteld voor de lusvariabele. De voorwaarde-expressie biedt de voorwaarde die wordt aangevinkt om de lus te verlaten. Het increment-gedeelte wordt gebruikt om de lusvariabele na elke iteratie te verhogen.
In eerste instantie begint de 'for' -lus te worden uitgevoerd met initialisatie van de lusvariabele. Vervolgens wordt de toestand getest. Als de waarde van de lusvariabele aan de voorwaarde voldoet, voert deze het instructieblok uit.
Wanneer het instructieblok wordt uitgevoerd, wordt de lusvariabele opgehoogd volgens de opgegeven verhoging en wordt de volgende iteratie gestart. Op deze manier voltooit de lus de iteraties totdat aan de voorwaarde is voldaan. Vervolgens wordt de 'for' -lus verlaten.
Dit is het stroomdiagram voor de 'for' -lusconstructie.
Laten we een voorbeeld bekijken van de 'for' -lus in C ++ hieronder.
Uitgang:
2-veelvouden van minder dan 20 afdrukken
ik = 2 ik = 4 ik = 6 ik = 8 ik = 10 ik = 12 ik = 14 ik = 16 ik = 18 ik = 20
Hier drukken we de 2-en-veelvouden tot 20 af met een 'for' -lus. Merk op dat het handig is om te gebruiken als we van tevoren het aantal iteraties kennen.
Herhalingslus
C ++ biedt nog een andere lusconstructie waarmee we een reeks instructies op een repetitieve manier kunnen uitvoeren. Dit is een ‘while’-lus.
De algemene syntaxis van de ‘while’ -lus is:
Een ‘while’ -lus herhaalt een set van de instructie zolang de voorwaarde waar is. Dus vóór de start van elke iteratie wordt de conditie geëvalueerd. Als het is vervuld, staat statement_block binnen de while-lus. Anders wordt de lus verlaten.
Hieronder wordt het stroomschema van de 'while' -lus gegeven.
Hieronder is een voorbeeldprogramma gegeven om de while-lus te demonstreren:
Uitgang:
2-veelvouden van minder dan 20 afdrukken
ik = 2 ik = 4 ik = 6 ik = 8 ik = 10 ik = 12 ik = 14 ik = 16 ik = 18 ik = 20
is oculus rift compatibel met ps4
Om het concept te vereenvoudigen, hebben we hetzelfde programma aangepast dat werd gebruikt om de 'for' -lus te demonstreren. In tegenstelling tot de lus specificeren we hier de beginwaarde van de lusvariabele buiten de while-lus. Dan beginnen we de while-lus waar we de voorwaarde specificeren.
Binnen de lus verhogen we de lusvariabele. De code in de 'while' -lus wordt uitgevoerd zolang aan de voorwaarde is voldaan.
Als we niet zeker zijn over het exacte aantal iteraties waarvoor de code zal worden uitgevoerd, gaan we voor de 'while' -lus.
Doe While Loop
De volgende lus in C ++ is de 'do-while' -lus. In het geval van de 'while' -lus controleren we eerst de conditie en voeren we vervolgens de iteratie uit. In het geval van een “do-while” -lus voeren we eerst de iteratie uit en vervolgens evalueren we de conditie om door te gaan met de lus.
De algemene syntaxis van de 'do-while' -lus is:
Het stroomschema van Do While Loop:
Zoals weergegeven in het stroomdiagram, begint de ‘doe-terwijl’-lus met het instructieblok. Het wordt eerst uitgevoerd en daarna wordt de conditie gecontroleerd. Als de voorwaarde waar is, wordt het instructieblok herhaaldelijk uitgevoerd totdat de voorwaarde onwaar wordt.
Laten we dit begrijpen met behulp van een voorbeeld.
Uitgang:
2-veelvouden van minder dan 20 afdrukken
ik = 2 ik = 4 ik = 6 ik = 8 ik = 10 ik = 12 ik = 14 ik = 16 ik = 18 ik = 20
We hebben hetzelfde voorbeeld aangepast als de vorige loops. Merk op dat de voorwaarde aan het einde wordt gecontroleerd nadat het instructieblok is uitgevoerd. Dit zorgt ervoor dat de lus minstens één keer wordt uitgevoerd voordat deze wordt afgesloten.
Verklaringen breken en voortzetten
Telkens wanneer we het lus / instructieblok moeten verlaten zonder het te voltooien of als we iteratie moeten overslaan, dan maken we gebruik van twee speciale instructies, namelijk break en continue.
De 'break' -instructie van C ++ wordt gebruikt om de lus of het instructieblok te breken en te verlaten. De 'break' -instructie beëindigt onmiddellijk de lus of het instructieblok op het moment dat deze wordt aangetroffen.
Dit is vereist wanneer we abrupt een bepaald construct willen verlaten, ongeacht de testconditie.
afstemming van prestaties in orakel-interviewvragen
Evenzo, als we een bepaalde instructie willen overslaan of naar de volgende iteratie willen springen zonder de huidige iteratie te voltooien, gebruiken we de instructie 'continue'. Met andere woorden, 'doorgaan' wordt gebruikt om de stroom van het programma naar de volgende stap voort te zetten.
Hieronder is het stroomdiagram van de Break and Continue-statements weergegeven
Breken
Doorgaan met
Laten we een voorbeeld bekijken van het gebruik van de break and continue-instructies in de code.
Uitgang:
2-veelvouden van minder dan 20 afdrukken
ik = 2 ik = 4 ik = 6 ik = 8 ik = 10 ik = 12 ik = 14 ik = 16 ik = 18 ik = 20
We hebben opnieuw hetzelfde voorbeeld genomen van het afdrukken van 2-veelvouden tot 20. In dit geval hebben we de lusvariabele op nul geïnitialiseerd. Vervolgens gebruiken we een oneindige while-lus en binnen de lus slaan we de eerste iteratie over met de instructie continue.
Vervolgens gebruiken we de break-instructie om de lus te verlaten op het moment dat de lusvariabele groter wordt dan 20.
Nog een andere situatie waarin we de break-instructie gebruiken, is in het geval van de switch-instructie. We hebben de switchverklaring al gezien.
Wanneer de expressie overeenkomt met een willekeurig geval van de instructie switch, wordt de code voor dat specifieke geval uitgevoerd en gaat de controle over naar de gevallen die volgen op het overeenkomende geval. Op deze manier worden, na het matchen van de case, alle volgende cases ook uitgevoerd voordat de switch-instructie wordt afgesloten. Dit resulteert in de foutieve output.
Om te voorkomen dat de volgende cases worden uitgevoerd, introduceren we de break-statement aan het einde van elke case. Dit maakt de gecontroleerde exit uit de switch-instructie zodra het overeenkomende geval is gevonden en de code is uitgevoerd.
Oneindige lus
Een oneindige lus wordt ook wel een eindeloze lus genoemd. Er treedt een oneindige lus op wanneer de lusvoorwaarde altijd waar wordt geëvalueerd. Als gevolg hiervan wordt het voor onbepaalde tijd uitgevoerd.
Bijvoorbeeldfor (;;) zal resulteren in een oneindige 'for' -lus.
While (;) of while (1) zal ertoe leiden dat de while-lus voor onbepaalde tijd wordt uitgevoerd.
Oneindige lussen zouden niet aangemoedigd moeten worden bij het programmeren, maar als de noodzaak zich voordoet, zouden we in staat moeten zijn om uit de lus te breken met een afsluitende voorwaarde binnen de lus.
Oneindige lussen resulteren in een fout. We moeten voorzichtig zijn bij het gebruik van de lusconstructies in C ++.
- ‘For’ -lussen moeten worden gebruikt als we het aantal iteraties van tevoren kennen.
- De While-lus moet worden gebruikt als we de beëindigingstoestand van de lus kennen.
- De do-while-lus moet worden gebruikt als we willen dat de lus minstens één keer wordt uitgevoerd.
Gevolgtrekking
Hiermee sluiten we deze tutorial over loops in C ++ af.
In onze volgende tutorials zullen we arrays en strings in detail bespreken, gevolgd door functies in C ++.
Bezoek hier voor de volledige C ++ Tutorials-lijst.
Aanbevolen literatuur
- Unix Shell Loop-typen: Do While Loop, For Loop, tot Loop in Unix
- Unix Shell Scripting Tutorial met voorbeelden
- Switch Case gebruiken in Unix Shell Scripting: Case-esac Statement
- VBScript Loops: For Loop, Do Loop en While Loop
- Besluitvormingsconstructies in C ++
- Python DateTime-zelfstudie met voorbeelden
- Knip Commando in Unix met voorbeelden
- Datum- en tijdfuncties in C ++ met voorbeelden