Kurzusok
/
C++
C++
/
Tanterv
/
Ciklusok
Ci

Ciklusok ebben a kurzusban: C++

12 feladat

A(z) Ciklusok fogalomról

A ciklusok arra szolgálnak, hogy egy adott logikát ismételten végrehajtsunk. A két leggyakoribb típus a while loop (határozatlan ismétlés) és a for loop (határozott, azaz megszámlált ismétlés). Van egy for each ciklus is, amivel egy későbbi fogalomnál találkozunk majd.

Általános szintaxis

A for loop egy fejlécből és egy kódblokkból áll, amely a ciklus törzsét tartalmazza, kapcsos zárójelek közé zárva. A fejléc három, pontosvesszővel (;) elválasztott komponensből áll: init-statement, condition és egy további expression. Ezek bármelyike üres is lehet.

for (init-statement; condition; expression) {
  some_statement;
}
  • Az init komponens olyan kód, amely csak egyszer fut le, még a ciklus kezdete előtt.
  • A condition komponensnek olyan kifejezésnek kell lennie, amely boolean értéket ad vissza, és meghatározza, mikor álljon le a ciklus. A ciklusban lévő kód addig fut, amíg ez a feltétel igaz. Amint ez a kifejezés hamis értéket ad, a ciklus további iterációi már nem futnak le.
  • Az expression komponens olyan kód, amely minden iteráció végén lefut.

A while loop addig hajtja végre a törzsét, amíg a feltétel igaz. Az alábbi kódrészlet megmutatja, hogyan lehet egy for-ciklust while-ciklussá alakítani.

init-statement;
while(condition) {
    some_statement;
    expression;
}

Kitérő: növelés és csökkentés

Ciklusokkal dolgozva gyakran szükség van arra, hogy egy számlálóváltozóhoz hozzáadjunk 1-et, vagy kivonjunk belőle 1-et. Ez annyira gyakori, hogy a műveletnek saját operátorai vannak: ++ és --.

Két formában fordulnak elő: prefix és postfix. A prefix még az utasításban való felhasználás előtt megváltoztatja a változót, a postfix pedig utána. Valószínűleg a legtöbbször a prefix formát szeretnéd használni.

int a{3};
int b{--a};
// b is 2, a is now 2
int c{a++};
// c is 2, a is now 3

For-ciklusok: egy példa

Az init komponens általában beállít egy számlálóváltozót, a condition ellenőrzi, hogy folytatódjon-e a ciklus vagy leálljon, a post komponens pedig általában minden ismétlés végén lépteti a számlálót.

int sum{0};
for (int i{1}; i < 10; ++i) {
  sum += i;
}

Ez a ciklus az 1-től 9-ig terjedő számokat adja össze (a 9-et is beleértve).

A break és a continue

Egy ciklus törzsén belül a break kulcsszóval teljesen leállíthatod a ciklus végrehajtását:

int sum{2};
while(true) {
    sum *= 2;
    if (sum > 1000)
        break;
}
// sum is now 1024

Ezzel szemben a continue kulcsszó csak az aktuális iteráció végrehajtását állítja le, és a következővel folytatja:

int equal_sum{0};
for (int i{1}; i < 7; ++i) {
  if  (n%2 == 1) {
    continue;
  }
  equal_sum += i;
}
// equal_sum is now 12

Megjegyzés: a ciklus logikáját általában könnyebb megérteni, ha a break és a continue használatát a minimumra csökkented, vagy teljesen elkerülöd.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Ciklusok fogalmat

A gyakorlás zárolva

Oldj fel még 4 feladatot, hogy gyakorolhasd a(z) Ciklusok fogalmat