Diese Lektion behandelt Operatoren und Ausdrücke in C. Ziel ist ein tiefes Verständnis der arithmetischen, logischen und Zuweisungsoperatoren sowie ihrer Prioritäten.
+ Addition- Subtraktion* Multiplikation/ Division% Modulo (Rest bei Division)int a = 10, b = 3;
int sum = a + b; // 13
int diff = a - b; // 7
int prod = a * b; // 30
int quot = a / b; // 3 (ganzzahlig)
int rem = a % b; // 1
++ erhöht den Wert um 1, -- verringert um 1.
int x = 5;
x++; // x = 6
++x; // x = 7
x--; // x = 6
--x; // x = 5
= einfache Zuweisung+=, -=, *=, /=, %=int a = 10;
a += 5; // a = 15
a *= 2; // a = 30
a %= 7; // a = 2
0 (false) oder 1 (true).
== gleich!= ungleich<, <=, >, >=int a = 5, b = 10;
printf("%d\n", a == b); // 0
printf("%d\n", a != b); // 1
printf("%d\n", a < b); // 1
_Bool Werten oder 0/1.
&& – logisches UND|| – logisches ODER! – logisches NICHT_Bool a = 1, b = 0;
printf("%d\n", a && b); // 0
printf("%d\n", a || b); // 1
printf("%d\n", !a); // 0
() können Auswertungsreihenfolge ändern.
int a = 2 + 3 * 4; // 14
int b = (2 + 3) * 4; // 20
int a = 5;
double b = 2.5;
double sum = a + b; // a wird implizit zu double
int c = (int) b; // explizites Casting
printf("%f %d\n", sum, c);