Ein- und Ausgabefunktionen

In diesem Abschnitt erklären wir die Verwendung von Ein- und Ausgabefunktionen in der Programmiersprache C, insbesondere anhand der Funktionen printf und scanf. Diese Funktionen bieten umfangreiche Möglichkeiten zur Formatierung von Ein- und Ausgaben.

Hinweis:printf und scanf sind nicht Teil der C-Programmiersprache selbst, sondern gehören zur Standardbibliothek von C.

printf

In den meisten Programmiersprachen ist der "Hallo Welt"-Code der erste, den man schreibt. Dieser Code enthält oft eine Ausgabe mit printf, um "Hallo Welt" auf der Kommandozeile anzuzeigen.

Um printf verwenden zu können, muss zuerst die Standardbibliothek hinzugefügt werden. Dies geschieht ganz oben im Code durch die Zeile #include <stdio.h>.

#include <stdio.h>

int main() {
printf("Hallo Welt!");
return 0;
}

Formatbeschreiber

Um Variablen auszugeben, werden sogenannte Formatbeschreiber verwendet. Ein Formatbeschreiber besteht aus einem Prozentzeichen (%) gefolgt von einem Buchstaben. Je nach Datentyp wird ein anderer Buchstabe verwendet, und an der Stelle des Formatbeschreibers wird der Wert der Variable eingesetzt.

In diesem Beispiel wird der Wert der Variable zahl in der Kommandozeile ausgegeben. Die Ausgabe sieht so aus: "Die Zahl ist 10." An der Stelle %d wird der Wert der Variable eingesetzt.

#include <stdio.h>

int main() {
int zahl = 10;
printf("Die Zahl ist %d.", zahl);
return 0;
}

Dies bietet eine einfache Möglichkeit, den Wert von Variablen auf der Kommandozeile auszugeben.

Formatbeschreiber für verschiedene Datentypen
Datentyp
int%d
float, double%f
char%c

Genauigkeit bei Kommazahlen

Standardmässig werden bei %f 6 Dezimalstellen ausgegeben. Wenn du eine andere Anzahl von Dezimalstellen wünschst, musst du dies angeben.

#include <stdio.h>

int main() {
float zahl = 10.341241;
printf("Die Zahl ist %.2f", zahl);
return 0;
}

Die Ausgabe auf der Kommandozeile zeigt nun "10.34" und nicht mehr alle 6 Dezimalstellen. Die Anzahl der Dezimalstellen wird durch die Zahl vor dem f festgelegt. Wenn 0 gewählt wird, werden keine Dezimalstellen angezeigt, und die Ausgabe wird gerundet.

scanf

Die Funktion scanf ermöglicht es, Benutzereingaben in C zu verarbeiten. Mit scanf kannst du Werte von der Benutzerin oder dem Benutzer einlesen und in Variablen speichern.

Um scanf verwenden zu können, musst du ebenfalls die Standardbibliothek hinzufügen, indem du #include <stdio.h> ganz oben im Code platzierst.

#include <stdio.h>

int main() {
int eingabe; // Hier speichern wir die Benutzereingabe
printf("Bitte gib eine Zahl ein: ");
scanf("%d", &eingabe); // Wir lesen eine Ganzzahl ein und speichern sie in 'eingabe'
printf("Du hast %d eingegeben.", eingabe);
return 0;
}

Formatanweisungen in scanf

In scanf verwendest du Formatanweisungen, um anzugeben, welchen Datentyp du einlesen möchtest. Diese Anweisungen ähneln den Formatbeschreibern in printf. Im obigen Beispiel verwenden wir %d um eine Ganzzahl einzulesen.

Wichtig: Beachte das &-Zeichen vor dem Variablennamen in scanf. Es wird benötigt, um die Adresse der Variablen zu übergeben, in der der eingelesene Wert gespeichert werden soll.

int eingabe;
scanf("%d", &eingabe);

So liest scanf eine Ganzzahl von der Benutzerin oder dem Benutzer ein und speichert sie in der Variable eingabe.

scanf kann auch für andere Datentypen wie Fliesskommazahlen (%f), Zeichen (%c) und viele andere verwendet werden. Beachte jedoch immer, dass das Format in der Formatanweisung zu dem Datentyp der Variable passen muss, in der du den Wert speichern möchtest.

Zusammenfassung

In diesem Abschnitt haben wir die Verwendung der Ein- und Ausgabefunktionen in C, insbesondere printf und scanf, erklärt. Diese Funktionen ermöglichen die Ausgabe von Text und Variablen auf der Kommandozeile sowie die Verarbeitung von Benutzereingaben. Beachte, dass printf und scanf zur Standardbibliothek von C gehören und umfangreiche Formatierungsoptionen bieten. Mit printf kannst du Text und Variablen ausgeben, während scanf Benutzereingaben einlesen kann. Beide Funktionen sind nützliche Werkzeuge, um interaktive Programme in C zu erstellen.

Quiz

Aufgaben

Die Aufgaben zu Ein- und Ausgabefunktionen sind auf GitHub zu finden.