For loops
Was sind Schleifen (loops)?
Schleifen werden in der Programmierung verwendet, um einen bestimmten Block Code zu wiederholen. In C ++ gibt es drei verschiedene Arten von Schleifen:
Man kann die Ausführung von Schleifen mithilfe der folgenden Schlüsselwörter kontrollieren:
break
- unterbricht eine Schleife. Es werden als nächstes die Befehle nach der Schleife ausgeführt.continue
- unterbricht den aktuellen durchlauf einer Schleife. Es wird mit dem nächsten durchlauf der Schleife fortgefahren.
einen Code x-mal wiederholen
Wenn man ganz genau weiß, wie oft ein bestimmter Code wiederholt werden soll, kommt eine for-Schleife zum einsatz. Mit folgendem Syntax lässt sich eine for-Schleife realisieren:
// Syntax einer for-Schleife
for (Initialisierung; Bedingung; Aktualisierung) {
// auszuführende Befehle
}
Dabei gilt:
- Initialisierung: Anweisungen, die hier stehen werden vor dem ersten durchlauf der Schleife ausgeführt.
- Bedingung: Die Schleife wird nur erneut ausgeführt, solange die Bedingung
true
ist. - Aktualisierung: Anweisungen, die hier stehen werden nach jedem durchlauf der Schleife ausgeführt.
Lass uns folgendes Beispiel anschauen:
// gibt "Hallo C++" 10-mal aus
for(int i=0; i<10; i++)
{
cout << "Hallo C++" << endl;
}
In diesem Beispiel wird eine Variable i mit dem Wert 0 definiert. Dann, wenn die Bedingung true
ist, also wenn i kleiner als 10 ist, werden die Befehle in der Schleife ausgeführt (Hallo C++
wird ausgegeben). Die Aktualisierung ist hier den Wert der Variable i um 1 zu erhöhen.
Dieser Vorgang wird wiederholt, bis die Bedingung false
ist, das heißt bis i den Wert 10 erhält.
Man könnte auch sagen: Solange i kleiner als 10 ist, führe alle Befehle in der Schleife aus.
Die Initialisierung kann auch vor der Schleife stattfinden und die Aktualisierung innerhalb der Schleife:
// gibt 0 - 9 aus
int i=0;
for( ; i<10; )
{
cout << i << endl;
i++;
}
Es ist ebenfalls möglich mehrere Initialisierungen und Updates innerhalb einer Schleife durchzuführen:
// gibt i und j 5 mal aus
for(int i=0, j=4; i<5 and j>0; i++, j--) {
cout << i << " " << j << endl;
}
Die for-Schleife kann auch dafür genutzt werden, um Werte eines Array zu durchlaufen. In anderen Programmiersprachen wird das auch als for-each Schleife bezeichnet:
// jedes element aus dem Array ausgeben
int arr[] = {1,2,3,4,5,6};
for(int n : arr)
{
cout << n << endl;
}
Übung
Versuche alle geraden Nummern unter 20 mithilfe einer for-Schleife auszugeben (in aufsteigender Reihenfolge).