In den vergangenen Beispielen haben wir bereits den printf Befehl für die Ausgabe von Informationen auf dem Bildschirm kennengelernt. Hier lernen wir nun, wie dieser im Detail funktioniert.
printf("Hello World");
Hello World
Der Text zwischen den Hochkommas wird also auf dem Bildschirm ausgegeben. Dieser kann mit Tabulatoren und Zeilenumbrüchen formatiert werden. Diese werden wiederum mit sogenannten Escape-Sequenzen realisiert. Escape-Sequenzen erkennt man an dem Backslash \. Damit werden besondere Zeichen markiert.
printf("\nZeile\tEins"); printf("\nZeile\tZwei"); printf("\nZeile\tDrei\n\tEnde");
Zeile Eins Zeile Zwei Zeile Drei Ende
Ausgabe von Variablen
Wollen wir in den auszugebenden Text Variablenwerte einfügen, geht dies mit der Formatierungsanweisung %. Für jeden Datentyp gibt es einen eigenen Formatierungstyp. Die Formatierungsanweisung wird in den Text geschrieben, also zwischen die Hochkommas. Nach den Hochkommas folgen die Variablennamen mit Komma getrennt. Die Anzahl der Formatierungsanweisungen und Variablennamen muss gleich sein und die Datentypen müssen zusammenpassen.
Ausgabe von Zeichen
Für die Ausgabe eines einzelnen Zeichens verwenden wir den Formatierungstyp %c.
char alphabetEnde = 'Z'; printf("Das Alphabet endet mit: %c\n", alphabetEnde);
Das Alphabet endet mit: Z
Ausgabe von ganzen Zahlen
Der Formatierungstyp für ganze Zahlen ist %d. In dem ersten printf Befehl im folgenden Beispiel geben wir zwei Zahlen ganz normal aus. Bei der zweiten Ausgabe jedoch steht zwischen % und d eine Zahl. Diese sagt, auf welche Länge der auszugebende Wert gebracht werden soll. Ist der Wert in diesem Beispiel kürzer als 10 Zeichen, so wird er mit Leerzeichen aufgefüllt, bis er die Länge von 10 Zeichen hat – was in dem Fall wesentlich besser aussieht.
int laenge=312500, breite=50; printf("\nLaenge: %d cm\nBreite: %d cm\n", laenge, breite); printf("\nLaenge: %10d cm\nBreite: %10d cm\n", laenge, breite);
Laenge: 312500 cm Breite: 50 cm Laenge: 312500 cm Breite: 50 cm
Ausgabe von Kommazahlen
Zur Ausgabe von Kommazahlen verwenden wir den Formatierungstyp %f. Den Vorkommateil und Nachkommateil können wir hier ebenfalls formatieren. Mit %10.2f legen wir die Länge der gesamten Kommazahl auf 10 Zeichen fest. Darin enthalten ist 1 Zeichen für den Punkt und 2 Zeichen für den Nachkommateil. Der Vorkommateil beträgt also 7 Zeichen. Ist der Vorkommateil kleiner als 7 Zeichen, wird dieser mit Leerzeichen aufgefüllt. Ist der Vorkommateil länger als 7 Zeichen, wird trotzdem der komplette Vorkommateil ausgeben. Nur der Nachkommateil wird abgeschnitten, wenn er länger als 2 Zeichen ist.
float laenge=312.5789, breite=5.6; printf("\nLaenge: %f cm\nBreite: %f cm\n", laenge, breite); printf("\nLaenge: %10.2f cm\nBreite: %10.2f cm\n", laenge, breite);
Laenge: 312.578888 cm Breite: 5.600000 cm Laenge: 312.58 cm Breite: 5.60 cm
Weitere Formatierungen
Sollen beim Auffüllen keine Leerzeichen, sondern führende Nullen verwendet werden, erreichen wir dies mit einer Null nach %, also %0. In diesem Beispiel sind die Variablenwerte tag und monat einstellig, zweistellig wird es mit einer führenden Null.
int tag=3, monat=9, jahr=2007; printf("Ein Datum: %02d.%02d.%4d\n", tag, monat, jahr);
Ein Datum: 03.09.2007