C # za petlju (s primjerima)

U ovom ćemo članku naučiti o petlji for u C # i različitim načinima njihove upotrebe u programu.

U programiranju je često poželjno izvršiti određeni blok naredbi određeni broj puta. Moguće rješenje bit će upisivanje tih izjava potreban broj puta. Međutim, broj ponavljanja možda nije poznat unaprijed (tijekom vremena sastavljanja) ili možda dovoljno velik (recimo 10000).

Najbolje rješenje za takav problem je petlja. Petlje se koriste u programiranju za opetovano izvršavanje određenog bloka izraza dok se ne ispuni neki uvjet.

U ovom ćemo članku potražiti petlju u C #.

C # za petlju

Za ključnu riječ se koristi za stvaranje for petlja u C #. Sintaksa for petlje je:

 for (inicijalizacija; uvjet; iterator) (// tijelo for petlje) 

Kako radi petlja?

  1. C # za petlju ima tri izjave: initialization, conditioni iterator.
  2. initializationNaredba izvrši na prvi i samo jednom. Ovdje se varijabla obično deklarira i inicijalizira.
  3. Zatim conditionse procjenjuje. conditionJe logički izraz, odnosno vraća bilo trueili false.
  4. Ako se conditionvrijednost procjenjuje na true:
    1. Izvodi se unutar petlje for.
    2. Zatim iteratorse izvršava izraz koji obično mijenja vrijednost inicijalizirane varijable.
    3. Ponovno conditionse ocjenjuje.
    4. Postupak se nastavlja sve dok se conditionne ocijeni false.
  5. Ako conditionse procjenjuje na false, petlja for završava.

za dijagram toka petlje

Primjer 1: C # za petlju

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Kada pokrenemo program, izlaz će biti:

 C # Za petlju: Iteracija 1 C # Za petlju: Iteracija 2 C # Za petlju: Iteracija 3 C # Za petlju: Iteracija 4 C # Za petlju: Iteracija 5

U ovom programu,

  • initialization izjava je int i=1
  • condition izjava je i<=5
  • iterator izjava je i++

Kada se program pokrene,

  • Prvo se varijabla i deklarira i inicijalizira na 1.
  • Zatim i<=5se procjenjuje uvjet ( ).
  • Budući da se uvjet vraća true, program zatim izvršava tijelo for petlje. Datu liniju ispisuje s ponavljanjem 1 (ponavljanje jednostavno znači ponavljanje).
  • Sada i++se procjenjuje iterator ( ). To povećava vrijednost i na 2.
  • Uvjet ( i<=5) se ponovno procjenjuje i na kraju se vrijednost i povećava za 1. Uvjet će procijeniti na trueprvih 5 puta.
  • Kada će vrijednost i biti 6, a uvjet biti false, stoga će petlja završiti.

Primjer 2: za petlju za izračunavanje zbroja prvih n prirodnih brojeva

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) ) 

Kada pokrenemo program, izlaz će biti:

 Zbroj prvih 5 prirodnih brojeva = 15

Ovdje su vrijednost zbroja i n inicijalizirane na 0 odnosno 5. Varijabla iteracije i inicijalizira se na 1 i povećava na svakoj iteraciji.

Unutar petlje for vrijednost zbroja uvećava se za i ie sum = sum + i. Petlja for nastavlja se sve dok i nije manje ili jednako n (unos korisnika).

Pogledajmo što se događa u danom programu na svakoj iteraciji.

U početku je i = 1, zbroj = 0 i n = 3

Za korake izvršavanja petlje
Iteracija Vrijednost i i <= 5 Vrijednost zbroja
1 1 pravi 0 + 1 = 1
2 2 pravi 1 + 2 = 3
3 3 pravi 3 + 3 = 6
4 4 pravi 6 + 4 = 10
5 5 pravi 10 + 5 = 15
6 6 lažno Petlja se završava

Dakle, konačna vrijednost zbroja bit će 15 kada je n = 5.

Više izraza unutar for petlje

Također možemo koristiti više izraza unutar for petlje. To znači da možemo imati više od jedne inicijalizacije i / ili naredbe iteratora unutar for petlje. Pogledajmo primjer u nastavku.

Primjer 3: za petlju s višestrukim izrazima inicijalizacije i iteratora

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) ) 

Kada pokrenemo program, izlaz će biti:

 i = 0 i j = 0 i = 1 i j = 1 i = 2 i j = 2

U ovom smo programu deklarirali i inicijalizirali dvije varijable: i i j u izrazu inicijalizacije.

Također, u iteratorskom dijelu imamo dva izraza. To znači da se i i j povećavaju za 1 na svakoj iteraciji.

Za petlju bez inicijalizacije i naredbi iteratora

Inicijalizacija, uvjet i izraz iteratora nisu obavezni u for petlji. To znači da možemo pokrenuti for petlju i bez ovih izjava.

U takvim slučajevima, petlja for djeluje kao while petlja. Pogledajmo primjer u nastavku.

Primjer 4: za petlju bez inicijalizacije i naredbe iteratora

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; i<=5; ) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Kada pokrenemo program, izlaz će biti:

 C # Za petlju: Iteracija 1 C # Za petlju: Iteracija 2 C # Za petlju: Iteracija 3 C # Za petlju: Iteracija 4 C # Za petlju: Iteracija 5

U ovom primjeru nismo koristili naredbu inicijalizacije i iteratora.

Varijabla i je inicijalizirana iznad for petlje i njezina se vrijednost povećava unutar tijela petlje. Ovaj je program isti kao onaj u Primjeru 1.

Slično tome, uvjet je i neobavezna izjava. Međutim, ako ne koristimo testni izraz, petlja for neće testirati nijedno stanje i pokrenut će se zauvijek (beskonačna petlja).

Beskonačna za petlju

Ako je uvjet u for petlji uvijek istinit, for petlja će trajati zauvijek. To se naziva beskonačna petlja za.

Primjer 5: Beskonačna petlja za

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Ovdje je i inicijalizirano na 1 i uvjet je i>0. Na svakoj iteraciji povećavamo vrijednost i za 1, tako da uvjet nikada neće biti false. To će uzrokovati beskonačno izvršavanje petlje.

Također možemo stvoriti beskonačnu petlju zamjenom stanja prazninom. Na primjer,

 for (;;) (// tijelo for petlje) 

ili

 for (inicijalizacija;; iterator) (// tijelo for petlje) 

Zanimljivi članci...