Flow Control in C ++ Programmierung

Der folgende C ++ Strukturen lenken den Fluss der Steuerung durch das Programm. Wenn Sie ein erfahrener Programmierer, die Funktion dieser Strukturen sind aus anderen Sprachen vertraut sein.

Menu

OB

In den folgenden Befehl auswertet booleanExpression. Wenn es auswertet wahr, dann geht die Steuerung zu expressions1. Wenn nicht, dann geht die Steuerung auf den optionalen expressions2.

if (boolescherAusdruck) {expressions1 -} [else {expressions2-}]

WÄHREND

In den folgenden Befehl auswertet booleanExpression. Wenn diese auswertet wahr, dann geht die Steuerung zuAusdrücke. Am Ende des Blocks, geht die Steuerung zurück zu boolescherAusdruck und wiederholt den Prozess.

während (boolescherAusdruck) {expressions-}

DO # 133-WÄHREND

In den folgenden Befehl ausgeführt wird Ausdrücke. Er wertet dann boolescherAusdruck. Wenn dies als wahr ausgewertet, die Steuerung kehrt zum Anfang der Schleife zurück und wiederholt den Vorgang.

do {expressions-} while (boolescherAusdruck) -

FÜR

In den folgenden Befehl ausgeführt wird initCommand die ein Ausdruck oder eine Variable Erklärung kann sein. Er wertet dann boolExpression. Wenn diese auswertet wahr, dann geht die Steuerung zu expressions1. Ob boolExpression ist falsch, dann geht die Steuerung zu der ersten Anweisung nach der geschlossenen Klammer von der für Schleife. Einmal Ausdrücke abgeschlossen ist, geht die Steuerung zu dem enthaltenen Expression in loopExpression vor der Rückkehr in boolExpression um den Prozess zu wiederholen. Ob initCommand out of scope erklärt eine neue Variable, es so bald wie geht die Steuerung außerhalb der Schleife verläuft.

für (initCommand- boolExpression- loopExpression) {expressions-}

FÜR JEDE)

Die 2011 Standard führt eine zweite Form für Schleife manchmal als "für jeden" wegen seiner Ähnlichkeit zu bekannten der für jede in einigen anderen Sprachen. In dieser Form erklärt die Variable in Erklärung nimmt den Wert des ersten Elements von Liste und führt die Ausdrücke Block. Wenn Sie fertig sind, nimmt die deklarierte Variable den zweiten Wert von Liste und führt Ausdrücke aufs Neue. Dieser Vorgang wird für jeden Wert wiederholt in Liste.

für (Erklärung: list) {expressions-}

SCHALTER

In den folgenden Befehl auswertet integerexpression und vergleicht das Ergebnis mit jedem der Fälle aufgeführt. Wenn der Wert zu finden ist eine der konstanten ganzzahligen Werten zu entsprechen, val1, val2, usw., wird die Steuerung an die entsprechende Menge von Ausdrücken und fährt fort, bis die Steuerung ein begegnet Unterbrechung. Wenn Ausdruck einer der Werte nicht gleich sind, wird die Steuerung an die expressionsN folgende Standard.

Schalter (integerExpression) {case Wert1: expressions1-break-Fall val2: expressions2-Break- [Standard: expressionsN-]}

Break, continue, GOTO

EIN fortsetzen geht die Steuerung zu dem Ende der geschlossenen Klammer einer der Schleifensteuerungen. Dies bewirkt, daß die Schleife mit der nächsten Iteration fort. Zum Beispiel verarbeitet die folgende Schleife Primzahlen zwischen 1 und 20:

for (int i = 0-i lt; 20- i ++) {// wenn die Zahl nicht prim ... if) {// ... überspringen auf den nächsten Wert von icontinue (isPrime (i!) -} // Gehen auf Verarbeitung}

EIN Unterbrechung geht die Steuerung zu der ersten Anweisung nach der geschlossenen Klammer nach einem der Looping-Befehle. Dies bewirkt, dass die Ausführung der Schleife sofort zu beenden. Zum Beispiel liest die folgenden Zeichen bis und End-of-Datei angetroffen wird:

while (true) {// eine Linie vom Eingang lesen objectinput >> line - // wenn ein Ausfall oder End-of-Datei auftritt ... if (cin.eof () || cin.fail ()) {// ... dann die LoopBreak verlassen -} // Prozess die Zeile}

EIN goto Label geht die Steuerung zu dem Etikett. Der Bruch obigen Beispiel könnte geschrieben worden sind wie folgt:

while (true) {// eine Linie vom Eingang lesen objectinput >> line - // wenn ein Ausfall oder End-of-Datei auftritt ... if (cin.eof () || cin.fail ()) {// ... dann verlassen Sie den loopgoto exitLabel -} // Prozess die Zeile} exitLabel: // control weiter hier

Menü