Kapitel 2 Unit 6 von 5 Theorie + Übungen Dauer: ~45 Min.
Ömer
Ömer sagt:

Willkommen in Kapitel 2! Heute machen wir Mathematik mit C. Klingt einfach – aber es gibt Tücken: Was passiert bei 7 / 2? Und was ist überhaupt Modulo? Das und mehr lernst du heute! 🧮

Lernziele
Alle 5 Grundoperatoren Ganzzahldivision verstehen Modulo (%) anwenden Operator-Priorität kennen Kurzschreibweisen (+=, -=)

🔢 Die fünf Grundoperatoren

In C gibt es fünf arithmetische Operatoren. Vier davon kennst du aus der Schule – der fünfte, Modulo, ist neu und sehr nützlich:

+
Addition
5 + 3 = 8
Subtraktion
9 - 4 = 5
*
Multiplikation
6 * 7 = 42
/
Division
10 / 3 = 3 !
%
Modulo
10 % 3 = 1
( )
Klammern
(2+3)*4 = 20

⚠️ Ganzzahldivision – die große Falle

Wenn du zwei int-Werte dividierst, schneidet C die Nachkommastellen einfach ab – es wird nicht gerundet!

❌ Ganzzahldivision (int / int)

7 / 2 ergibt 3 – nicht 3.5!
1 / 4 ergibt 0 – nicht 0.25!
Die Nachkommastellen werden abgeschnitten.

✅ Kommazahldivision (float)

7.0f / 2 ergibt 3.5
7 / 2.0f ergibt 3.5
Ein Operand als float reicht!

🔄 Modulo – der Rest der Division

Der %-Operator gibt den Rest einer Ganzzahldivision zurück. Er funktioniert nur mit int-Werten.

10 % 3 = 1 – Visualisiert
1
2
3
|
4
5
6
|
7
8
9
|
10
← Rest = 1 → 10 % 3 = 1
AusdruckErgebnisAnwendung
10 % 31Prüfen ob teilbar: wenn 0 → teilbar
7 % 21Gerade/Ungerade: wenn 0 → gerade
15 % 5015 ist durch 5 teilbar!
60 % 600Stunden: Sekunden → Minuten umrechnen
235 % 10035Letzte 2 Ziffern einer Zahl

📊 Operator-Priorität (Punkt vor Strich)

Wie in der Mathematik gilt: Nicht alle Operatoren sind gleich – manche werden früher berechnet:

1
( )
Klammern – immer zuerst!
2
* / %
Punkt-Operatoren (Mult., Div., Modulo)
3
+ −
Strich-Operatoren (Addition, Subtraktion)

⚡ Kurzschreibweisen

KurzformLangformBedeutung
x += 5;x = x + 5;x um 5 erhöhen
x -= 3;x = x - 3;x um 3 verringern
x *= 2;x = x * 2;x verdoppeln
x /= 4;x = x / 4;x durch 4 teilen
x++;x = x + 1;x um 1 erhöhen (Inkrement)
x--;x = x - 1;x um 1 verringern (Dekrement)

💻 Vollständiges Beispiel

operatoren.cC
#include <stdio.h>
int main() {
    int a = 17, b = 5;

    printf("%d + %d = %d\n", a, b, a + b);
    printf("%d - %d = %d\n", a, b, a - b);
    printf("%d * %d = %d\n", a, b, a * b);
    printf("%d / %d = %d\n", a, b, a / b);   // Ganzzahl!
    printf("%d %% %d = %d\n", a, b, a % b);  // Rest
    printf("%.2f / %d = %.2f\n", (float)a, b, (float)a / b); // Cast
    return 0;
}
▶ Ausgabe
17 + 5 = 22
17 - 5 = 12
17 * 5 = 85
17 / 5 = 3
17 % 5 = 2
17.00 / 5 = 3.40

✏️ Übungen

Übung 1

Ergebnisse berechnen

Berechne die Ergebnisse von Hand – dann prüfe mit einem C-Programm:

  1. 13 / 4 = _______    13 % 4 = _______
  2. 2 + 3 * 4 = _______    (2 + 3) * 4 = _______
  3. 100 % 7 = _______    100 / 7 = _______
  4. 1 / 3 = _______    1.0f / 3 = _______
Übung 2

Modulo-Anwendung

Erkläre mit eigenen Worten, wie du mit Modulo prüfst, ob eine Zahl gerade oder ungerade ist. Schreibe auch den C-Ausdruck dafür:

C-Ausdruck (für Variable x):

Eine Zahl ist gerade, wenn ihr Rest bei Division durch 2 gleich 0 ist.
Übung 3

Kurzschreibweisen anwenden

Schreibe die Kurzschreibweise für jede Operation (Variable: n):

  1. n = n + 10; → Kurzform: _______
  2. n = n * 3; → Kurzform: _______
  3. n = n - 1; → Kurzform: _______ oder: _______
  4. n = n / 2; → Kurzform: _______
Übung 4 – Programm

Minutenrechner

Schreibe ein Programm, das eine Anzahl von Sekunden einliest und diese in Minuten und Sekunden umrechnet. (Tipp: Minuten = Sekunden / 60, Rest = Sekunden % 60)

#include <stdio.h> int main() { int sekunden, minuten, rest; printf("Sekunden eingeben: "); scanf("%d", &sekunden); /* Berechnung hier */ printf("%d Sekunden = %d min %d sek\n", sekunden, minuten, rest); return 0; }
Für 125 Sekunden: 125 / 60 = 2 Minuten, 125 % 60 = 5 Sekunden → Ausgabe: 2 min 5 sek
Übung 5 – Experiment

Integer-Division vs. Float-Division

Führe diesen Code aus und erkläre, warum die beiden Ergebnisse unterschiedlich sind. Ändere dann int zu float und beobachte den Unterschied:

#include <stdio.h> int main() { int a = 7, b = 2; float c = 7.0f, d = 2.0f; printf("int 7 / 2 = %d\n", a / b); /* Integer-Division: kein Rest */ printf("float 7 / 2 = %.2f\n", c / d); /* float-Division: mit Nachkomma */ /* Bonus: Was gibt 7 % 2 aus? */ printf("7 %% 2 = %d\n", a % b); return 0; }
💡 %% in printf gibt ein einzelnes % aus – weil % allein als Format-Zeichen interpretiert wird!
Übung 6 – Bonus

BMI-Rechner

Berechne den Body-Mass-Index: BMI = gewicht / (groesse * groesse). Gib den Wert mit 1 Nachkommastelle aus. Teste mit verschiedenen Werten über stdin:

#include <stdio.h> int main() { float gewicht, groesse, bmi; printf("Gewicht in kg: "); scanf("%f", &gewicht); printf("Groesse in m (z.B. 1.75): "); scanf("%f", &groesse); bmi = gewicht / (groesse * groesse); printf("Dein BMI: %.1f\n", bmi); return 0; }
Testwerte: Gewicht 70, Größe 1.75 → BMI ≈ 22.9