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.

ล 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:
- Ulazno kontrolirana petlja
- 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.
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:
- Nije naveden uvjet prestanka.
- 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:
- Petlja while
- Petlja "do-while"
- 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 petlja u C programiranju
- 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.
- 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.
- 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 programiranju
- Prvo smo inicijalizirali varijablu 'num' s vrijednoลกฤu 1. Zatim smo napisali do-while petlju.
- U petlji imamo funkciju ispisa koja ฤe ispisati niz mnoลพenjem vrijednosti num s 2.
- Nakon svakog poveฤanja, vrijednost num ฤe se poveฤati za 1 i bit ฤe ispisana na ekranu.
- 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; }
- Poฤetna vrijednost for petlje izvodi se samo jednom.
- 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.
- 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.
Za petlju u C programiranju
- Deklarisali smo varijablu tipa int za pohranjivanje vrijednosti.
- U for petlji, u dijelu inicijalizacije, dodijelili smo vrijednost 1 varijabli broj. U dijelu uvjeta specificirali smo naลก uvjet, a zatim dio poveฤanja.
- 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:
- Analizirajte problem i provjerite zahtijeva li petlju prije testiranja ili nakon testiranja.
- Ako je potrebno prethodno testiranje, koristite petlju while ili for.
- Ako je potreban naknadni test, upotrijebite do-while petlju.




