Steuerprogrammablauf in C ++ mit Verzweigungsbefehle

Die einfachste Form der Strömungssteuerung in C ++ ist die Sprunganweisung. Diese Anweisung ermöglicht es dem Programm, auf das von zwei Wegen entscheiden zu nehmen, durch C ++ Anweisungen auf der Grundlage der Ergebnisse einer logischen Ausdruck.

In C ++ wird die Sprunganweisung implementiert die Verwendung von ob Erklärung:

if (m> n) {// Path 1 // ... Befehle ausgeführt werden, wenn // m größer als n ist} else {// Path 2 // ... Anweisungen ausgeführt, wenn nicht zu}

Zuerst wird der logische Ausdruck m> n ausgewertet. Wenn das Ergebnis des Ausdrucks wahr, geht die Steuerung über den Weg nach unten markiert Weg 1 im vorherigen Schnipsel. Wenn der Ausdruck falsch, die Steuerung geht zu Path 2. Das sonst Klausel ist optional. Wenn es nicht vorhanden ist, wirkt C ++, als ob es vorhanden ist, aber leer.

Eigentlich sind die Klammern nicht erforderlich, wenn es nur eine Erklärung im Rahmen der zur Ausführung ob. Ursprünglich waren die Klammern nur verwendet, wenn es sich um zwei oder mehrere Anweisungen, die Sie als eine zu behandeln wollte. Allerdings erkannte man schnell, dass es war sauberer und weniger fehleranfällig, wenn Sie Klammern jedes Mal verwendet wird, unabhängig davon, wie viele Aussagen gibt.

Das folgende Programm zeigt das ob Aussage (beachten Sie alle schönen Klammern):

// BranchDemo - Eingang zwei Zahlen. Nach unten einen Pfad des // Programm, wenn das erste Argument größer // als der erste oder dem anderen Weg, wenn nicht # include #einschließen #einschließen using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// Eingang das erste Argument ... int nArg1-cout lt; lt; "Enter arg1:" -cin >> nArg1 - // ... und die secondint nArg2-cout lt; lt; "Enter arg2:" -cin >> nArg2 - // nun entscheiden, was zu tun ist: if (nArg1> nArg2) {coutlt; lt; "Argument 1 größer ist als Argument 2" lt; lt; endl-} else {coutlt; lt; "Argument 1 ist nicht größer als Argument 2" lt; lt; Endl -} // warten, bis der Benutzer vor dem Beenden Programm bereit ist, // damit der Benutzer das Programm resultscout zu sehen lt; lt; "Drücken Sie die Eingabetaste, um fortzufahren ..." lt; lt; Endl-cin.ignore (10, ' n') - cin.get () - Rückkehr 0-}

Hier liest das Programm zwei ganze Zahlen von der Tastatur und vergleicht sie. Ob nArg1 ist größer als nArg2, Steuerströme in die Ausgabeanweisung cout lt; lt; # 147-Argument 1 größer ist als Argument 2 # 148-. Ob nArg1 nicht größer als nArg2, Die Steuerung geht zu der sonst Klausel, wo die Aussage cout lt; lt; # 147-Argument 1 ist nicht größer als Argument 2 n # 148- ausgeführt. Hier ist, was die Operation wie folgt aussieht:

Geben Sie arg1: 5Geben Sie arg2: 6Argument 1 ist nicht größer als Argument 2Mit eingeben, um fortzufahren ...

Beachten Sie, wie Sie die Anweisungen innerhalb der ob Blöcke sind leicht eingekerbt. Dies ist ausschließlich für den menschlichen Verzehr, da C ++ ignoriert Leerzeichen (Leerzeichen, Tabulatoren und Zeilenumbrüche). Es mag trivial erscheinen, aber eine klare Codierung Stil erhöht die Lesbarkeit des C ++ Programm.

Der Code :: Blocks Editor kann diese Art oder eine von mehreren anderen Codierungs Arten für Sie erzwingen. Wählen Sie Einstellungen-Editor, und klicken Sie dann auf die Quelle Formatter Auswahl aus der gescrollt Liste auf der linken Seite.

Menü