C++ for-Schleife

C++ Schleifen

forSchleifen ermöglichen es Ihnen, eine sich wiederholende Kontrollstruktur zu schreiben, die eine Schleife eine bestimmte Anzahl von Malen ausführt.

Syntax

In C++forSyntax der Schleife:

for ( init; condition; increment )
{
   statement(s);
}

Das Folgende ist der Kontrollfluss der for-Schleife:

  1. initEr wird zuerst und nur einmal ausgeführt. Dieser Schritt ermöglicht es Ihnen, beliebige Schleifensteuervariablen zu deklarieren und zu initialisieren. Sie können hier auch keine Anweisung schreiben, solange ein Semikolon vorhanden ist.
  2. Als Nächstes wird geprüftconditionWenn wahr, wird der Schleifenkörper ausgeführt. Wenn falsch, wird der Schleifenkörper nicht ausgeführt, und der Kontrollfluss springt zur nächsten Anweisung, die unmittelbar auf die for-Schleife folgt.
  3. Nachdem der Körper der for-Schleife ausgeführt wurde, springt der Kontrollfluss zurück zur obigenincrementAnweisung. Diese Anweisung ermöglicht es Ihnen, die Schleifensteuervariable zu aktualisieren. Diese Anweisung kann leer gelassen werden, solange ein Semikolon nach der Bedingung steht.
  4. Die Bedingung wird erneut ausgewertet. Wenn sie wahr ist, wird die Schleife ausgeführt, und dieser Vorgang wiederholt sich kontinuierlich (Schleifenkörper, dann Schritt-Wert erhöhen, dann Bedingung erneut auswerten). Wenn die Bedingung falsch wird, wird die for-Schleife beendet.

Flussdiagramm

C++ 中的 for 循环

Beispiel

Beispiel

#include <iostream> using namespace std; int main () { // Ausführung der for-Schleife for( int a = 10; a < 20; a = a + 1 ) { cout << "Wert von a:" << a << endl; } return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

Bereichsbasierte for-Schleife (C++11)

Die for-Anweisung ermöglicht eine einfache Bereichsiteration:

int my_array[5] = {1, 2, 3, 4, 5}; // jedes Array-Element mit 2 multiplizieren for (int &x : my_array) { x *= 2; cout << x << endl; } // Der auto-Typ stammt ebenfalls aus dem neuen C++11-Standard und wird verwendet, um den Typ der Variablen automatisch zu ermitteln for (auto &x : my_array) { x *= 2; cout << x << endl; }

Der erste Teil der obigen for-Anweisung definiert die Variable, die für die Bereichsiteration verwendet wird, genau wie eine in einer normalen for-Schleife deklarierte Variable, deren Gültigkeitsbereich auf den Bereich der Schleife beschränkt ist. Der zweite Block nach ":" stellt den zu durchlaufenden Bereich dar.

Beispiel

#include<iostream> #include<string> #include<cctype> using namespace std; int main() { string str("some string"); // range-based for statement for(auto &c : str) { c = toupper(c); } cout << str << endl; return 0; }

Das obige Programm verwendet eine Range-for-Anweisung, um eine Zeichenkette zu durchlaufen, wandelt alle Zeichen in Großbuchstaben um und gibt das Ergebnis wie folgt aus:

SOME STRING

C++ Schleifen

Weitere Erweiterungen