For Loop in C++ med syntaks og programeksempler
Hva er en For Loop?
Dette er en repetisjonskontrollstruktur som hjelper oss å iterere over en del av C++ kode for et fast antall ganger. A for loop-kjøringer forutsatt at testuttrykket er sant. Sløyfen avslutter kjøringen umiddelbart testuttrykket blir falskt. Dette betyr at tilstanden må evalueres før utførelse av løkkelegemet i hver iterasjon. Hvis evalueringen returnerer en sann, utføres loop-kroppen. Hvis evalueringen returnerer en falsk, avsluttes utførelse av løkkelegemet.
Hvordan fungerer loop?
For-løkken fungerer som følger:
Flytskjemaforklaring:
- De C++ språk kompilator begynner med å evaluere initialiseringen. Dette gjøres kun én gang når utførelsen begynner.
- Testuttrykket evalueres/utføres.
- Hvis testuttrykket er sant, kjøres løkketeksten og testuttrykket oppdateres. Hvis uttrykket blir usant, avsluttes for-løkken.
- Etter utførelse av testuttrykk, utføres inkrementet for å øke verdien av sløyfekontrollvariabelen.
- Testuttrykket evalueres på nytt, og prosessen fortsetter til uttrykket blir falskt.
- Hvis uttrykket er usant, hoppes loop body-setningene over.
Merknader: Testuttrykket oppdateres etter hver iterasjon. Dette betyr at forskjellige verdier av sløyfekontrollvariabelen utføres i hver iterasjon.
Når skal man bruke en for loop?
For-løkken skal brukes når:
- Du har et fast antall iterasjoner.
- Du vet det nøyaktige antallet iterasjoner.
Syntaks for for loop
Her er syntaksen for for-løkken:
for ( initialization;condition;increment ) { statement(s); }
Her er en forklaring av parametrene ovenfor:
- initialisering: Denne delen utføres først og kun én gang. Her deklarerer og initialiserer du sløyfekontrollvariabler. Sløyfekontrollvariablene kan være mer enn én, og verdiene deres vil endres etter hver iterasjon. Deres verdier må imidlertid evalueres før en iterasjon kjøres.
- Betingelse: Denne delen utføres neste gang. For at loop-kroppen skal utføres, må denne betingelsen være sann. Hvis betingelsen er usann, vil kjøringen hoppe til setninger umiddelbart etter løkketeksten. Hvis betingelsen er falsk ved den første evalueringen, vil løkketeksten aldri bli utført.
- Inkrement: Når sløyfen er utført, hopper kontrollen til trinnet. Du kan utelate denne delen og bruke semikolon i stedet.
- Igjen blir tilstanden evaluert. Hvis det er sant, utføres loop-kroppen, og dette fortsetter. Sløyfen avsluttes umiddelbart tilstanden blir falsk.
For Loop in C++ Eksempel 1
#include <iostream> using namespace std; int main() { for (int x=0; x<5; x=x+1) { cout << "X is: " << x << endl; } return 0; }
Utgang:
Her er et skjermbilde av koden:
Kodeforklaring:
- Inkludert iostream header-filen i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
- Inkludert std-navneområdet for å bruke dets klasser og funksjoner uten å ringe det.
- Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten på brødteksten til main()-funksjonen.
- Opprette en for-løkke. Initialiseringen skaper en heltallsvariabel x og tildeler den en verdi på 0. Betingelsen sier at verdien av x må være mindre enn 5. Inkrementet øker verdien av x med 1 etter hver iterasjon. { markerer begynnelsen av brødteksten til for-løkken.
- For å skrive ut verdien av variabel x sammen med annen tekst på konsollen. Endl er en C++ nøkkelord som betyr sluttlinje. Markøren skrives ut i neste linje i neste iterasjon.
- Enden av løkkekroppen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
- Slutten av hoveddelen av hoved()-funksjonen.
For Loop in C++ Eksempel 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; }
Utgang:
Her er et skjermbilde av koden:
Kodeforklaring:
- Inkludert iostream header-filen i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
- Inkluderer std-navneområdet for å bruke dets klasser og funksjoner uten å kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- { markerer starten på brødteksten til main()-funksjonen.
- Deklarerer heltallsvariabler, x, num og faktorial. Variabelen faktorial har blitt tildelt en verdi på 1.
- Skriver ut litt tekst på konsollen.
- Ber brukeren om å angi en verdi for variabel num.
- Opprette en for-løkke. Initialiseringen lager en heltallsvariabel x og tildeler den en verdi på 1. Betingelsen sier at verdien av x må være mindre enn eller lik verdien til variabel num. Inkrementet øker verdien av x med 1 etter hver iterasjon. { markerer begynnelsen av brødteksten til for-løkken.
- Beregne verdien av faktorial ved å bruke formelen faktorial = faktorial * x.
- Enden av løkkekroppen.
- For å skrive ut verdien av variablene num og factorial sammen med annen tekst på konsollen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Oppsummering
- For-løkken itererer en del av C++ kode for et fast antall ganger.
- For-løkken kjører så lenge testbetingelsen er sann.
- Initialiseringsdelen av for loop er for å deklarere og initialisere eventuelle sløyfekontrollvariabler.
- Betingelsesdelen av for loop må være sann for at loop body skal utføres.
- Den inkrementelle delen av for-løkken kan erstattes med semikolon.