C Control PRO UNIT MEGA 32 198206 Benutzerhandbuch

Produktcode
198206
Seite von 134
50
Compiler
© 2005 Conrad Electronic
Funktion verlassen wird. Bei einem weiteren Aufruf der Funktion hat die statische Variable den
gleichen Inhalt wie beim Verlassen der Funktion. Damit der Inhalt einer static Variable bei dem
ersten Zugriff definiert ist, werden statische Variablen wie globale auch bei Programmstart mit
null initialisiert.
5.1.5
Operatoren
Prioritäten von Operatoren
Operatoren teilen arithmetische Ausdrücke in Teilausdrücke. Die Operatoren werden dann in der
Reihenfolge ihrer Priorität (Präzedenz) ausgewertet. Ausdrücke mit Operatoren von gleicher
Präzedenz werden von links nach rechts berechnet. Beispiel:
i= 
2
+
3
*
4
-
5
;  
// Ergebnis 9 => erst 3*4, dann +2 danach -5
Mann kann die Reihenfolge der Abarbeitung beinflußen in dem man Klammern setzt. Klammern
haben die größte Priorität. Möchte man das letzte Beispiel strikt von links nach rechts auswerten:
i= (
2
+
3)
*
4
-
5
;  
// Ergebnis 15 => erst 2+3, dann *4, danach -5
.
5.1.5.1 Arithmetische Operatoren
Alle arithmetischen Operatoren mit Ausnahme von Modulo sind für Integer und Fließkomma
Datentypen definiert. Nur Modulo ist auf einen Integertyp beschränkt.
  Es ist zu beachten das in einem Ausdruck die Zahl 
einen Integer Datentyp zugewiesen
bekommt. Möchte man explizit eine Zahl vom Datentyp float erzeugen, so ist ein Dezimalkomma
einzufügen: 
7.0
Operator
Erklärung
Beispiel
Ergebnis
+
Addition
2+1
3.2 + 4
3
7.2
-
Subtraktion
2 - 3
22 - 1.1e1
-1
11
*
Multiplikation
5 * 4
20
/
Division
7 / 2
7.0 / 2
3
3.5
%
Modulo
15 % 4
17 % 2
3
1
-
negatives Vorzeichen
-(2+2)
-4