kennen:steuern
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:steuern [2019-01-13 14:18] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Steueranweisungen ====== | ||
+ | > Iteration statements specify looping. | ||
+ | >> --- C++ Standard ISO 14882, Abs. 6.5 Satz 1 | ||
+ | |||
+ | |||
+ | ===== Schleifen ===== | ||
+ | Schleifen erlauben die wiederholte Ausführung eines Programmabschnitts. | ||
+ | Es sind [[.: | ||
+ | die aus einem Schleifenrumpf (einer [[.: | ||
+ | oder einem [[.: | ||
+ | und einem Ausführungstest mit einem logischen | ||
+ | [[.: | ||
+ | Ist der logische Ausdruck bei der Auswertung falsch, wird die Schleife verlassen. | ||
+ | Je nach Lage der Testbedingung im Steuerfluss sind die Schleifen | ||
+ | |||
+ | * [[# | ||
+ | * [[# | ||
+ | * oder haben eine [[# | ||
+ | |||
+ | |||
+ | ==== Kopfgesteuerte Schleifen ==== | ||
+ | Kopfgesteuerte Schleifen führen den Test vor jedem Schleifendurchlauf aus. | ||
+ | Bei erfülltem Test wird der Schleifenrumpf abgearbeitet und zum Test | ||
+ | zurückgekehrt. | ||
+ | Ist die Testbedingung falsch, wird der Schleifenrumpf nicht (mehr) ausgeführt | ||
+ | (abweisender Test). | ||
+ | |||
+ | Syntax: | ||
+ | {{ : | ||
+ | |||
+ | > '' | ||
+ | >> | ||
+ | |||
+ | Die " | ||
+ | |||
+ | > '' | ||
+ | >> | ||
+ | |||
+ | ist gleichbedeutend mit | ||
+ | |||
+ | > '' | ||
+ | >> | ||
+ | >> | ||
+ | >> | ||
+ | >>> | ||
+ | >>> | ||
+ | >> | ||
+ | > '' | ||
+ | |||
+ | Start und Schleifenschritt sind beliebige Ausdrücke. | ||
+ | Im Start-Ausdruck können Variablen definiert und / oder | ||
+ | mit Anfangswerten versehen werden (Schleifenzähler). | ||
+ | Im Schleifenschritt nach Ausführung des Schleifenrumpfes werden | ||
+ | solche Zähler verändert. | ||
+ | |||
+ | Start, Bedingung und Schleifenschritt der | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | Die [[.: | ||
+ | |||
+ | > '' | ||
+ | >> | ||
+ | |||
+ | führt den Schleifenrumpf für jedes Element (Wert oder Referenz) eines Bereiches ([[.: | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwörter [[.: | ||
+ | [[.: | ||
+ | |||
+ | ==== Fußgesteuerte Schleifen ==== | ||
+ | Fußgesteuerte Schleifen führen den Test erst nach jedem (mindestens einem) | ||
+ | Schleifendurchlauf (nicht abweisender Test). | ||
+ | Ist das Testergebnis wahr, | ||
+ | wird die Programmbearbeitung beim Schleifenanfang | ||
+ | ([[.: | ||
+ | Bei nicht erfüllter Bedingung wird die Schleife verlassen. | ||
+ | |||
+ | Syntax: | ||
+ | > '' | ||
+ | >> | ||
+ | > '' | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwörter [[.: | ||
+ | [[.: | ||
+ | |||
+ | ==== Schleifenabbruch ==== | ||
+ | Mit der Abbruchanweisung kann aus einer Schleife herausgesprungen werden. | ||
+ | So entstehen Schleifen mit Abbruchbedingung in der Mitte des Blocks. | ||
+ | |||
+ | Syntax: | ||
+ | |||
+ | > '' | ||
+ | > '' | ||
+ | >> | ||
+ | >> | ||
+ | >> | ||
+ | > '' | ||
+ | |||
+ | Die Anweisung '' | ||
+ | um ans innere Ende des Schleifenblocks zu springen. | ||
+ | Die Schleife wird dadurch nicht beendet. | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwörter [[.: | ||
+ | [[.: | ||
+ | |||
+ | ===== Verzweigungen ===== | ||
+ | Verzweigungen ([[.: | ||
+ | erlauben die wahlweise Ausführung von [[.: | ||
+ | |||
+ | ==== Einfache Verzweigungen ==== | ||
+ | Ein logischer [[.: | ||
+ | Ist die Bedingung wahr, wird die nachfolgende Anweisung1 | ||
+ | (oder der [[.: | ||
+ | ansonsten die Anweisung2. | ||
+ | Der '' | ||
+ | Der '' | ||
+ | Eine andere Zuordnung ist durch Blockklammern '' | ||
+ | |||
+ | Syntax: | ||
+ | |||
+ | > '' | ||
+ | >> | ||
+ | > '' | ||
+ | >> | ||
+ | |||
+ | Siehe auch: | ||
+ | Schüsselwörter [[.: | ||
+ | [[.: | ||
+ | |||
+ | ==== Mehrfachverzweigungen ==== | ||
+ | Bei Mehrfachverzweigungen stehen mehr als zwei Programmzweige zur Auswahl. | ||
+ | Nimmt der Testausdruck wenige ganzzahlige Werte an, | ||
+ | ist die Formulierung als [[.: | ||
+ | Andernfalls muss die Mehrfachverzweigung durch mehrere | ||
+ | [[#einfache Verzweigungen]] codiert werden | ||
+ | (verschachtelte Verzweigungen oder if-else-Leiter). | ||
+ | |||
+ | Syntax: | ||
+ | |||
+ | > '' | ||
+ | > '' | ||
+ | > '' | ||
+ | > %%//%% : -" | ||
+ | > '' | ||
+ | > '' | ||
+ | |||
+ | Nach dem Schlüsselwort [[.: | ||
+ | darf immer nur eine ganzzahlige Konstante stehen. | ||
+ | Jede Konstante darf nur einmal aufgeführt werden. | ||
+ | Die Reihenfolge der Einsprungmarken ist beliebig. | ||
+ | |||
+ | Mit der [[.: | ||
+ | wird die Mehrfachverzweigung verlassen. | ||
+ | Mehrere '' | ||
+ | weil die '' | ||
+ | (Durchfallen, | ||
+ | |||
+ | Die Angabe des Standardzweiges | ||
+ | ([[.: | ||
+ | ist optional. Dieser wird ausgeführt, | ||
+ | wenn keine der anderen Marken zutrifft. | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwörter [[.: | ||
+ | [[.: | ||
+ | |||
+ | ===== Sprunganweisungen ===== | ||
+ | Syntax: | ||
+ | > '' | ||
+ | |||
+ | Syntax: | ||
+ | > Sprungmarke '':'' | ||
+ | |||
+ | Die Sprungmarke ist ein beliebiger [[.: | ||
+ | Sprungmarke und Sprungbefehl müssen innerhalb derselben Funktion stehen. | ||
+ | Der Sprung kann vorwärts oder rückwärts erfolgen. | ||
+ | Durch den Sprungbefehl darf keine Variablendefinition übergangen werden. | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwort [[.: | ||
+ | [[.: | ||
kennen/steuern.txt · Zuletzt geändert: 2019-01-13 14:18 von 127.0.0.1