Elementare Ein-/Ausgabe auf der Konsole

Ausgabe

         printf (formatstring, argument1, argument2, ...);

Mit der Bibliotheksfunktion printf werden formatierte Ausgaben auf den Bildschirm vorgenommen, in welche auch variable Zahlenwerte und Strings eingebunden werden können.

Der Formatstring wird Zeichen für Zeichen gelesen und auf den Bildschirm ausgegeben, bis ein %-Zeichen auftaucht. Daraufhin wird der hinter dem %-Zeichen folgende Ausdruck ausgewertet und falls nötig das nächste Argument aus der Argumentliste entsprechend der dem %-Zeichen folgenden Formatangabe ausgegeben.

Wichtigste Umwandlungszeichen für printf:

Umwandlungs- zeichen

Ausgabeform des nächsten Arguments

Erwarteter Datentyp des Arguments

%d

Dezimaler Integerwert mit Vorzeichen.

int, unsigned, char

%u

Dezimaler Integerwert ohne Vorzeichen.

int, unsigned, char

%x

Hexadezimaler Integerwert.

int, unsigned, char

%c

Einzelnes Zeichen.

char, int, unsigned

%s

Zeichenkette (mit Nullbyte abgeschlossen).

Zeiger auf char,

char-Array

%f

Fliesskommawert

double

%e

Fliesskommawert in Exponentialddarstellung

double

%%

Es erfolgt keine Umwandlung. Das Zeichen % als solches wird ausgegeben.

Auf das %-Zeichen können noch etliche Formatierungsparameter folgen, wie z.B. die zu verwendende Stellenzahl, Anzahl Nachkommastellen etc.
Eine genaue Auflistung der möglichen Umwandlungen kann im Buch Programmieren in C, Zweite Ausgabe auf Seite 243 nachgelesen werden.

Beispiel:

         int          i;

         double        f;

         printf ("Zaehler=%d, Fliesskommazahl=%f\n", i, f);

 

Eingabe

         scanf (formatstring, &variable1, &variable2, ...);

Die Funktion scanf arbeitet genau umgekehrt zu printf. Im Formatstring werden die erforderlichen Datentypen definiert, welche in den Variablen, deren Adressen dem Formatstring folgen, abgelegt werden.

Achtung:       Es müssen immer die Adressen (&) der Variablen angegeben werden!

Sind im Formatstring etwaige Zeichen ausser Leerzeichen und Tabulatoren enthalten, so müssen diese Zeichen bei der Eingabe mit eingegeben werden.

Wichtigste Umwandlungszeichen für scanf:

Umwandlungs- zeichen

Eingabeform des nächsten Arguments

Erwarteter Datentyp der Zielvariablen

%d

Dezimaler Integerwert mit Vorzeichen.

Adresse einer int- oder unsigned-Variablen

%u

Dezimaler Integerwert ohne Vorzeichen.

Adresse einer int- oder unsigned-Variablen

%x

Hexadezimaler Integerwert.

Adresse einer int- oder unsigned-Variablen

%s

Zeichenkette (mit Nullbyte abgeschlossen).

Zeiger auf char,

char-Array

%f

Fliesskommawert

Adresse einer float-Variablen

%lf

Fliesskommawert

Adresse einer double-Variablen

%e

Fliesskommawert in Exponentialddarstellung

Adresse einer float-Variablen

Beispiele:

         int          i;

         double        f;

         int         day, month, year;

         scanf ("%d %lf", &i, &f);

         printf ("Bitte Datum eingeben (TAG-MONAT-JAHR) : ");

         scanf ("%u-%u-%u", &day, &month, &year);