Loopar i C: For, While, Do While looping Påståenden [Exempel]

⚡ Smart sammanfattning

Loopar i C upprepar ett block av uttalanden tills ett kontrollvillkor blir falskt, och språket tillhandahåller tre konstruktioner - while-loopen, do-while-loopen och for-loopen - för kontrollerad repetition vid ingång och utgång.

  • 🔁 Loopanatomi: Varje C-slinga parar ihop en mängd upprepade uttryck med ett kontrollvillkor som avgör när repetitionen upphör.
  • 🚪 Ingång kontra utgång: Ingångsstyrda while- och for-slingor testar villkoret först, medan den utgångsstyrda do-while-slingan alltid kör sin kropp en gång.
  • ♻️ While loop: While-slingan kontrollerar sitt tillstånd före varje genomgång, vilket passar fall där antalet iterationer inte är känt i förväg.
  • 🔂 Do-while-loop: Do-while-slingan exekverar kroppen före testning, så den garanterar en enda körning även när villkoret är falskt.
  • 🔢 För loop: For-loopen packar initialisering, villkor och uppdatering på en rad, idealiskt för att räkna genom ett fast intervall.
  • ⛔ Pausa och fortsätt: break-satsen avslutar en loop omedelbart, medan continue hoppar till nästa iteration utan att lämna loopen.

Loopar i C: For, While, Do While looping Uttalanden

Vad är Loop in C?

Looping Satt i C exekverar sekvensen av satt många gånger tills det angivna villkoret blir falskt. En loop i C består av två delar, en loopdel och en kontrollsats. Kontrollsatsen är en kombination av några villkor som styr loopdelen att exekveras 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, tittaping satsen i C klassificeras i två typer:

  1. Ingångsstyrd slinga
  2. Avsluta kontrollerad loop

I en entry control loop i C kontrolleras ett villkor innan loopens innehåll exekveras. Det kallas också en pre-checking loop.

I en utgångsstyrd loop kontrolleras ett villkor efter att loopens innehåll har exekverats. Det kallas även en efterkontrollsloop.

Typer av loopar i C

Provslinga

Kontrollvillkoren måste vara väldefinierade och specificerade, annars kommer loopen att exekveras ett oändligt antal gånger. Loopen som inte slutar exekveras och bearbetar satserna ett antal gånger kallas en oändlig loop. En oändlig loop kallas också en "ändlös loop". Följande är några egenskaper hos en oändlig loop:

  1. Inget uppsägningsvillkor är specificerat.
  2. De angivna villkoren uppfylls 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. Do-while-slingan
  3. For-slingan
Sr. nr Loop Type BESKRIVNING
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 initialvärdet endast en gång, sedan testar och jämför villkoret räknaren med ett fast värde efter varje iteration, stopparping for-loopen när falskt returneras.

Medan Loop in C

En while-loop är den enklaste lookenping struktur. Medan loopsyntaxen i C-programmeringsspråket är följande:

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 kallas num med värdet 1. Vi ska skriva ut från 1 till 10, därför initieras variabeln med värdet 1. Om du vill skriva ut från 0, tilldela då värdet 0 under initieringen.
  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;
}
  1. Det initiala värdet för for-slingan utförs endast en gång.
  2. Villkoret är ett booleskt uttryck som testar och jämför räknaren med ett fast värde efter varje iteration, stoppping for-loopen när falskt returneras.
  3. Ö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 deklarerat en variabel av datatypen int 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

Nästning av for-loopar kan göras upp till vilken nivå som helst. De nästlade looparna bör vara tillräckligt indragna för att göra koden läsbar. I vissa versioner av 'C' är nästningen begränsad till upp till 15 loopar, men vissa erbjuder fler.

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

Utöver de tre looptyperna erbjuder C två uttryck som ändrar hur en loop löper inifrån.

Pausuttalande i C

Paussatsen används främst i växla uttalandeDet är också användbart för att omedelbart stoppaping En slinga.

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:

  1. Analysera problemet och kontrollera om det kräver ett förtest eller en eftertestslinga.
  2. Om förtest krävs, använd en while- eller for-loop.
  3. Om eftertest krävs, använd en do-while loop.

Vanliga frågor

En oändlig loop körs för evigt när dess villkor aldrig blir falskt. Förhindra det genom att uppdatera loopvariabeln inuti kroppen och se till att villkoret så småningom kan uppfyllas, eller lägg till en break-sats som en säkerhetsåtgärd.

break-satsen stoppar en loop helt och flyttar kontrollen till den första satsen efter den. continue-satsen hoppar bara över de återstående satserna i den aktuella iterationen och hoppar till loopens nästa cykel.

Standard C har ingen inbyggd for-each- eller intervallbaserad loop som C++ or PythonDu itererar en array manuellt med en for- eller while-loop, med hjälp av ett index eller en pekare som går igenom varje element.

Nej. goto-satsen utför ett ovillkorligt hopp till en markerad rad och kan imitera looping, men det är inte en strukturerad loop. Att använda for, while eller do-while gör koden mycket mer läsbar.

Kommaoperatorn låter en for-loop hantera flera variabler samtidigt. I for (x = 0, y = n; x < y; x++, y–) kör både initialiserings- och uppdateringssektionen två uttryck i varje omgång.

Ja. Kombinera villkor med de logiska AND-operatorerna (&&) och OR (||) inom parenteserna. Till exempel, medan (a < 10 && b > 0) behåller looping endast så länge båda villkoren förblir upprätthållna.

Ja. AI-kodningsassistenter kan drafta while-, do-while- och for-loopar från en enkel beskrivning, identifiera fel i taget och flagga villkor som kan komma att existera för alltid. RevAtt visa utdata är fortfarande viktigt, eftersom den genererade logiken inte alltid är korrekt.

GitHub Copilot föreslår kompletta loop-innehåll medan du skriver, autokompletterar räknare och villkor och föreslår kapslade loop-mönster från en kort kommentar. Det fungerar inuti populära editorer och snabbar upp repetitiv C-kodning.

Sammanfatta detta inlägg med: