A for
ciklus három fő részből áll:
for (initialization; condition; increase) {
// Ciklus törzse (statement)
}
initialization
): A ciklusban használt változók kezdeti értékeinek beállítása. Ez egyszer hajtódik végre a ciklus elején.condition
): Egy logikai kifejezés, amely meghatározza, hogy a ciklus folytatódik-e. Ha igaz, a ciklus törzse végrehajtódik; ha hamis, a ciklus kilép.increase
): A ciklus változóinak frissítése minden iteráció végén.statement
): Az a kódrészlet, amely minden iteráció során végrehajtódik.
Az alábbi C++ program kiírja az 1-től 10-ig terjedő számokat a képernyőre.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
std::cout << i << " ";
}
return 0;
}
i = 1
i <= 10
(igaz)i
értékéti++
(következő érték: 2
)i <= 10
nem hamissá válik.Kimenet:
1 2 3 4 5 6 7 8 9 10
A for
ciklus gyakran használatos tömbök bejárására.
#include <iostream>
int main() {
int tomb = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
std::cout << tomb << " ";
}
return 0;
}
Kimenet:
10 20 30 40 50
Ebben a példában a for
ciklus végigmegy az i
indexen, és kiírja az adott indexű tömbelem értékét.
C++11-től kezdve egy kényelmesebb módja van a tömbök és vektorok bejárásának.
#include <iostream>
#include <vector>
int main() {
std::vector<int> szamok = {10, 20, 30, 40, 50};
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
Kimenet:
10 20 30 40 50
Ebben az esetben a for
ciklus minden iterációban egy új elem értékét veszi ki a szamok
vektorból.
#include <iostream>
int main() {
for (int i = 10; i >= 1; i--) {
std::cout << i << " ";
}
return 0;
}
Kimenet:
10 9 8 7 6 5 4 3 2 1
Ebben a ciklusban i
csökken minden iteráció után.
#include <iostream>
int main() {
for (int i = 0; i <= 10; i += 2) {
std::cout << i << " ";
}
return 0;
}
Kimenet:
0 2 4 6 8 10
Itt a for
ciklus minden iterációban i
-t 2-vel növeli.
break
)A break
utasítás azonnal kilép a for
ciklusból.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // Kilép a ciklusból, ha i == 5
}
std::cout << i << " ";
}
return 0;
}
Kimenet:
1 2 3 4
A ciklus i = 5
esetén megszakad.
continue
)A continue
utasítás kihagyja az aktuális iteráció hátralévő részét, és továbblép a következő iterációra.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // 5 kihagyása
}
std::cout << i << " ";
}
return 0;
}
Kimenet:
1 2 3 4 6 7 8 9 10
Az i == 5
iterációban a continue
utasítás miatt a std::cout
utasítás nem hajtódik végre.
Ha a feltételt azonnal false
-ra állítjuk, a ciklus nem fut le.
for (int i = 0; i < 0; i++) {
std::cout << "Ez nem jelenik meg." << std::endl;
}
Ez a ciklus egyszer sem fut le, mert a feltétel eleve false
.
#include <iostream>
int main() {
for (int i = 0, j = 10; i <= 5; i++, j--) {
std::cout << "i: " << i << ", j: " << j << std::endl;
}
return 0;
}
Kimenet:
i: 0, j: 10 i: 1, j: 9 i: 2, j: 8 i: 3, j: 7 i: 4, j: 6 i: 5, j: 5
Ez a technika hasznos lehet például két különböző indexű tömb bejárásánál.
✅ A for
ciklus kiválóan alkalmas ismétlődő műveletek végrehajtására, ahol az iterációk száma előre ismert.
✅ Használata tömbökkel és vektorokkal megkönnyíti az adatok feldolgozását.
✅ Speciális vezérlőutasítások (break
, continue
) finomhangolhatják a ciklus működését.
✅ C++11 óta tartomány alapú for
ciklus még kényelmesebbé teszi az adatszerkezetek bejárását.