Petlje u C-u: Izjave petlji For, While, Do While [Primjeri]
ล to je petlja u C-u?
Izjave u petlji u C-u izvrลกite 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 izjava je kombinacija nekih uvjeta koji usmjeravaju tijelo petlje da se izvrลกi sve dok navedeni uvjet ne postane laลพan. Svrha C petlje je ponavljanje istog koda viลกe puta.
Vrste petlji u C
Ovisno o poloลพaju kontrolne naredbe u programu, naredba petlje u C-u klasificira se u dvije vrste:
1. Ulazno kontrolirana petlja
2. Izlaz iz kontrolirane petlje
U ulazna kontrolna petlja u C, uvjet se provjerava prije izvrลกavanja tijela petlje. Naziva se i petljom prethodne provjere.
U izlazna kontrolirana petlja, uvjet se provjerava nakon izvoฤenja tijela petlje. Takoฤer se naziva petlja za naknadnu provjeru.

Uvjeti upravljanja moraju biti dobro definirani i specificirani inaฤe ฤe se petlja izvrลกiti beskonaฤan broj puta. Petlja koja ne prestaje izvrลกavati i obraฤuje naredbe broj puta naziva se an beskonaฤna petlja. Beskonaฤna petlja se takoฤer naziva "Beskrajna petlja.โ Slijede neke karakteristike beskonaฤne petlje:
1. Nije naveden raskidni uvjet.
2. Navedeni uvjeti 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. while petlja
2. Do-while petlja
3. For petlja
| 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 izvodi samo jednom, zatim uvjet testira i usporeฤuje brojaฤ s fiksnom vrijednoลกฤu nakon svake iteracije, zaustavljajuฤi for petlju kada se vrati false. |
Dok je petlja u C
While petlja je najjednostavnija struktura petlje. Sintaksa while 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.

- Inicijalizirali smo varijablu nazvanu num s vrijednoลกฤu 1. Ispisat ฤemo od 1 do 10 stoga je varijabla inicijalizirana s vrijednoลกฤu 1. Ako ลพelite ispisivati โโod 0, 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 potrebe oblikovanja ลก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.

- 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 Booleov izraz koji testira i usporeฤuje brojaฤ s fiksnom vrijednoลกฤu nakon svake iteracije, zaustavljajuฤi for petlju 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.

- Proglasili smo a varijabla int tipa podataka za pohranu 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
Gnijeลพฤenje 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 'C' ugnijeลพฤivanje je ograniฤeno na 15 petlji, ali neke daju viลกe.
Ugnijeลพฤene petlje uglavnom se koriste u aplikacijama s nizovima ลกto ฤemo vidjeti u daljnjim uputama.
Naredba Break u C
Naredba break koristi se uglavnom u izjava prebaciti. Takoฤer je korisno za trenutno zaustavljanje petlje.
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 potreban prethodni test, upotrijebite petlju za vrijeme ili za.
- Ako je potreban naknadni test, upotrijebite do-while petlju.
Rezime
- Definirajte petlju u C-u: Petlja je jedan od kljuฤnih pojmova na bilo kojem jeziku Programski jezik. Petlje u jeziku C implementirane su pomoฤu uvjetnih naredbi.
- Blok kontrolnih naredbi petlje u C-u izvrลกava se toliko puta dok uvjet ne postane laลพan.
- Petlje u C programiranju postoje 2 vrste: kontrolirane ulazom i kontrolirane izlazom.
- Navedite razne instrukcije upravljanja petljom u C: C programiranje nam daje 1) while 2) do-while i 3) upute za kontrolu petlje.
- For i while petlje C programiranje su ulazno kontrolirane petlje u C jeziku.
- Do-while je izlazna kontrolna petlja u C-u.
