control flow (tsz. control flows)
A control flow (vezérlésfolyamat) a C++ programozásban az a mechanizmus, amely meghatározza, hogy a program mely utasításait hajtja végre és milyen sorrendben. A vezérlésfolyamatot különböző vezérlési szerkezetek biztosítják, amelyek segítségével elágazásokat, ciklusokat és egyéb logikai döntéseket valósíthatunk meg a programban. A C++ többféle vezérlési struktúrát kínál, például feltételes elágazásokat, ciklusokat, és ugró utasításokat.
if
, else if
, else
Az if utasítással feltételes elágazásokat valósíthatunk meg. A kifejezés kiértékelése után a vezérlés az igaz értékű ág felé irányítódik. Ha a feltétel hamis, az else
ág hajtódik végre (ha van).
#include <iostream>
int main() {
int a = 5, b = 10;
if (a > b) {
std::cout << "A nagyobb, mint B" << std::endl;
} else if (a == b) {
std::cout << "A egyenlő B-vel" << std::endl;
} else {
std::cout << "A kisebb, mint B" << std::endl;
}
return 0;
}
A kimenet:
A kisebb, mint B
Ebben a példában a program először kiértékeli, hogy a > b
, ami hamis, így az else
ág fut le.
? :
A ternáris operátor egy egyszerűsített formája a feltételes elágazásnak. Az alábbi szintaxissal rendelkezik:
feltétel ? érték_ha_igaz : érték_ha_hamis;
#include <iostream>
int main() {
int a = 5, b = 10;
// Ternáris operátor
std::cout << (a > b ? "A nagyobb" : "B nagyobb") << std::endl;
return 0;
}
A kimenet:
B nagyobb
Ez a szerkezet lényegében egy egyszerű if-else
szerkezetet helyettesít, és a kifejezés alapján dönti el, hogy melyik érték kerül kiírásra.
for
, while
, do-while
A C++ ciklusok segítségével ismétlődő műveleteket végezhetünk, amíg egy bizonyos feltétel igaz. Három alapvető ciklus van a C++-ban:
for
ciklusA for ciklus a leggyakrabban használt ciklus, amelyet akkor alkalmazunk, ha előre tudjuk, hány ismétlésre van szükség. A for ciklus három részre oszlik: inicializálás, feltétel és lépés.
#include <iostream>
int main() {
for (int i = 0; i < 5; i++) {
std::cout << "i értéke: " << i << std::endl;
}
return 0;
}
A kimenet:
i értéke: 0 i értéke: 1 i értéke: 2 i értéke: 3 i értéke: 4
while
ciklusA while ciklus akkor hasznos, ha nem tudjuk előre, hogy hány iterációra van szükség, de addig szeretnénk ismételni, amíg egy feltétel igaz.
#include <iostream>
int main() {
int i = 0;
while (i < 5) {
std::cout << "i értéke: " << i << std::endl;
i++;
}
return 0;
}
A kimenet:
i értéke: 0 i értéke: 1 i értéke: 2 i értéke: 3 i értéke: 4
do-while
ciklusA do-while ciklus hasonló a while ciklushoz, de itt a feltételt a ciklus végén ellenőrizzük, így biztosítva, hogy a ciklus legalább egyszer végrehajtódik.
#include <iostream>
int main() {
int i = 0;
do {
std::cout << "i értéke: " << i << std::endl;
i++;
} while (i < 5);
return 0;
}
A kimenet:
i értéke: 0 i értéke: 1 i értéke: 2 i értéke: 3 i értéke: 4
break
, continue
, return
A C++-ban az ugró utasítások segítségével kifejezetten irányíthatjuk a program futási folyamatát. Ezek az utasítások a ciklusok és függvények vezérlését befolyásolják.
break
utasításA break
utasítás egy ciklust vagy switch utasítást tör meg, és a vezérlést a ciklus után folytatja.
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // Kilép a ciklusból, amikor i eléri az 5-öt
}
std::cout << "i értéke: " << i << std::endl;
}
return 0;
}
A kimenet:
i értéke: 0 i értéke: 1 i értéke: 2 i értéke: 3 i értéke: 4
continue
utasításA continue
utasítás a ciklus következő iterációjára ugrik, és kihagyja a ciklus hátralévő részét az aktuális iterációban.
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // Ha i páros, ugrunk a következő iterációra
}
std::cout << "i értéke: " << i << std::endl;
}
return 0;
}
A kimenet:
i értéke: 1 i értéke: 3 i értéke: 5 i értéke: 7 i értéke: 9
return
utasításA return
utasítással a függvényekből térhetünk vissza, és opcionálisan értéket adhatunk vissza a hívó félnek.
#include <iostream>
int osszeg(int a, int b) {
return a + b; // Visszaadja a két szám összegét
}
int main() {
int eredmeny = osszeg(5, 7);
std::cout << "Az összeg: " << eredmeny << std::endl;
return 0;
}
A kimenet:
Az összeg: 12
switch
utasításA switch
utasítással több feltételt is ellenőrizhetünk egyetlen változó alapján. Az if-else
szerkezet helyett használható, amikor több lehetséges érték közül kell választani.
#include <iostream>
int main() {
int szam = 2;
switch (szam) {
case 1:
std::cout << "Az érték 1." << std::endl;
break;
case 2:
std::cout << "Az érték 2." << std::endl;
break;
case 3:
std::cout << "Az érték 3." << std::endl;
break;
default:
std::cout << "Ismeretlen érték." << std::endl;
}
return 0;
}
A kimenet:
Az érték 2.
A control flow C++-ban az alapvető mechanizmusok, amelyek lehetővé teszik a program végrehajtásának irányítását. Az elágazások, ciklusok, ugró utasítások és a switch-es struktúrák mind segítenek a program működésének irányításában és a különböző feltételek kezelésében.