🏆 Kapitel 1 · Letzte Unit

Ein- und Ausgabe:
printf & scanf

Benutzereingaben einlesen, Werte formatiert ausgeben – jetzt werden Programme wirklich interaktiv!

5 / 30 Units · Kapitel 1 abgeschlossen!
Ömer
🏆 Letzte Unit von Kapitel 1 – danach: Kapitel 2 – Operatoren & Entscheidungen
Kapitel 1 · Abschluss Dauer: ~45 Min. Interaktiver Simulator + Quiz + Spickzettel
Ömer
Ömer sagt:

Heute ist ein großer Tag! Mit scanf können Benutzer selbst Werte eingeben – dein Programm wird lebendig. Lies die Theorie und probiere dann unbedingt den Live-Simulator aus!

printf – vollständige Übersicht

printf gibt formatierten Text auf dem Bildschirm aus. Die Format-Zeichen sind Platzhalter für Variablen:

FormatTypBeispiel-CodeAusgabe
%dintprintf("%d", 42);42
%ffloatprintf("%f", 3.14f);3.140000
%.2ffloat (2 NK)printf("%.2f", 3.14159f);3.14
%ccharprintf("%c", 'A');A
%sStringprintf("%s", "Hi");Hi
%lfdoubleprintf("%.4lf", 3.14);3.1400

scanf – Benutzereingaben lesen

scanf liest Daten von der Tastatur und speichert sie in Variablen. Die wichtigste Regel: & vor dem Variablennamen!

⚠️ Das &-Zeichen ist Pflicht!

scanf("%d", &alter); ← Das & gibt die Speicheradresse der Variable weiter, damit scanf den Wert direkt hineinschreiben kann. Ohne & stürzt das Programm ab oder verhält sich undefiniert!

Ausnahme: Bei String-Arrays (char[]) kein & nötig – kommt in Kapitel 5.

scanf_beispiele.c C
int   alter;
float temp;
char  note;

scanf("%d",  &alter);   // int einlesen
scanf("%f",  &temp);    // float einlesen
scanf(" %c", &note);   // char einlesen (Leerzeichen puffert \n weg)

Vollständiges interaktives Programm

bmi_rechner.c C
#include <stdio.h>

int main() {
    float gewicht, groesse, bmi;

    printf("=== BMI-Rechner ===\n");
    printf("Gewicht in kg: ");
    scanf("%f", &gewicht);

    printf("Größe in m:    ");
    scanf("%f", &groesse);

    bmi = gewicht / (groesse * groesse);

    printf("\nDein BMI: %.1f\n", bmi);
    return 0;
}
Interaktive Ausgabe
=== BMI-Rechner ===
Gewicht in kg: 70
Größe in m: 1.78
Dein BMI: 22.1

Typische scanf-Fehler

FehlerProblemLösung
scanf("%d", alter)& vergessen → Absturzscanf("%d", &alter)
scanf("%d", &pi) für floatFalsches Formatscanf("%f", &pi)
scanf("%c", &c) nach int-scanf\n im Eingabe-Pufferscanf(" %c", &c) (Leerzeichen!)

⚡ Live-Simulator

Schreibe C-Code links und führe ihn rechts aus. Für scanf kannst du im Eingabefeld unten Werte eingeben:

C SIMULATOR (printf & scanf simuliert)
▶ Ausgabe / Terminal
– Klicke auf AUSFÜHREN –
eingabe>
Ömer
Ömer sagt:

Der Simulator zeigt dir, wie printf und scanf zusammenarbeiten. Wenn das Programm auf scanf wartet, gib unten im Eingabefeld einen Wert ein und drücke Enter!

🎯 Wissens-Quiz – Unit 5

Frage 1
Warum braucht scanf das &-Zeichen vor der Variable?
AEs ist eine veraltete Syntax aus C89
Bscanf braucht die Speicheradresse, um den Wert direkt hineinzuschreiben
COhne & wird der Wert verdoppelt
DEs ist optional und kann weggelassen werden
Frage 2
Was gibt printf("%.2f", 3.14159f); aus?
A3.14159
B3.14
C3.1
D3.140000
Frage 3
Welcher scanf-Aufruf liest einen float-Wert korrekt?
Ascanf("%d", &temp);
Bscanf("%f", temp);
Cscanf("%f", &temp);
Dscanf(temp, "%f");
Frage 4
Warum schreibt man scanf(" %c", &c) mit einem Leerzeichen?
ADas Leerzeichen ist Teil des eingelesenen Zeichens
BDas Leerzeichen springt über Leerzeichen und Zeilenumbrüche im Puffer
CNur zur besseren Lesbarkeit, hat keine Funktion
DOhne Leerzeichen gibt es einen Compilerfehler
Frage 5
Was ist die richtige Reihenfolge für eine Benutzereingabe?
Ascanf → printf (erst einlesen, dann erklären)
Bprintf → scanf (erst Aufforderung anzeigen, dann einlesen)
CDie Reihenfolge spielt keine Rolle
Dscanf und printf können nicht zusammen benutzt werden
Frage 6
Warum braucht scanf das &-Zeichen?
AAus historischen Gründen ohne Bedeutung
BUm den Datentyp anzugeben
CUm die Adresse der Variable zu übergeben (Call by Reference)
DUm den Wert zu löschen
Frage 7
Welcher Format-Specifier gibt eine float-Zahl mit 2 Nachkommastellen aus?
A%d
B%f
C%.2f
D%2f
Frage 8
Was passiert wenn scanf("%d", zahl) statt scanf("%d", &zahl) verwendet wird?
ADas Programm funktioniert genauso
BUndefined Behavior / Absturz
CCompilerfehler
DDer Wert wird einfach ignoriert

📋 Spickzettel – Unit 5 & Kapitel 1

printf – Ausgabe
printf("Text\n");Einfacher Text
printf("%d", x);int ausgeben
printf("%.2f", x);float, 2 NK
printf("%c", c);char ausgeben
scanf – Eingabe
scanf("%d", &x);int lesen
scanf("%f", &x);float lesen
scanf(" %c", &c);char lesen
& immer!Adressoperator
Format-Zeichen
%dint
%f / %.2ffloat
%lfdouble
%cchar
%sString
Sonderzeichen
\nZeilenumbruch
\tTabulator
\\Backslash
\"Anführungszeichen

✅ Checkliste Kapitel 1 – komplett!

  • Ich weiß was ein Programm, Algorithmus und Compiler ist
  • Ich kann ein C-Programm kompilieren und ausführen
  • Ich verstehe alle Teile von main(), #include, return 0
  • Ich kenne int, float, double, char und ihre Format-Zeichen
  • Ich kann printf und scanf korrekt verwenden
  • Ich kann ein interaktives Programm schreiben!
🏆
Kapitel 1 abgeschlossen!
Du hast alle 5 Units von „Einstieg & Grundlagen" erfolgreich gemeistert.
✅ Unit 1 – Was ist C? ✅ Unit 2 – Hello World ✅ Unit 3 – Aufbau ✅ Unit 4 – Variablen ✅ Unit 5 – printf & scanf
Weiter geht's mit: 📘 Kapitel 2 – Operatoren & Entscheidungen
Unit 6: Rechenoperatoren und Ausdrücke
Ömer
Ömer sagt:

Wow, Kapitel 1 geschafft! Du kennst jetzt die Grundlagen – Programme schreiben, kompilieren, Variablen nutzen und interaktiv mit Benutzern kommunizieren. In Kapitel 2 lernst du, wie du Entscheidungen triffst: if, else, switch – damit deine Programme wirklich „denken" können!