News Ticker

C 7: printf() – Formatiert ausgeben

Dass man sieben Artikel braucht (ich zumind.) um die elementare Ein- und Ausgabe zu beschreiben, zeigt wie komplex C sein kann. In diesem Artikel geht es um die Ausgabe. Da in dem letzten Artikel schon die Eingabe und die Datentypen dafür beschrieben wurde, ist man, nachdem man diesen Artikel verstanden hat, in der Lage einfache Programme für die Ein- und Ausgabe von Daten in C zu schreiben. Das ist der erste Schritt zum Programmieren. In den darauf folgenden Artikel werden noch einige Eigenarten und dann Kontrollstrukturen und Funktionen beschrieben. Also nicht verzagen: wir kommen noch zu interessanten Sachen. ;)

Für die formatierte Ausgabe wird die Funktion printf() benutzt, da praktisch ja auf den Bildschirm geschrieben (engl.: print) wird. Eine komplette Formatierung besteht im praktischen aus vier Teilen – dazu ein Beispiel:

tcr@triton ~ $ cat printf.c
#include <stdio.h>
 
int main()
{
        char a = 'Z';
        int b = 27;
 
        printf("Hallo!\n");
        printf("a = %c und b = %d\n", a, b);
}
tcr@triton ~ $ gcc printf.c
tcr@triton ~ $ ./a.out
Hallo!
a = Z und b = 27
tcr@triton ~ $

Man sieht, dass printf() auch in stdio.h definiert ist. Deswegen muss diese inkludiert werden. Nun zu den vier Teilen einer Formatierung mittels printf():

  1. Funktionsaufruf – printf(
  2. Formatstring – Hallo!\n oder anderer Text
  3. Formatzeichen- %c oder %d
  4. Variablen-Liste – a, b);

Setzt man alle diese vier Teile zusammen, bekommt man einen gültigen printf()-Funktionsaufruf. Man muss keine Variablen angeben, kann aber auch gleich mehrere auf einmal ausgeben. Wichtig ist, dass das Formatzeichen kompatibel zum Variablentyp ist. Ein Zeichen (char) als Ganzzahl (int) auszugeben, geht meistens schief. Viel mehr gibt es zu dieser Funktion eigentlich nicht zu schreiben. Jedoch noch etwas organisatorisches.

Jetzt seid ihr bereit einfache Programme in C zu schreiben. Diese sehen noch sehr minimal aus, aber immerhin ist es möglich Daten einzulesen, sie in Variablen zu speichern und wieder auszugeben. Das ist die Basis für jedwede Programmieraufgabe, die euch erreichen sollte: Um Daten zu bearbeiten, auf Festplatte zu speichern etc. muss man sie erst einmal richtig einlesen können. Um bearbeitete Daten dem Benutzer unmissverständlich mitteilen zu können, muss man sie auch formatiert ausgeben können.

In den nächsten Artikel geht es dann Schritt für Schritt weiter mit Datenbearbeitung (Operatoren und nützliche Funktionen), Kontrollstrukturen (Zweige und Schleifen wie if und while) und dann das schreiben eigener Funktionen. Erst dann wird es richtig interessant!