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 |