User manual
4.4.6 Anweisungen
Ein Statement kann aus einer oder mehreren Zeilen bestehen. Eine Zeile kann zwei oder mehrere
Statements enthalten.
Statements zur Ablaufsteuerung (if, if-else, for, while, do-while und switch) können geschachtelt
werden.
4.4.6.1 Statement-Etikett
Ein Etikett besteht aus einem Identifizierer gefolgt von einem ":". Ein Etikett ist ein "Sprung-Ziel"
eines "goto" Statements.
Jede Anweisung kann mit einem Etikett versehen werden. Es muss dem Etikett ein Statement folgen,
dies kann auch ein "leeres Statement" sein.
Der Gültigkeitsbereich eines Etiketts ist die Funktion in der es deklariert wurde d.h. ein "goto"-
Statement kann nicht aus der aktuellen Funktion in eine andere Funktion springen.
4.4.6.2 Zusammengesetzte Anweisungen
Eine zusammengesetzte Anweisung (auch Block genannt) ist eine Serie von Null oder mehreren
Anweisungen, welche durch Klammern ("{" und "}") umgeben ist. Die schließende Klammer ("}")
darf nicht mit einem Semikolon abgeschlossen werden. Jede Anweisung kann durch einen Block
ersetzt werden. Eine zusammengesetzte Anweisung, die keine Anweisungen enthält, ist ein
Spezialfall und wird "leeres Statement" genannt.
4.4.6.3 Ausdrucksanweisung
Jeder Ausdruck wird zu einem Statement, wenn ein Semikolon (";") angehängt wird. Ein Ausdruck
wird auch zu einem Statement, wenn dem Ausdruck bis zum Ende der Zeile nur Leerzeichen folgen
und der Ausdruck nicht in der nächsten Zeile weitergeführt werden kann.
4.4.6.4 Leeres Statement
Eine leeres Statement führt keine Anweisungen aus und besteht aus einem Block-Statement ohne
Anweisungen, d.h. es besteht aus dem Symbol "{ }". Leere Statements werden in
Kontrollflussanweisungen ohne Aktionen eingesetzt (z.B. "while (!iskey()) {}") oder, wenn ein Etikett
genau vor einer schließenden Klammer eines Block-Statements definiert wird. Ein leeres Statement
endet nicht mit einem Semikolon.
4.4.6.5 assert Ausdruck
bricht das Programm mit einem Laufzeitfehler ab, wenn der Ausdruck logisch "false" ergibt
Hinweis: Dieser Ausdruck schützt vor "unmöglich" oder ungültigen Bedingungen. Im
folgenden Beispiel ist eine negative Fibonacci-Zahl ungültig. Die assert-Anweisung markiert
diesen Fehler als Programmierer-Fehler. assert-Anweisungen sollten nur Programmierer-
Fehler kennzeichnen und niemals Benutzereingaben.
102 Rev. 01