loops c control statements
Sløjfer i C # Tillad, at programmet kører en blok af kode flere gange. Denne vejledning forklarer forskellige sløjfer såsom mens sløjfer, til sløjfer osv med eksempler:
I vores tidligere tutorial lærte vi om forskellige C # operatører end der kan bruges i forbindelse med beslutningsudtalelser for at følge en påkrævet eksekveringsstrøm.
I denne vejledning vil vi diskutere C # Loop-udsagn, der gør det muligt for programmet at udføre iterativ logik.
=> Se efter vores ultimative C # træningsvejledning her
Hvad du vil lære:
Sløjfer i C #: En komplet oversigt
Alle udsagn skrevet i C # udføres sekventielt, men der kan være et scenarie, hvor programmet skal udføre et bestemt kodestykke flere gange for at håndtere denne slags situation, C # tilbyder kontroludtalelser, der kan bruges til at håndtere komplicerede udførelsesstrømme .
En sløjfe giver programmet mulighed for at køre en blok kode flere gange ved at følge en generel erklæring i C #. C # tilbyder forskellige typer sløjfer til at håndtere forskellige krav til programmeringsudførelse.
Kontrolerklæring
Før vi begynder at arbejde på sløjfer, skal vi vide, hvad en kontrolerklæring er. En kontrolerklæring tillader sløjfen at ændre sin kurs fra sin normale rækkefølge. Programmeringssproget C # tilbyder følgende grundlæggende sløjfekontroludtalelser.
Fortsæt erklæring
Fortsæt sætning i C # bruges af følgende grunde:
- At udføre den næste iteration af sløjfen, mens du springer over en hvilken som helst kode imellem.
Syntaksen for fortsættelsessætningen er “ Blive ved;'
Break Erklæring
Break-sætning i C # bruges af følgende grunde:
c ++ søvnfunktion linux
- Det bruges til at afslutte en loop, så programmet kan fortsætte med den næste loop-sætning. I indlejrede sløjfer kan den bruges til at stoppe udførelsen af den indre sløjfe og derved give programstyringen til den næste sætning efter den aktuelle kode.
- Det kan bruges til at afslutte en erklæring i Skift sag.
Syntaksen for pausesætningen er “ pause;'
Mens Loop
While-loop validerer en betingelse og udfører derefter kodeblokken, så længe den betingelse, der er defineret i while, er sand.
Syntaks
While(Boolean Condition) { //code block// }
Vigtige tip:
- Den boolske erklæring valideres inden udførelsen af koden.
- Hvis det boolske udtryk valideres som sandt, udføres koden først.
- Når kodeblokken er udført, vender kontrollen tilbage til en boolsk erklæring til evaluering.
- Sløjfen fortsætter med at udføre, så længe det boolske udtryk evalueres sandt.
- Hvis det boolske udtryk evalueres til falsk, springes kodeblokken over, og den næste linje i koden uden for mensløjfen udføres.
- Sørg altid for at opdatere variablen, der bruges med et boolsk udtryk, så den genkender slutningen af sløjfen ved den forventede iteration.
- Hvis variablen, der er knyttet til while-løkken, ikke opdateres eller altid returnerer en sand værdi, bliver den en uendelig løkke.
Eksempel på en simpel mens løkke:
int a = 0; while (a <5) { Console.WriteLine(“The value of a is :”+a); a++; } Console.WriteLine(“The while block has been executed”);
Kode Forklaring
I ovenstående program har vi angivet det boolske udtryk som (a<5) for “while”. It means that the loop will continue to execute the code snippet as long as the value of “a” is less than 5.
I kodeblokken udskriver vi værdien 'a', og derefter har vi tilføjet inkrementoperatoren. Som vi diskuterede tidligere i vores forrige tutorial, bruges trinvis operator til at øge værdien af heltalet med 1. Derfor, når værdien af “a” er udskrevet til konsollen, vil kontrollen passere gennem trinoperatoren, hvilket vil øge dens størrelse ved 1.
Nu bevæger kontrollen sig for at evaluere det boolske udtryk. For det aktuelle eksempel, da vi allerede har defineret den oprindelige værdi af a som '0', vil den blive forøget med '1'. Så det boolske udtryk bliver (1<5) which will evaluate to “true” and the code block inside the loop will get executed.
Når værdien af “a” når 5, stopper udførelsen, da det boolske udtryk nu læses som falsk. Når det boolske udtryk returnerer falsk, vil kontrollen eksistere loop og vil udføre den næste linje kode uden for while-blokken.
Hvis programmet udføres, vil output være som vist nedenfor:
Produktion
Værdien af a er: 0
Værdien af a er: 1
Værdien af a er: 2
Værdien af a er: 3
Værdien af a er: 4
Mens blokken er udført
Gør Mens Loop
Gør mens løkke svarer til mens løkke med en forskel, evalueres tilstanden i slutningen af løkken i stedet for at begynde, som vi diskuterede det i tilfælde af en stund-løkke. Dette giver en unik funktion til denne sløjfe, dvs. den udfører udsagnet inde i sløjfegrænsen mindst en gang.
Mens på den anden side andre sløjfer vurderer det boolske udtryk i begyndelsen, hvilket betyder, at hvis udtrykket er falsk, vil sløjfe ikke udføres.
Syntaks
do { //code block for execution// } while( Boolean expression );
Vigtige tip:
bedste gratis sikkerhedskopieringssoftware til Windows 10 2017
- 'Do while' fungerer ligesom en while-loop. Do-nøgleord placeres i begyndelsen af kodeblokken, og tiden placeres efter kodeblokken.
- Det boolske udtryk evalueres i slutningen af sløjfen i stedet for begyndelsen. Hvis tilstanden vender tilbage som sand, fortsætter sløjfen. Hvis udtrykket returnerer falsk, ender sløjfen der selv.
- 'Gør mens' udfører kodeblokken inden for loopgrænserne i mindst én gang.
Eksempel på en simpel do-while-løkke:
int nmbr = 5; /* do loop starts*/ do { Console.WriteLine('value of nmbr is '+ nmbr); nmbr++; } while (nmbr <10); Console.ReadLine();
Kode Forklaring
I ovenstående kode har vi erklæret et heltal, 'nmbr' med værdi 5. Derefter har vi startet sløjfen ved at placere 'Gør' nøgleordet. Efter Do og inde i de krøllede seler har vi defineret den kode, som vi vil udføre. Her udskriver vi bare værdien af nmbr-heltal til konsol. Du kan skrive din egen komplekse kode inden for parenteserne.
Som vi kan se, når vi har udskrevet værdien af nmbr, øger vi den. Når kodeblokken er behandlet, flytter kontrollen til 'while', hvor det boolske udtryk evalueres. Her, indtil nmbr har en værdi mindre end 10, fortsætter den med at gentage sløjfen.
Så hvis vi udfører dette kodestykke, kan følgende output observeres:
Produktion
værdien af nmbr er 5
værdien af nmbr er 6
værdien af nmbr er 7
værdien af nmbr er 8
værdien af nmbr er 9
Én gang har værdien af nmbr nået 10 (ved at øge med hver iteration). Derefter returnerer while-tilstanden en falsk værdi, da den ikke længere er mindre end 10. Dette vil medføre, at kontrollen forlader 'Do while' -sløjfen, og kontrollen går videre til den næste kodelinje.
For Loop
For loop i C # følger en syntaks, der er helt anderledes end 'while' -sløjfen. Betingelsen for “for” -sløjfen indeholder initialisering og ændring af tilstand inde i selve syntaksen. 'For' -sløjfen er ret nyttig, hvis du kender det nøjagtige antal iterationer, du skal udføre for sløjfen.
Definitionen inden for parentesen af sløjfen indeholder tre dele adskilt fra hinanden ved semikolon. Den første del er initialiseringen, så har vi et boolsk udtryk efterfulgt af iterationslisten.
Syntaks
for(initializer; boolean expression; iteration list) { //code block for execution// }
Den første del af udtrykket er initialiseringsblokken. Dette udtryk bruges til at initialisere heltalsvariablen. Dette giver værdien i begyndelsen af sløjfen.
Den anden del er det boolske udtryk, der bruges til at evaluere den sande eller falske tilstand for fortsættelsen af sløjfen ligesom mens sløjfe.
Det tredje udtryk er iterationsdelen. Her kan vi bruge inkrementoperatorerne eller dekrementoperatorerne til at øge eller mindske værdien af den initialiserede variabel i henhold til udførelseskravene.
Vigtige tip:
- For sløjfer i C # tillader programmørerne at definere det nøjagtige antal iterationer, der skal udføres.
- For loop indeholder også initialiserings- og iterationsudtryk sammen med det boolske udtryk for at give en betingelse for loop.
- For loop bruges når vi tydeligt kender antallet af iteration, der kræves af loop.
- Initialiseringen af variablen sker i starten af sløjfen.
- Efter initialisering overføres kontrollen til det andet afsnit til validering af det boolske udtryk. Det boolske udtryk kan være så komplekst, som du vil, men resultatet skal altid returnere sandt eller falsk som en værdi.
- Efter at det boolske udtryk er evalueret som sandt, udføres kodeblokken i de krøllede seler, og kontrollen bevæges igen til toppen af sløjfen, og inkrement- eller dekrementoperatoren udføres.
- Efter at iterationslisten er udført, flyttes kontrollen igen til det boolske udtryk til evaluering, og sløjfen gentages, hvis den returnerer 'sand', eller den næste kodelinje uden for sløjfen udføres, hvis den returnerer falsk.
Eksempel på en enkel til løkke:
/* for loop starts*/ for(int i=0; i<5; i++) { Console.WriteLine('value of i is '+ i); }
Kode Forklaring
I ovenstående kode initialiserede vi heltal i som 0. Derefter leverede vi det boolske udtryk for at evaluere, om jeg er mindre end 0 og en inkrementoperator.
Initialisering sker i starten af sløjfen, derefter evalueres den boolske tilstand efterfulgt af udførelsen af kodeblok inden i krøllede seler. Styringen overføres derefter igen til forøgelsesoperatoren øverst, hvilket øger værdien af i med 1 under hver iteration.
Lad os se på output for mere klarhed.
Produktion
værdien af i er 0
værdien af i er 1
værdien af i er 2
værdien af i er 3
værdien af i er 4
For hver løkke
A For hver sløjfe bruges, når et program skal gentages gennem indholdet af en liste. Det kan bruges til samlinger som matrixlister eller arrays.
hvad er min router login og adgangskode
Syntaks
foreach(item_type iterative_variable in list_type) { //code block for execution// }
“Item_type” i syntaksen er typen af elementet, der findes på listen. For eksempel, hvis vi bruger et heltal array, vil typen være heltal eller int.
Den 'iterative_variable' er et variabelnavn, du har valgt, og 'in' er et nøgleord, der bruges.
“List_type” er den listetype, du bruger. For eksempel, hvis vi bruger heltal array, så vil listen_type være int array navn.
Vigtige tip:
- For hver sløjfe udfører kodeblokken mod hvert element, der er til stede i den specificerede samling.
- For hver sløjfe er skrivebeskyttet, så det giver dig ikke mulighed for at ændre iterationsvariablen under udførelse.
- For hver iteration, der bruger denne sløjfe, henter en ny værdi fra listen. Værdien placeres derefter i den skrivebeskyttede variabel.
- Når alle elementerne på listen er opbrugt under iteration, vil kontrollen gå videre til den næste kodelinje.
Eksempel på et simpelt for hver løkke:
/* specifies list*/ int() list = {1,2,3,4,5}; /* foreach loop starts*/ foreach (int nmbr in list) { Console.WriteLine('Numbers present in list are '+ nmbr); }
Kode Forklaring
Først har vi defineret en matrix 'liste' i den første linje. Derefter har vi brugt a for hver sløjfe til at gentage og udskrive alle værdierne i arrayet.
Inde i loop-sætningen har vi deklareret en heltalstypevariabel 'nmbr' efterfulgt af nøgleordet 'in', der derefter efterfølges af det samme i arrayet. Så her, hvad vi mener at sige, er, at vi leder efter et heltal 'nmbr' inde i 'listen'.
Dernæst er udsagnet en simpel kodeblok til at udskrive alle værdier. Vi udskriver variablen “nmbr”, og som tidligere omtalt er den en skrivebeskyttet variabel og gemmer en ny værdi med hver iteration.
Lad os se på output for bedre forståelse.
Produktion
Tallene på listen er 1
Tallene på listen er 2
Tallene på listen er 3
Tallene på listen er 4
Tallene på listen er 5
Uendelig løkke
En sløjfe kan fortsætte i uendelig tid, hvis den betingelse, der definerer sløjfen, aldrig returnerer en falsk værdi. Normalt til loop eller while loop kan bruges til at udføre en uendelig loopoperation.
Uendelig løkke ved hjælp af løkke
Vi kan bruge 'for loop' til at udføre en uendelig loop-operation, da ingen af de tre udsagn er obligatoriske. Derfor, hvis vi lader alle udsagn være tomme, så vil det skabe en uendelig løkke.
/* for loop starts*/ for (; ;) { Console.WriteLine('infinite loop”); }
Denne sløjfe fortsætter med at udskrive en 'uendelig løkke' i konsollen i uendelig tid.
Uendelig løkke ved brug af løkke
While loop kan også bruges til at udføre uendelig loop-operation. Vi kan gøre det ved at give en tilstand, der aldrig kan være falsk.
For eksempel x> 0 og forøgelse af x hver gang startende fra 1.
/* while loop starts*/ int x = 1; while(x>0) { Console.WriteLine('infinite loop”); x++; }
Dette fortsætter med at udskrive 'uendelig sløjfe' til konsollen, da værdien af x altid forbliver større end 1. Derfor vil while-tilstanden altid returnere 'sand' værdi, og kodeblokken inde, mens den fortsætter med at udføre.
Konklusion
Sløjfen giver dig mulighed for at gentage en blok kode igen og igen. C # programmeringssprog tilbyder forskellige udsagn til brug af en loop som “for”, “while”, “do while” og “for each”.
Mens loop udfører en blok kode, så længe udtrykket inde i while-blokken er sandt. Do While-sløjfe giver brugeren mulighed for at udføre en kodeblok mindst en gang, og så fortsætter den med at gentage, indtil udtrykket indeni, mens det returnerer falsk.
For loop bruges når vi allerede ved, hvor mange gange vi har brug for at gentage koden. For hver sløjfe bruges til at udføre hvert element inde i en liste / samling ved hjælp af en given blok kode.
Normalt udføres en sløjfe, indtil kontroludtrykket returnerer sandt, men fortsæt eller bryd sætning kan bruges til at ændre dets eksekveringsflow.
Det er også muligt at oprette uendelige sløjfer ved hjælp af for eller mens udsagn til at udføre en blok kode uendeligt antal gange. Disse kodeblokke fortsætter med at blive udført, da udtrykket, der definerer loop-sætningen, altid vender tilbage til true.
=> Se efter Easy C # Training Guide her
Anbefalet læsning
- Python-løkker - Til, mens, indlejrede løkker med eksempler
- VBScript Loops: For Loop, Do Loop og While Loop
- Python-kontroludtalelser (Python fortsætter, bryder og passerer)
- Loop konstruerer i C ++ med eksempler
- Unix Shell Loop-typer: Gør mens Loop, For Loop, indtil Loop i Unix
- Tilføjelse af betingede erklæringer og sløjfeudtalelser i søgeordsvisning - QTP-vejledning # 4
- Unix Shell Scripting Tutorial med eksempler
- Oprettelse af Mocks and Spies i Mockito med kodeeksempler