Voor Loop-in C++ met syntaxis en programmavoorbeelden
Wat is een For-lus?
Dit is een herhalingscontrolestructuur waarmee we een gedeelte van de tekst kunnen herhalen C++ een vast aantal keren coderen. Er wordt een for-lus uitgevoerd, op voorwaarde dat de testexpressie waar is. De lus beëindigt de uitvoering zodra de testexpressie onwaar wordt. Dit betekent dat vóór de uitvoering van de lusbody in elke iteratie de voorwaarde moet worden geëvalueerd. Als de evaluatie true retourneert, wordt de lusbody uitgevoerd. Als de evaluatie false retourneert, wordt de uitvoering van de lusbody beëindigd.
Hoe werkt for-lus?
De for-lus werkt als volgt:
Stroomdiagram Uitleg:
- De C++ taal compiler begint met het evalueren van de initialisatie. Dit gebeurt slechts één keer als de uitvoering begint.
- De testexpressie wordt geëvalueerd/uitgevoerd.
- Als de testexpressie waar is, wordt de lusbody uitgevoerd en wordt de testexpressie bijgewerkt. Als de expressie onwaar wordt, wordt de for-lus beëindigd.
- Na de uitvoering van de testexpressie wordt de verhoging uitgevoerd om de waarde van de lusbesturingsvariabele te verhogen.
- De testexpressie wordt opnieuw geëvalueerd en het proces gaat door totdat de expressie onwaar wordt.
- Als de expressie onwaar is, worden de body-instructies van de lus overgeslagen.
Note: de testexpressie wordt na elke iteratie bijgewerkt. Dit betekent dat in elke iteratie verschillende waarden van de lusbesturingsvariabele worden uitgevoerd.
Wanneer gebruik je een for-lus?
De for-lus moet worden gebruikt wanneer:
- Je hebt een vast aantal iteraties.
- Je kent het exacte aantal iteraties.
Syntaxis van for-lus
Hier is de syntaxis voor de for-lus:
for ( initialization;condition;increment ) { statement(s); }
Hier volgt een uitleg van de bovenstaande parameters:
- initialisatie: Dit deel wordt als eerste en slechts één keer uitgevoerd. Hier declareert en initialiseert u luscontrolevariabelen. De luscontrolevariabelen kunnen meer dan één zijn, en hun waarden zullen na elke iteratie veranderen. Hun waarden moeten echter worden geëvalueerd voordat een iteratie wordt uitgevoerd.
- Staat: Dit deel wordt vervolgens uitgevoerd. Om de lusbody uit te voeren, moet deze voorwaarde waar zijn. Als de voorwaarde onwaar is, springt de uitvoering onmiddellijk naar instructies na de lusbody. Als de voorwaarde bij de eerste evaluatie onwaar is, wordt de lusbody nooit uitgevoerd.
- Verhoging: Zodra de lusbody is uitgevoerd, springt de besturing naar de stapgrootte. U kunt dit gedeelte weglaten en in plaats daarvan een puntkomma gebruiken.
- Opnieuw wordt de toestand geëvalueerd. Als dit waar is, wordt de hoofdtekst van de lus uitgevoerd, en dit gaat door. De lus eindigt zodra de voorwaarde onwaar wordt.
Voor Loop-in C++ Voorbeeld 1
#include <iostream> using namespace std; int main() { for (int x=0; x<5; x=x+1) { cout << "X is: " << x << endl; } return 0; }
Output:
Hier is een screenshot van de code:
Code Verklaring:
- Inclusief het iostream headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en te gebruiken functies zonder het te bellen.
- Het aanroepen van de functie main() waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Een for-lus maken. De initialisatie creëert een integer-variabele x en kent hieraan de waarde 0 toe. De voorwaarde stelt dat de waarde van x kleiner moet zijn dan 5. De verhoging verhoogt de waarde van x met 1 na elke iteratie. De { markeert het begin van de hoofdtekst van de for-lus.
- Om de waarde van variabele x af te drukken naast andere tekst op de console. Het einde is een C++ trefwoord dat eindregel betekent. De cursor wordt afgedrukt op de volgende regel in de volgende iteratie.
- Einde van het luslichaam.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Voor Loop-in C++ Voorbeeld 2
#include <iostream> using namespace std; int main() { int x, num, factorial = 1; cout << "Type positive number: "; cin >> num; for (x = 1; x <= num; ++x) { factorial *= x; // factorial = factorial * x; } cout << "Factorial of " << num << " = " << factorial; return 0; }
Output:
Hier is een screenshot van de code:
Code Verklaring:
- Inclusief het iostream headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies ervan te gebruiken zonder deze aan te roepen.
- Het aanroepen van de functie main() waarbinnen de logica van het programma moet worden toegevoegd.
- De { markeert het begin van de hoofdtekst van de functie main().
- Het declareren van gehele variabelen, x, num en faculteit. De variabele faculteit heeft de waarde 1 gekregen.
- Tekst afdrukken op de console.
- De gebruiker wordt gevraagd een waarde in te voeren voor de variabele num.
- Een for-lus maken. De initialisatie creëert een geheel getal variabele x en kent hieraan de waarde 1 toe. De voorwaarde stelt dat de waarde van x kleiner moet zijn dan of gelijk is aan de waarde van variabele num. De toename verhoogt de waarde van x met 1 na elke iteratie. De { markeert het begin van de hoofdtekst van de for-lus.
- Berekening van de waarde van faculteit met behulp van de formule faculteit = faculteit * x.
- Einde van het luslichaam.
- Om de waarde van variabelen num en faculteit af te drukken naast andere tekst op de console.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Samenvatting
- De for-lus herhaalt een sectie van C++ een vast aantal keren coderen.
- De for-lus loopt zolang de testvoorwaarde waar is.
- Het initialisatiegedeelte van de for-lus is bedoeld voor het declareren en initialiseren van lusbesturingsvariabelen.
- Het voorwaardegedeelte van de for-lus moet waar zijn om de hoofdtekst van de lus te kunnen uitvoeren.
- Het incrementgedeelte van de for-lus kan worden vervangen door een puntkomma.