Looper i C: For, While, Do While looping Utsagn [Eksempler]
โก Smart oppsummering
Lรธkker i C gjentar en blokk med setninger inntil en kontrollbetingelse blir usann, og sprรฅket leverer tre konstruksjoner โ while-lรธkken, do-while-lรธkken og for-lรธkken โ for kontrollert repetisjon ved inngang og utgang.

Hva er Loop in C?
Looping Utsagn i C utfรธrer sekvensen av utsagn mange ganger inntil den angitte betingelsen blir usann. En lรธkke i C bestรฅr av to deler, en lรธkkedel og en kontrollutsagn. Kontrollutsagnet er en kombinasjon av noen betingelser som styrer lรธkkedelen til รฅ utfรธres inntil den angitte betingelsen blir usann. Hensikten med C-lรธkken er รฅ gjenta den samme koden et antall ganger.
Typer lรธkker i C
Avhengig av plasseringen til en kontrollsetning i et program, seping Uttrykk i C er klassifisert i to typer:
- Inngangsstyrt slรธyfe
- Avslutt kontrollert slรธyfe
I en inngangskontrollslรธyfe i C kontrolleres en betingelse fรธr selve lรธkken kjรธres. Dette kalles ogsรฅ en forhรฅndskontrollslรธyfe.
I en utgangsstyrt lรธkke kontrolleres en betingelse etter at lรธkkens hoveddel er utfรธrt. Dette kalles ogsรฅ en etterkontrolllรธkke.
Prรธveslรธyfe
Kontrollbetingelsene mรฅ vรฆre godt definerte og spesifiserte, ellers vil lรธkken kjรธres et uendelig antall ganger. Lรธkken som ikke stopper kjรธreprosessen og behandler setningene flere ganger kalles en uendelig lรธkke. En uendelig lรธkke kalles ogsรฅ en ยซendelรธs lรธkkeยป. Fรธlgende er noen kjennetegn ved en uendelig lรธkke:
- Ingen oppsigelsesvilkรฅr er spesifisert.
- De spesifiserte betingelsene oppfylles aldri.
Den spesifiserte betingelsen bestemmer om lรธkketeksten skal kjรธres eller ikke.
'C' programmeringssprรฅk gir oss tre typer slรธyfekonstruksjoner:
- While-lรธkken
- Do-while-lรธkken
- For-lรธkken
| Sr. nr. | Loop Type | Tekniske beskrivelser |
|---|---|---|
| 1. | Mens Loop | I while-lรธkken blir en tilstand evaluert fรธr behandlingen av en kropp av lรธkken. Hvis en betingelse er sann da, og bare da, blir kroppen til en lรธkke utfรธrt. |
| 2. | Do-While Loop | I en do...while-lรธkke utfรธres betingelsen alltid etter brรธdteksten til en loop. Det kalles ogsรฅ en utgangskontrollert slรธyfe. |
| 3. | For Loop | I en for-lรธkke utfรธres startverdien bare รฉn gang, deretter tester og sammenligner betingelsen telleren med en fast verdi etter hver iterasjon, og stopper.ping for-lรธkken nรฅr `false` returneres. |
Mens Loop in C
En while-lรธkke er den enkleste lookenping struktur. Mens lรธkkesyntaks i C-programmeringssprรฅket er som fรธlger:
Syntaks for While Loop i C
while (condition) {
statements;
}
Det er en inngangskontrollert slรธyfe. I while-lรธkken blir en tilstand evaluert fรธr behandlingen av en kropp av lรธkken. Hvis en betingelse er sann da, og bare da, blir kroppen til en lรธkke utfรธrt. Etter at hoveddelen av en slรธyfe er utfรธrt, gรฅr kontrollen tilbake i begynnelsen, og betingelsen sjekkes om den er sann, den samme prosessen utfรธres til betingelsen blir usann. Nรฅr tilstanden blir falsk, gรฅr kontrollen ut av lรธkken.
Etter รฅ ha gรฅtt ut av loopen, gรฅr kontrollen til setningene som er umiddelbart etter loopen. Brรธdteksten i en loop kan inneholde mer enn รฉn setning. Hvis den bare inneholder รฉn setning, er ikke de krรธllete tannreguleringene obligatoriske. Det er en god praksis รฅ bruke de krรธllete tannreguleringene, selv om vi har en enkelt uttalelse i kroppen.
I while-lรธkke, hvis betingelsen ikke er sann, vil ikke brรธdteksten til en lรธkke bli utfรธrt, ikke en gang. Det er annerledes i do while-lรธkken som vi vil se snart.
Fรธlgende program illustrerer mens loop in C programmeringseksempel:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable while(num<=10) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
Utgang:
1 2 3 4 5 6 7 8 9 10
Programmet ovenfor illustrerer bruken av while-lรธkke. I programmet ovenfor har vi skrevet ut serier med tall fra 1 til 10 ved hjelp av en while-lรธkke.
Mens Loop in C-programmering
- Vi har initialisert en variabel kalt num med verdi 1. Vi skal skrive ut fra 1 til 10, derfor initialiseres variabelen med verdi 1. Hvis du vil skrive ut fra 0, tilordner du verdien 0 under initialiseringen.
- I lรธpet av en while-lรธkke har vi gitt en betingelse (num<=10), som betyr at loopen vil utfรธre kroppen til verdien av num blir 10. Etter det vil loopen bli avsluttet, og kontrollen vil falle utenfor loopen.
- I brรธdteksten til en lรธkke har vi en utskriftsfunksjon for รฅ skrive ut nummeret vรฅrt og en inkrementoperasjon for รฅ รธke verdien per utfรธrelse av en lรธkke. En startverdi av num er 1, etter utfรธrelsen vil den bli 2, og under neste kjรธring vil den bli 3. Denne prosessen vil fortsette til verdien blir 10 og deretter vil den skrive ut serien pรฅ konsollen og avslutte slรธyfen .
'\n' brukes til formateringsformรฅl, som betyr at verdien skrives ut pรฅ en ny linje.
Do-While-lรธkke i C
En do...while-lรธkke i C ligner pรฅ while-lรธkken, bortsett fra at betingelsen alltid utfรธres etter brรธdteksten til en lรธkke. Det kalles ogsรฅ en utgangskontrollert slรธyfe.
Syntaksen for do while loop i C programmeringssprรฅk er som fรธlger:
Syntaks for Do-While Loop i C
do { statements } while (expression);
Som vi sรฅ i en while-lรธkke, utfรธres kroppen hvis og bare hvis betingelsen er sann. I noen tilfeller mรฅ vi utfรธre en body av loopen minst รฉn gang selv om betingelsen er falsk. Denne typen operasjon kan oppnรฅs ved รฅ bruke en do-while-lรธkke.
I do-while-lรธkken kjรธres kroppen til en loop alltid minst รฉn gang. Etter at kroppen er henrettet, sjekker den tilstanden. Hvis betingelsen er sann, vil den igjen utfรธre kroppen til en slรธyfe, ellers overfรธres kontrollen ut av slรธyfen.
I likhet med while-lรธkken, nรฅr kontrollen gรฅr ut av lรธkken, er setningene som er umiddelbart etter at lรธkken er utfรธrt.
Den kritiske forskjellen mellom while- og do-while-lรธkken er at mens-lรธkken er skrevet i begynnelsen. I do-while loop skrives while-betingelsen pรฅ slutten og avsluttes med semikolon (;)
Fรธlgende loop-program i C illustrerer hvordan en do-while-lรธkke fungerer:
Nedenfor er en do-while-lรธkke i C-eksempel for รฅ skrive ut en tabell med nummer 2:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation }while(num<=10); return 0; }
Utgang:
2 4 6 8 10 12 14 16 18 20
I eksemplet ovenfor har vi skrevet ut multiplikasjonstabell med 2 ved รฅ bruke en do-while-lรธkke. La oss se hvordan programmet klarte รฅ skrive ut serien.
Do-While Loop i C-programmering
- Fรธrst har vi initialisert en variabel 'num' med verdi 1. Deretter har vi skrevet en do-while loop.
- I en lรธkke har vi en utskriftsfunksjon som vil skrive ut serien ved รฅ multiplisere verdien av num med 2.
- Etter hver รธkning vil verdien av num รธke med 1, og den vil bli skrevet ut pรฅ skjermen.
- Innledningsvis er verdien av num 1. I en brรธdtekst av en lรธkke vil utskriftsfunksjonen bli utfรธrt pรฅ denne mรฅten: 2*num hvor num=1, deretter 2*1=2, derfor vil verdien to bli skrevet ut. Dette vil fortsette til verdien av num blir 10. Etter den vil lรธkken avsluttes og en setning som er umiddelbart etter lรธkken vil bli utfรธrt. Returner i dette tilfellet 0.
For loop i C
A for loop er en mer effektiv loopstruktur i 'C'-programmering. Den generelle strukturen til for loop-syntaks i C er som fรธlger:
Syntaks for For Loop i C
for (initial value; condition; incrementation or decrementation ) { statements; }
- Startverdien til for-lรธkken utfรธres bare รฉn gang.
- Betingelsen er et boolsk uttrykk som tester og sammenligner telleren med en fast verdi etter hver iterasjon, stoppping for-lรธkken nรฅr `false` returneres.
- รkningen/dekrementeringen รธker (eller reduserer) telleren med en innstilt verdi.
Fรธlgende program illustrerer for loop in C programmeringseksempel:
#include<stdio.h> int main() { int number; for(number=1;number<=10;number++) //for loop to print 1-10 numbers { printf("%d\n",number); //to print the number } return 0; }
Utgang:
1 2 3 4 5 6 7 8 9 10
Programmet ovenfor skriver ut tallserien fra 1-10 med for loop.
For Loop in C-programmering
- Vi har deklarert en variabel av datatypen int for รฅ lagre verdier.
- I for loop, i initialiseringsdelen, har vi tildelt verdi 1 til variabelnummeret. I tilstandsdelen har vi spesifisert vรฅr tilstand og deretter inkrementdelen.
- I hoveddelen av en lรธkke har vi en utskriftsfunksjon for รฅ skrive ut tallene pรฅ en ny linje i konsollen. Vi har verdien en lagret i antall, etter den fรธrste iterasjonen vil verdien รธkes, og den blir 2. Nรฅ har variabeltallet verdien 2. Betingelsen vil bli sjekket pรฅ nytt og siden betingelsen er sann, vil lรธkke bli utfรธrt, og den vil skrive ut to pรฅ skjermen. Denne slรธyfen vil fortsette รฅ kjรธre til verdien av variabelen blir 10. Etter det vil lรธkken avsluttes, og en serie pรฅ 1-10 vil bli skrevet ut pรฅ skjermen.
I C kan for-lรธkken ha flere uttrykk atskilt med komma i hver del.
For eksempel:
for (x = 0, y = num; x < y; i++, y--) { statements; }
Vi kan ogsรฅ hoppe over startverdiuttrykket, betingelsen og/eller inkrementet ved รฅ legge til et semikolon.
For eksempel:
int i=0; int max = 10; for (; i < max; i++) { printf("%d\n", i); }
Legg merke til at lรธkker ogsรฅ kan nestes der det er en ytre lรธkke og en indre lรธkke. For hver iterasjon av den ytre slรธyfen, gjentar den indre slรธyfen hele sin syklus.
Tenk pรฅ fรธlgende eksempel med flere betingelser i for loop, som bruker nestet for loop i C-programmering for รฅ sende ut en multiplikasjonstabell:
#include <stdio.h> int main() { int i, j; int table = 2; int max = 5; for (i = 1; i <= table; i++) { // outer loop for (j = 0; j <= max; j++) { // inner loop printf("%d x %d = %d\n", i, j, i*j); } printf("\n"); /* blank line between tables */ }}
Utgang:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
Nesting av for-lรธkker kan gjรธres opp til ethvert nivรฅ. De nestede lรธkkene bรธr vรฆre tilstrekkelig innrykket for รฅ gjรธre koden lesbar. I noen versjoner av 'C' er nestingen begrenset til opptil 15 lรธkker, men noen tilbyr flere.
De nestede lรธkkene brukes mest i array-applikasjoner som vi vil se i videre opplรฆringsprogrammer.
Utover de tre lรธkketypene tilbyr C to utsagn som endrer hvordan en lรธkke kjรธrer fra innsiden.
Pauseerklรฆring i C
Pausesetningen brukes hovedsakelig i bytte uttalelseDet er ogsรฅ nyttig for รฅ stoppe umiddelbartping en lรธkke.
Vi vurderer fรธlgende program som introduserer en pause for รฅ avslutte en while-lรธkke:
#include <stdio.h> int main() { int num = 5; while (num > 0) { if (num == 3) break; printf("%d\n", num); num--; }}
Utgang:
5 4
Fortsett uttalelse i C
Nรฅr du vil hoppe til neste iterasjon, men forbli i loopen, bรธr du bruke continu-setningen.
For eksempel:
#include <stdio.h> int main() { int nb = 7; while (nb > 0) { nb--; if (nb == 5) continue; printf("%d\n", nb); }}
Utgang:
6 4 3 2 1
Sรฅ verdien 5 hoppes over.
Hvilken slรธyfe รฅ velge?
Valg av en slรธyfe er alltid en tรธff oppgave for en programmerer, for รฅ velge en slรธyfe gjรธr fรธlgende trinn:
- Analyser problemet og sjekk om det krever en pre-test eller en post-test loop.
- Hvis forhรฅndstesting er nรธdvendig, bruk en while- eller for-lรธkke.
- Hvis ettertest er nรธdvendig, bruk en do-while-lรธkke.




