Ugrás a fő tartalomhoz

C# ciklusok

Ciklusok fajtái és működése

A ciklusok (ismétlődések) a programozásban lehetővé teszik, hogy egy adott utasítássorozatot többször végrehajtsunk.

Mikor használjunk ciklust?

  • Ha egy műveletet többször, akár változó számú alkalommal kell végrehajtani.
  • Ha egy adatszerkezet (pl. tömb) minden elemén végig kell menni.
  • Ha addig kell ismételni valamit, amíg egy feltétel teljesül.

A ciklusoknak több típusa van, attól függően, hogy mikor és hogyan ellenőrizzük a feltételt, illetve hogyan ismétlünk.

for ciklus

Akkor használjuk, ha előre ismert az ismétlések száma.

for (int i = 0; i < 5; i++)
{
Console.WriteLine($"i értéke: {i}");
}

while ciklus

Addig ismétel, amíg a feltétel igaz.

int x = 0;
while (x < 5)
{
Console.WriteLine($"x értéke: {x}");
x++;
}

do-while ciklus

Legalább egyszer lefut, mert a feltételt a ciklus végén ellenőrzi.

int y = 0;
do
{
Console.WriteLine($"y értéke: {y}");
y++;
} while (y < 5);

foreach ciklus

A foreach ciklust gyűjtemények (pl. tömbök, listák) elemein való végighaladáshoz használjuk.

string[] fruits = { "alma", "banán", "cseresznye" };

foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}

Kiugrás a ciklusokból és vezérlési utasítások

Előfordulhat, hogy egy ciklus futását valamilyen feltétel alapján meg kell szakítani, vagy egyes iterációkat át kell ugrani. Erre szolgálnak a break és continue utasítások.

break

A break utasítás az aktuális ciklust azonnal megszakítja, és a ciklus utáni első utasításra ugrik. Tipikus használata: ha egy keresést végzünk, és megtaláltuk az első megfelelő elemet.

for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // kilépünk a ciklusból
}
Console.WriteLine(i);
}

continue

A continue utasítás a ciklus aktuális iterációját megszakítja, és a következő iterációra ugrik. Akkor hasznos, ha bizonyos feltételek mellett ki akarunk hagyni egyes lépéseket.

for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue; // páros számokat kihagyjuk
}
Console.WriteLine(i); // csak páratlanokat ír ki
}

Feladatok

  1. Készíts egy programot, amely bekér egy pozitív egész számot, majd kiírja az összes 3-mal osztható számot 1-től a megadott számig.

  2. Készíts egy programot, amely bekér egy pozitív egész számot, és addig kéri be újra, amíg a felhasználó nem ad meg egy 10-nél nagyobb számot.

  3. Készíts egy programot, amely bekér egy pozitív egész számot, majd kiírja tőle visszafelé 0-ig az összes számot.

  4. Készíts egy programot, amely kiírja a számokat 1-től 100-ig de csak minden 5. számot (5, 10, 15, ...).