Tracks
/
C++
C++
/
Lehrplan
/
Schleifen
Sc

Schleifen in C++

12 Übungen

Über Schleifen

Schleifen werden verwendet, um Logik wiederholt auszuführen. Die zwei häufigsten Arten sind die while loop (unbestimmtes Wiederholen) und die for loop (bestimmtes oder gezähltes Wiederholen). Es gibt außerdem die for each-Schleife, die in einem späteren Konzept auftauchen wird.

Allgemeine Syntax

Die for loop besteht aus einem Kopf und einem Block, der den Schleifenblock enthält und in geschweifte Klammern gesetzt ist. Der Kopf besteht aus 3 Komponenten, die durch Semikolons ; getrennt sind: Initialisierungsanweisung, Bedingung und ein weiterer Ausdruck. Jede davon darf leer sein.

for (init-statement; condition; expression) {
  some_statement;
}
  • Die Komponente Init ist Code, der nur einmal vor dem Start der Schleife ausgeführt wird.
  • Die Komponente Bedingung muss ein Ausdruck sein, der zu einem booleschen Wert ausgewertet wird und steuert, wann die Schleife aufhören soll. Der Code in der Schleife wird so lange ausgeführt, wie diese Bedingung wahr ist. Sobald dieser Ausdruck falsch ist, werden keine weiteren Iterationen der Schleife ausgeführt.
  • Die Komponente Ausdruck ist Code, der am Ende jeder Iteration ausgeführt wird.

Die while loop führt ihren Schleifenblock aus, solange ihre Bedingungsprüfung wahr ist. Der folgende Codeausschnitt zeigt, wie du eine for-Schleife in eine while-Schleife umwandelst.

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

Exkurs: Inkrementieren und Dekrementieren

Bei der Arbeit mit Schleifen ist es oft nötig, 1 zu einer Zählvariable zu addieren oder 1 davon zu subtrahieren. Das ist so üblich, dass es für diese Operation spezielle Operatoren gibt: ++ und --.

Sie gibt es in einer Präfix- und einer Postfix-Form. Die Präfix-Form ändert die Variable vor der Verwendung in der Anweisung, die Postfix-Form danach. Meistens willst du wahrscheinlich die Präfix-Form.

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

for-Schleifen: Ein Beispiel

Die Init-Komponente richtet üblicherweise eine Zählvariable ein, die Bedingung prüft, ob die Schleife fortgesetzt oder beendet werden soll, und die Post-Komponente erhöht den Zähler üblicherweise am Ende jeder Wiederholung.

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

Diese Schleife summiert die Zahlen von 1 bis 9 (inklusive 9).

Break und Continue

Innerhalb eines Schleifenblocks kannst du das Schlüsselwort break verwenden, um die Ausführung der Schleife vollständig zu beenden:

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

Im Gegensatz dazu beendet das Schlüsselwort continue nur die Ausführung der aktuellen Iteration und fährt mit der nächsten fort:

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

Hinweis: Die Logik der Schleife ist meist leichter zu verstehen, wenn break und continue sparsam eingesetzt oder ganz vermieden werden.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab

Lerne Schleifen

Das Üben ist gesperrt

Schalte 4 weitere Übungen frei, um Schleifen zu üben