Petlje u C-u: For, While, Do While looping Izjave [Primjeri]

โšก Pametni saลพetak

Petlje u C-u ponavljaju blok naredbi sve dok kontrolni uvjet ne postane laลพan, a jezik nudi tri konstrukta - while petlju, do-while petlju i for petlju - za ponavljanje kontrolirano ulazom i izlazom.

  • ๐Ÿ” Anatomija petlje: Svaka C petlja uparuje skup ponovljenih naredbi s kontrolnim uvjetom koji odluฤuje kada ponavljanje prestaje.
  • ๐Ÿšช Ulaz naspram izlaza: Petlje while i for s kontrolom ulaza prvo testiraju uvjet, dok petlja do-while s kontrolom izlaza uvijek izvrลกava svoje tijelo jednom.
  • โ™ป๏ธ Dok petlja: Petlja while provjerava svoj uvjet prije svakog prolaza, ลกto je pogodno za sluฤajeve kada broj iteracija nije unaprijed poznat.
  • ๐Ÿ”‚ Do-while petlja: Petlja do-while izvrลกava tijelo prije testiranja, tako da jamฤi jedno pokretanje ฤak i kada je uvjet laลพan.
  • ๐Ÿ”ข Za petlju: Petlja for objedinjuje inicijalizaciju, uvjet i aลพuriranje u jednom retku, idealno za brojanje unutar fiksnog raspona.
  • โ›” Prekini i nastavi: Naredba break odmah izlazi iz petlje, dok naredba continue preskaฤe sljedeฤ‡u iteraciju bez napuลกtanja petlje.

Petlje u C-u: For, While, Do While looping Izjave

ล to je petlja u C-u?

WCping Naredbe u C-u izvrลกavaju niz naredbi mnogo puta dok navedeni uvjet ne postane laลพan. Petlja u C-u sastoji se od dva dijela, tijela petlje i kontrolne naredbe. Kontrolna naredba je kombinacija nekih uvjeta koji usmjeravaju tijelo petlje na izvrลกavanje dok navedeni uvjet ne postane laลพan. Svrha C petlje je ponoviti isti kod viลกe puta.

Vrste petlji u C

Ovisno o poloลพaju kontrolne naredbe u programu, looping Izjave u C-u se dijele na dvije vrste:

  1. Ulazno kontrolirana petlja
  2. Izlaz iz kontrolirane petlje

U petlji kontrole ulaska u C, uvjet se provjerava prije izvrลกavanja tijela petlje. To se naziva i petlja prethodne provjere.

U petlji kontroliranoj izlazom, uvjet se provjerava nakon izvrลกavanja tijela petlje. Takoฤ‘er se naziva petlja s naknadnom provjerom.

Vrste petlji u C

Petlja uzorka

Uvjeti upravljanja moraju biti dobro definirani i specificirani, inaฤe ฤ‡e se petlja izvrลกavati beskonaฤan broj puta. Petlja koja se ne zaustavlja s izvrลกavanjem i obraฤ‘uje naredbe viลกe puta naziva se beskonaฤna petlja. Beskonaฤna petlja naziva se i "beskrajna petlja". Slijede neke karakteristike beskonaฤne petlje:

  1. Nije naveden uvjet prestanka.
  2. Navedeni uvjeti se nikada ne ispunjavaju.

Navedeni uvjet odreฤ‘uje hoฤ‡e li se izvrลกiti tijelo petlje ili ne.

Programski jezik 'C' nudi nam tri vrste konstrukcija petlje:

  1. Petlja while
  2. Petlja "do-while"
  3. Petlja for
Sr. Ne. Tip petlje Description
1. Dok petlja U while petlji uvjet se procjenjuje prije obrade tijela petlje. Ako je uvjet istinit tada i samo tada se izvrลกava tijelo petlje.
2. Do-While petlja U doโ€ฆwhile petlji, uvjet se uvijek izvrลกava nakon tijela petlje. Takoฤ‘er se naziva petlja kontrolirana izlazom.
3. Za petlju U for petlji, poฤetna vrijednost se izvrลกava samo jednom, zatim uvjet testira i usporeฤ‘uje brojaฤ s fiksnom vrijednoลกฤ‡u nakon svake iteracije, zaustavljanjeping for petlja kada se vrati false.

Dok je petlja u C

White petlja je najjednostavniji WCping struktura. Sintaksa petlje u programskom jeziku C je sljedeฤ‡a:

Sintaksa while petlje u C-u

while (condition) {
             statements;
}

To je ulazno kontrolirana petlja. U while petlji uvjet se procjenjuje prije obrade tijela petlje. Ako je uvjet istinit tada i samo tada se izvrลกava tijelo petlje. Nakon ลกto se tijelo petlje izvrลกi, kontrola se ponovno vraฤ‡a na poฤetak, a uvjet se provjerava je li istinit, isti se proces izvrลกava dok uvjet ne postane laลพan. Jednom kada uvjet postane laลพan, kontrola izlazi iz petlje.

Nakon izlaska iz petlje, kontrola prelazi na iskaze koji se nalaze odmah nakon petlje. Tijelo petlje moลพe sadrลพavati viลกe od jedne izjave. Ako sadrลพi samo jednu izjavu, tada vitiฤaste zagrade nisu obavezne. Ipak, dobra je praksa koristiti vitiฤaste zagrade ฤak i ako imamo jednu izjavu u tijelu.

U while petlji, ako uvjet nije istinit, tada se tijelo petlje neฤ‡e izvrลกiti, niti jednom. Drugaฤije je u do while petlji koju ฤ‡emo uskoro vidjeti.

Sljedeฤ‡i program ilustrira while petlju u primjeru C programiranja:

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

Izlaz:

1
2
3
4
5
6
7
8
9
10

Gornji program ilustrira koriลกtenje while petlje. U gornjem programu ispisali smo niz brojeva od 1 do 10 koristeฤ‡i while petlju.

Dok je petlja u C

Dok petlja u C programiranju

  1. Inicijalizirali smo varijabla nazvan broj s vrijednoลกฤ‡u 1. Ispisivat ฤ‡emo od 1 do 10, stoga je varijabla inicijalizirana s vrijednoลกฤ‡u 1. Ako ลพelite ispisivati โ€‹โ€‹od 0, tada dodijelite vrijednost 0 tijekom inicijalizacije.
  2. U while petlji osigurali smo uvjet (num<=10), ลกto znaฤi da ฤ‡e petlja izvrลกavati tijelo dok vrijednost num ne postane 10. Nakon toga, petlja ฤ‡e biti prekinuta, a kontrola ฤ‡e pasti izvan petlje.
  3. U tijelu petlje imamo funkciju ispisa za ispis naลกeg broja i operaciju poveฤ‡anja za poveฤ‡anje vrijednosti po izvrลกavanju petlje. Poฤetna vrijednost num je 1, nakon izvoฤ‘enja postat ฤ‡e 2, a tijekom sljedeฤ‡eg izvoฤ‘enja postat ฤ‡e 3. Ovaj proces ฤ‡e se nastaviti dok vrijednost ne postane 10, a zatim ฤ‡e ispisati niz na konzoli i prekinuti petlju .

'\n' se koristi za formatiranje, ลกto znaฤi da ฤ‡e vrijednost biti ispisana u novom retku.

Do-While petlja u C-u

Doโ€ฆwhile petlja u C-u sliฤna je while petlji osim ลกto se uvjet uvijek izvrลกava nakon tijela petlje. Takoฤ‘er se naziva petlja kontrolirana izlazom.

Sintaksa do while petlje u programskom jeziku C je sljedeฤ‡a:

Sintaksa Do-While petlje u C-u

 do {
  statements
} while (expression);

Kao ลกto smo vidjeli u while petlji, tijelo se izvrลกava ako i samo ako je uvjet istinit. U nekim sluฤajevima moramo izvrลกiti tijelo petlje barem jednom ฤak i ako je uvjet laลพan. Ova vrsta operacije moลพe se postiฤ‡i koriลกtenjem do-while petlje.

U do-while petlji, tijelo petlje uvijek se izvrลกava barem jednom. Nakon ลกto je tijelo izvrลกeno, onda provjerava stanje. Ako je uvjet istinit, tada ฤ‡e ponovno izvrลกiti tijelo petlje, inaฤe se kontrola prenosi izvan petlje.

Sliฤno while petlji, nakon ลกto kontrola izaฤ‘e iz petlje izvode se naredbe koje su odmah nakon petlje.

Kritiฤna razlika izmeฤ‘u while i do-while petlje je u tome ลกto je u while petlji while zapisan na poฤetku. U do-while petlji, while uvjet se piลกe na kraju i zavrลกava toฤkom-zarezom (;)

Sljedeฤ‡i program petlje u C-u ilustrira rad do-while petlje:

Ispod je petlja do-while u primjeru C za ispis tablice broja 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;
}

Izlaz:

2
4
6
8
10
12
14
16
18
20

U gornjem primjeru ispisali smo tablicu mnoลพenja 2 koristeฤ‡i do-while petlju. Pogledajmo kako je program uspio ispisati seriju.

Do-While petlja u C-u

Do-While petlja u C programiranju

  1. Prvo smo inicijalizirali varijablu 'num' s vrijednoลกฤ‡u 1. Zatim smo napisali do-while petlju.
  2. U petlji imamo funkciju ispisa koja ฤ‡e ispisati niz mnoลพenjem vrijednosti num s 2.
  3. Nakon svakog poveฤ‡anja, vrijednost num ฤ‡e se poveฤ‡ati za 1 i bit ฤ‡e ispisana na ekranu.
  4. U poฤetku, vrijednost num je 1. U tijelu petlje, funkcija ispisa ฤ‡e se izvrลกiti na ovaj naฤin: 2*num gdje je num=1, zatim 2*1=2 pa ฤ‡e se vrijednost dva ispisati. To ฤ‡e se nastaviti sve dok vrijednost num ne postane 10. Nakon te petlje ฤ‡e se prekinuti i izvrลกit ฤ‡e se izjava koja je odmah nakon petlje. U ovom sluฤaju vratite 0.

For petlja u C

For petlja je uฤinkovitija struktura petlje u 'C' programiranju. Opฤ‡a struktura sintakse for petlje u C-u je sljedeฤ‡a:

Sintaksa petlje For u C-u

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  1. Poฤetna vrijednost for petlje izvodi se samo jednom.
  2. Uvjet je logiฤki izraz koji testira i usporeฤ‘uje brojaฤ s fiksnom vrijednoลกฤ‡u nakon svake iteracije, zaustavlja seping for petlja kada se vrati false.
  3. Poveฤ‡anje/smanjenje poveฤ‡ava (ili smanjuje) brojaฤ za postavljenu vrijednost.

Sljedeฤ‡i program ilustrira for petlju u primjeru C programiranja:

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

Izlaz:

1
2
3
4
5
6
7
8
9
10

Gornji program ispisuje niz brojeva od 1-10 koristeฤ‡i for petlju.

For petlja u C

Za petlju u C programiranju

  1. Deklarisali smo varijablu tipa int za pohranjivanje vrijednosti.
  2. U for petlji, u dijelu inicijalizacije, dodijelili smo vrijednost 1 varijabli broj. U dijelu uvjeta specificirali smo naลก uvjet, a zatim dio poveฤ‡anja.
  3. U tijelu petlje imamo funkciju ispisa za ispis brojeva u novi red u konzoli. Imamo vrijednost jedan pohranjenu u broju, nakon prve iteracije vrijednost ฤ‡e se poveฤ‡ati i postat ฤ‡e 2. Sada varijabla broj ima vrijednost 2. Uvjet ฤ‡e se ponovno provjeriti i buduฤ‡i da je uvjet istinit, petlja ฤ‡e se izvrลกiti, a na ekranu ฤ‡e ispisati dva. Ova petlja ฤ‡e se nastaviti izvrลกavati sve dok vrijednost varijable ne postane 10. Nakon toga, petlja ฤ‡e biti prekinuta, a niz od 1-10 ฤ‡e biti ispisan na ekranu.

U C-u, for petlja moลพe imati viลกe izraza odvojenih zarezima u svakom dijelu.

Na primjer:

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

Takoฤ‘er, moลพemo preskoฤiti izraz poฤetne vrijednosti, uvjet i/ili inkrement dodavanjem toฤke-zareza.

Na primjer:

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

Primijetite da petlje takoฤ‘er mogu biti ugnijeลพฤ‘ene tamo gdje postoji vanjska petlja i unutarnja petlja. Za svaku iteraciju vanjske petlje, unutarnja petlja ponavlja cijeli ciklus.

Razmotrite sljedeฤ‡i primjer s viลกe uvjeta u for petlji, koji koristi ugnijeลพฤ‘enu for petlju u C programiranju za izlaz tablice mnoลพenja:

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

Izlaz:

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

Ugnijeลพฤ‘ivanje for petlji moลพe se izvrลกiti do bilo koje razine. Ugnijeลพฤ‘ene petlje trebaju biti odgovarajuฤ‡e uvuฤene kako bi kod bio ฤitljiv. U nekim verzijama programskog jezika 'C' ugnijeลพฤ‘ivanje je ograniฤeno na 15 petlji, ali neke nude i viลกe.

Ugnijeลพฤ‘ene petlje uglavnom se koriste u aplikacijama s nizovima ลกto ฤ‡emo vidjeti u daljnjim uputama.

Osim tri vrste petlji, C nudi dvije naredbe koje mijenjaju naฤin izvoฤ‘enja petlje iznutra.

Naredba Break u C

Naredba break koristi se uglavnom u izjava prebacitiTakoฤ‘er je korisno za trenutno zaustavljanjeping petlja.

Razmatramo sljedeฤ‡i program koji uvodi prekid za izlaz iz while petlje:

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

Izlaz:

5
4

Nastavak izjave u C

Kada ลพelite preskoฤiti na sljedeฤ‡u iteraciju, ali ostati u petlji, trebali biste koristiti naredbu continue.

Na primjer:

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

Izlaz:

6
4
3
2
1

Dakle, vrijednost 5 je preskoฤena.

Koju petlju odabrati?

Odabir petlje uvijek je teลพak zadatak za programera, za odabir petlje uฤinite sljedeฤ‡e korake:

  1. Analizirajte problem i provjerite zahtijeva li petlju prije testiranja ili nakon testiranja.
  2. Ako je potrebno prethodno testiranje, koristite petlju while ili for.
  3. Ako je potreban naknadni test, upotrijebite do-while petlju.

Pitanja i odgovori

Beskonaฤna petlja se izvrลกava zauvijek kada njen uvjet nikada ne postane laลพan. Sprijeฤite to aลพuriranjem varijable petlje unutar tijela i osiguravanjem da se uvjet na kraju moลพe ispuniti ili dodajte naredbu break kao zaลกtitnu mjeru.

Naredba break u potpunosti zaustavlja petlju i premjeลกta kontrolu na prvu naredbu nakon nje. Naredba continue preskaฤe samo preostale naredbe u trenutnoj iteraciji i skaฤe na sljedeฤ‡i ciklus petlje.

Standardni C nema ugraฤ‘enu petlju for-each ili petlju temeljenu na rasponu kao ลกto je C++ or PythonNiz se iterira ruฤno pomoฤ‡u petlje for ili while, koristeฤ‡i indeks ili pokazivaฤ koji prolazi kroz svaki element.

Ne. Naredba goto izvodi bezuvjetni skok na oznaฤeni redak i moลพe oponaลกati loo.ping, ali nije strukturirana petlja. Koriลกtenje for, while ili do-while ฤini kod puno ฤitljivijim.

Operator zareza omoguฤ‡uje jednoj for petlji upravljanje s nekoliko varijabli odjednom. U for (x = 0, y = n; x < y; x++, yโ€“), i odjeljak za inicijalizaciju i odjeljak za aลพuriranje izvrลกavaju dva izraza u svakom prolazu.

Da. Kombinirajte uvjete s logiฤkim operatorima I (&&) i ILI (||) unutar zagrada. Na primjer, dok (a < 10 && b > 0) drลพi looping samo dok su oba uvjeta istinita.

Da. Pomoฤ‡nici za kodiranje umjetne inteligencije mogu skicirati while, do-while i for petlje iz jednostavnog opisa, uoฤiti pogreลกke koje se razlikuju za jedan i oznaฤiti uvjete koji se mogu izvrลกavati zauvijek. RevPregledavanje izlaza ostaje kljuฤno, jer generirana logika nije uvijek ispravna.

GitHub kopilot Predlaลพe dovrลกavanje tijela petlji dok tipkate, automatski dovrลกava brojaฤe i uvjete te predlaลพe uzorke ugnijeลพฤ‘enih petlji iz kratkog komentara. Radi unutar popularnih ureฤ‘ivaฤa i ubrzava repetitivno C kodiranje.

Saลพmite ovu objavu uz: