Slingor i C: For, While, Do While looping Statements [Exempel]

Vad är Loop in C?

Looping uttalanden i C exekvera sekvensen av satser många gånger tills det angivna villkoret blir falskt. En loop i C består av två delar, en kropp av en loop och en kontrollsats. Kontrollsatsen är en kombination av några villkor som styr slingans kropp att exekvera tills det angivna villkoret blir falskt. Syftet med C-loopen är att upprepa samma kod ett antal gånger.

Typer av loopar i C

Beroende på positionen för en kontrollsats i ett program, klassificeras loopingsatsen i C i två typer:

1. Ingångskontrollerad slinga

2. Gå ur kontrollerad slinga

I ett ingångskontrollslinga i C, ett villkor kontrolleras innan kroppen av en loop körs. Det kallas också som en förkontrollslinga.

I ett gå ur kontrollerad slinga, kontrolleras ett villkor efter exekvering av kroppen av en loop. Det kallas också som en efterkontrollslinga.

Typer av loopar i C
Provslinga

Kontrollvillkoren måste vara väl definierade och specificerade, annars kommer slingan att exekveras ett oändligt antal gånger. Slingan som inte slutar exekvera och bearbetar satserna ett antal gånger kallas an oändlig loop. En oändlig slinga kallas också en "Oändlig slinga.” Följande är några egenskaper hos en oändlig loop:

1. Inget uppsägningsvillkor anges.

2. De angivna villkoren uppfyller aldrig.

Det angivna villkoret avgör om loopkroppen ska exekveras eller inte.

Programmeringsspråket 'C' ger oss tre typer av loopkonstruktioner:

1. While-slingan

2. Gör-under-slingan

3. For-slingan

Sr. nr Loop Type Description
1. Medan Loop I while-loopen utvärderas ett villkor innan en kropp av loopen bearbetas. Om ett villkor är sant exekveras först då en loops brödtext.
2. Do-While Loop I en do...while-loop exekveras villkoret alltid efter brödtexten i en loop. Det kallas också en utgångskontrollerad slinga.
3. För Loop I en for-loop utförs det initiala värdet endast en gång, sedan testar tillståndet och jämför räknaren med ett fast värde efter varje iteration, vilket stoppar for-slingan när false returneras.

Medan Loop in C

En while loop är den enklaste loopingstrukturen. Medan loopsyntax i C programmeringsspråk är som följer:

Syntax för While Loop i C

while (condition) {
             statements;
}

Det är en ingångskontrollerad slinga. I while-loopen utvärderas ett villkor innan en kropp av loopen bearbetas. Om ett villkor är sant exekveras först då en loops brödtext. Efter att huvuddelen av en loop exekveras, går kontrollen tillbaka i början igen, och villkoret kontrolleras om det är sant, samma process exekveras tills villkoret blir falskt. När villkoret blir falskt, går kontrollen ur slingan.

Efter att ha lämnat slingan går kontrollen till satserna som ligger omedelbart efter slingan. Brödtexten i en loop kan innehålla mer än ett påstående. Om den bara innehåller ett påstående är de lockiga hängslen inte obligatoriska. Det är en bra praxis att använda de lockiga hängslen även om vi har ett enda uttalande i kroppen.

I while-loop, om villkoret inte är sant, kommer inte en loops brödtext att exekveras, inte ens en gång. Det är annorlunda i do while loop som vi kommer att se inom kort.

Följande program illustrerar programmeringsexempel medan loop in C:

#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;
}

Produktion:

1
2
3
4
5
6
7
8
9
10

Ovanstående program illustrerar användningen av while loop. I programmet ovan har vi skrivit ut serier av nummer från 1 till 10 med hjälp av en while-loop.

Medan Loop in C
Medan Loop in C-programmering
  1. Vi har initierat en variabel som heter num med värde 1. Vi kommer att skriva ut från 1 till 10, därför initieras variabeln med värde 1. Om du vill skriva ut från 0, tilldela värdet 0 under initialiseringen.
  2. Inom en while-loop har vi tillhandahållit ett villkor (num<=10), vilket innebär att loopen kommer att exekvera kroppen tills värdet på num blir 10. Efter det kommer loopen att avslutas och kontrollen faller utanför loopen.
  3. I en loops brödtext har vi en utskriftsfunktion för att skriva ut vårt nummer och en inkrementoperation för att öka värdet per exekvering av en loop. Ett initialt värde på num är 1, efter exekveringen blir det 2, och under nästa exekvering blir det 3. Denna process fortsätter tills värdet blir 10 och sedan kommer den att skriva ut serien på konsolen och avsluta slingan .

\n används för formateringsändamål vilket innebär att värdet kommer att skrivas ut på en ny rad.

Do-While loop i C

En do...while loop i C liknar while-loopen förutom att villkoret alltid exekveras efter en loops brödtext. Det kallas också en utgångskontrollerad slinga.

Syntaxen för do while loop i programmeringsspråket C är följande:

Syntax för Do-While Loop i C

 do {
  statements
} while (expression);

Som vi såg i en while-loop, exekveras kroppen om och endast om villkoret är sant. I vissa fall måste vi exekvera en kropp av loopen minst en gång även om villkoret är falskt. Denna typ av operation kan uppnås genom att använda en do-while loop.

I do-while-loopen exekveras alltid en loops brödtext minst en gång. Efter att kroppen har avrättats kontrollerar den tillståndet. Om villkoret är sant, kommer det återigen att exekvera kroppen av en loop, annars överförs kontrollen ut ur loopen.

På samma sätt som while-slingan, när kontrollen går ut ur loopen, de satser som är omedelbart efter att loopen exekveras.

Den kritiska skillnaden mellan while- och do-while-slingan är att while-slingan skrivs i början. I do-while loop skrivs while-villkoret i slutet och avslutas med semikolon (;)

Följande loopprogram i C illustrerar hur en do-while loop fungerar:

Nedan är en do-while loop i C-exempel för att skriva 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;
}

Produktion:

2
4
6
8
10
12
14
16
18
20

I exemplet ovan har vi skrivit ut multiplikationstabell med 2 med hjälp av en do-while loop. Låt oss se hur programmet kunde skriva ut serien.

Do-While loop i C
Do-While Loop i C-programmering
  1. Först har vi initierat en variabel 'num' med värdet 1. Sedan har vi skrivit en do-while loop.
  2. I en slinga har vi en utskriftsfunktion som kommer att skriva ut serien genom att multiplicera värdet på num med 2.
  3. Efter varje steg ökar värdet på num med 1 och det kommer att skrivas ut på skärmen.
  4. Inledningsvis är värdet på num 1. I en loopkropp kommer utskriftsfunktionen att exekveras på detta sätt: 2*num där num=1, sedan 2*1=2, så värdet två kommer att skrivas ut. Detta kommer att fortsätta tills värdet på num blir 10. Efter den avslutas loopen och en sats som ligger omedelbart efter loopen kommer att exekveras. Returnera i detta fall 0.

För loop i C

A for loop är en mer effektiv loopstruktur i "C"-programmering. Den allmänna strukturen för for loop-syntax i C är följande:

Syntax för For Loop i C

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • Det initiala värdet för for-slingan utförs endast en gång.
  • Villkoret är ett booleskt uttryck som testar och jämför räknaren med ett fast värde efter varje iteration, vilket stoppar for-slingan när false returneras.
  • Ökningen/minskningen ökar (eller minskar) räknaren med ett inställt värde.

Följande program illustrerar programmeringsexemplet for loop in C:

#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;
}

Produktion:

1
2
3
4
5
6
7
8
9
10

Ovanstående program skriver ut nummerserien från 1-10 med för loop.

För loop i C
För Loop in C-programmering
  1. Vi har förklarat a variabel av en int-datatyp för att lagra värden.
  2. I for loop, i initialiseringsdelen, har vi tilldelat värdet 1 till variabelnumret. I tillståndsdelen har vi specificerat vårt tillstånd och sedan inkrementdelen.
  3. I kroppen av en loop har vi en utskriftsfunktion för att skriva ut siffrorna på en ny rad i konsolen. Vi har värdet ett lagrat i antal, efter den första iterationen kommer värdet att ökas, och det blir 2. Nu har variabelnumret värdet 2. Villkoret kommer att kontrolleras igen och eftersom villkoret är sant kommer loopen att exekveras, och det kommer att skriva ut två på skärmen. Denna loop kommer att fortsätta köras tills variabelns värde blir 10. Därefter avslutas loopen och en serie på 1-10 kommer att skrivas ut på skärmen.

I C kan for-loopen ha flera uttryck separerade med kommatecken i varje del.

Till exempel:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

Vi kan också hoppa över det initiala värdeuttrycket, villkoret och/eller ökningen genom att lägga till ett semikolon.

Till exempel:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

Lägg märke till att slingor också kan kapslas där det finns en yttre och en inre slinga. För varje iteration av den yttre slingan upprepar den inre slingan hela sin cykel.

Betrakta följande exempel med flera villkor i for loop, som använder kapslade för loop i C-programmering för att mata ut en multiplikationstabell:

#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 */
}}

Produktion:

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

Kapslingen av for loopar kan göras upp till vilken nivå som helst. De kapslade slingorna bör vara tillräckligt indragna för att göra koden läsbar. I vissa versioner av 'C' är kapslingen begränsad till 15 slingor, men vissa ger fler.

De kapslade looparna används mest i array-applikationer som vi kommer att se i ytterligare handledningar.

Pausuttalande i C

Paussatsen används främst i växla uttalande. Det är också användbart för att omedelbart stoppa en loop.

Vi överväger följande program som introducerar en paus för att lämna en while-loop:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

Produktion:

5
4

Fortsätt uttalande i C

När du vill hoppa till nästa iteration men förbli i slingan bör du använda continu-satsen.

Till exempel:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

Produktion:

6
4
3
2
1

Så värdet 5 hoppas över.

Vilken slinga att välja?

Att välja en loop är alltid en svår uppgift för en programmerare, för att välja en loop gör följande steg:

  • Analysera problemet och kontrollera om det kräver ett förtest eller en eftertestslinga.
  • Om förtest krävs, använd en stund eller för en slinga.
  • Om eftertest krävs, använd en do-while loop.

Sammanfattning

  • Definiera loop i C: En loop är ett av nyckelbegreppen på alla Programmeringsspråk. Slingor i C-språk implementeras med villkorliga uttalanden.
  • Ett block med loopkontrollsatser i C exekveras ett antal gånger tills villkoret blir falskt.
  • Slingor i C-programmering är av 2 typer: ingångs- och utgångskontrollerad.
  • Lista olika slingstyrningsinstruktioner i C: C-programmering ger oss 1) medan 2) gör-under och 3) för slingstyrningsinstruktioner.
  • For and while loop C-programmering är ingångskontrollerade loopar i C-språk.
  • Do-while är en utgångskontrollslinga i C.