Die Programmiersprache C
Kapitel 2: Rechnen in C

Formatierte Ausgabe

Im letzten Kapitel haben wir gesehen, dass printf() eine formatierte Ausgabe am Bildschirm hervorruft. Wir mussten uns zunächst damit begnügen, nicht zu wissen, was konkret mit formatiert gemeint war. Man kann der Funktion printf() eine ganze Reihe von Parametern bzw. Argumenten übergeben. Parameter (oder eben Argumente) sind diejenigen Werte, die man in die runden Klammern schreibt. Im letzten Kapitel haben wir der Funktion printf() nur den Parameter "Hallo Welt!\n"übergeben. Als ergebnis haben wir die Textausgabe Hallo Welt! erhalten, gefolgt von einem Zeilenumbruch. Im Wesentlichen ist das auch schon eine erste Formatierung: durch das \n haben wir einen Zeilenumbruch gesetzt.

Wir wollen nun ein wenig weiter mit printf() arbeiten. Man kann im ersten Argument Platzhalter setzen, die man in den folgenden Argumenten spezifiziert. Wir betrachten dazu folgendes
Listing printf.c

001 #include <stdio.h>
002 int main(void)
003 {
004   printf("%d + %d = %d\n", 5, 7, 5+7);
005   return 0;
006 }

Analyse von printf.c
Wir werden diese Analyse auf die Zeile 005 beschränken, die anderen Zeilen hatten wir schon im vorigen Kapitel. Es wird im ersten Argument ein Platzhalter %d verwendet, der in den darauf folgenden Argumenten spezifiziert wird. Lassen wir das Programm übersetzen (cc printf.c) und ausführen (./a.out oder a.exe), erhalten wir folgende Ausgabe:
5 + 7 = 12
Die Platzhalter wurden also der Reihe nach durch die Werte 5, 7 und 12 ersetzt. C hat also insbesondere im letzten Platzhalter den Wert 5+7 berechnet, womit wir unsere erste Rechenoperation durchgeführt haben.

Hinweis: Die Berechnung fand nur aufgrund des letzten Arguments (5+7) statt. Das erste Argument hätte auch ein völlig anderes sein können:
Listing printf2.c
001 #include <stdio.h>
002 int main(void)
003 {
004   printf("%d und %d ergibt %d\n", 5, 7, 5+7);
005   return 0;
006 }

Ausgabe: 5 und 7 ergibt 12.

Variablen in C

Wie in den meisten anderen Programmiersprachen auch, kann man in C Variablen anlegen. Der Wert einer Variablen wird in den Speicher geschrieben und kann dort beliebig oft wieder aufgerufen werden. Das ist z. B. dann von Nutzen, wenn wir eine Tastatureingabe vom Benutzer zwischenspeichern wollen, es gibt aber auch noch viele andere Verwendungszwecke von Variablen.

Typen von Variablen

Variablen werden in C deklariert (d. h. angelegt), indem man ihnen einerseits einen Typ zuweist, andererseits ihnen einen Namen gibt. Außerdem kann man sie bei der Deklaration auch initialisieren, d. h. ihnen einen Anfangswert zuweisen.

Es gibt zwar noch eine Reihe weiterer Variablentypen, aber wir beschränken uns in diesem Kapitel zunächst nur auf die, die wir bei Berechnungen brauchen. Es gibt folgende Zahlentypen in C:

int Integer: ganze Zahlen. Der Zahlenbereich erstreckt sich bei 16-Bit-Rechnern von -32.768 bis 32.767, bei 32-Bit-Rechnern von -2.147.483.648 bis 2.147.483.647
unsigned int Wie Integer, aber ohne Vorzeichen. Der Zahlenbereich erstreckt sich bei 16-Bit-Rechnern von 0 bis 65.535, bei 64-Bit-Rechnern bis 4.294.967.295.
short int Wie Integer, Zahlenbereich von -32.768 bis 32.767
long int Wie Integer, Zahlenbereich von -2.147.483.648 bis 2.147.483.647
unsigned short int Wie short int, ohne Vorzeichen, Zahlenbereich von 0 bis 65.535
unsigned long int Wie long int, ohne Vorzeichen, Zahlenbereich von 0 bis 4.294.967.295
float Fließkommazahlen (entsprechen etwa den reellen Zahlen); Zahlenbereich von -1038 bis 1038
double Fließkommazahlen, doppelte Genauigkeit; Zahlenbereich von -10308 bis 10308