Herunterladen Inhalt Inhalt Diese Seite drucken

Operatoren; Rangfolge; Auch Wenn Die Rangfolge Es Nicht Erfordern Würde, Kann Eine Zusätzliche - Conrad C-Control II Unit Handbuch

Kompakter steuerungscomputer
Inhaltsverzeichnis

Werbung

5 Programmiersprache C2
z.B.:
const menu[] = "rice", "couscous", "potatos";

5.7 Operatoren

5.7.1 Rangfolge

Operatoren teilen numerische Ausdrücke in Teilausdrücke. Dabei werden die Operatoren
in einer von ihrem Rang abhängigen Reihenfolge ausgewertet und die Teilausdrücke zur
Programmlaufzeit nacheinander berechnet (vgl. Vereinbarung in der Mathematik
"Punktrechnung vor Strichrechnung").
z.B.:
a = 10 + 4 * 2;
Ausdrücke mit Operatoren gleichen Ranges werden von links nach rechts berechnet.
z.B.:
a = 10 / 4 / 2;
Wie aus der Mathematik bekannt ist, kann die Rechenreihenfolge durch Klammersetzung
beeinflußt werden
z.B.:
a = 10 / (4 / 2);
Klammerebenen können theoretisch beliebig tief ineinander verschachtelt werden.
Allerdings geht in der Regel bereits ab der dritten oder vierten Verschachtelung jeglicher
Überblick über den dargestellten Ausdruck verloren. Außerdem können extrem tiefe
Verschachtelungen zu Stackproblemen führen (siehe 4.4.6). Das Programm arbeitet dann
nicht korrekt. Teilen Sie daher die Berechnung komplexer Ausdrücke nach Möglichkeit in
mehrere Anweisungen, und speichern Sie Zwischenergebnisse in lokalen Variablen. Fügen
Sie die Zwischenergebnisse nacheinander zum Endergebnis zusammen.
Auch wenn die Rangfolge es nicht erfordern würde, kann eine zusätzliche
Klammersetzung um Teilausdrücke die Lesbarkeit des Quelltextes erhöhen,
z.B.:
(x > 10) & (x < 20)
statt
x > 10 & x < 20
// a wird 18
// a wird 1,25
// a wird 5
61

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis