Leseprobe zu "Eine praktische Einführung in C (eBook)"
"Die Programmiersprache C im Überblick (S. 17-18)
C ist eine sehr flexible Sprache, mit der auch komplexe Aufgaben schnell gelöst werden können. Der erzeugte Quelltext ist kompakt und bleibt, wenn der Programmierer darauf bedacht ist, trotzdem verständlich, also gut lesbar. Die Programme, die ein C-Compiler erzeugt, weisen eine hohe Ausführungsgeschwindigkeit auf und die Liste der Hardware- Architekturen und Betriebssysteme, für die es C-Compiler gibt, ist länger als bei jeder anderen Sprache. Zur Beliebtheit der Sprache haben auch ihre erprobten Bibliotheken beigetragen.
C erlaubt Manipulationen auf Bitebene und kann den Speicher mittels Zeigern und Typassoziationen gezielt verwalten. Im Vergleich zu anderen Sprachen schränkt C den Programmierer weniger ein, er hat also größere Freiheiten, aus denen auch die Flexibilität erwächst. Aber wo Licht ist, ist auch Schatten. Ein C-Programmierer muss bei seiner Arbeit auf Dinge achten, an die etwa ein Delphi-Programmierer keinen Gedanken zu verschwenden braucht, denn diese Mühe nimmt ihm der Delphi-Compiler ab. C prüft beim Kompilieren zum Beispiel nicht den Wert von Zeigervariablen ab, Delphi und andere Sprachen hingegen schon. Diese C-Eigenart trägt gewiss am meisten zu der Freiheit bei, die erfahrene Programmierer so sehr zu schätzen wissen, die aber für Anfänger von Nachteil sein kann.
1.1 Kurzer historischer Abriss
1972 erblickte die Sprache in den Bell Laboratories das Licht der Welt, erfunden von Dennis Ritchie. Viele ihrer Prinzipien und Ideen stammen von den Sprachen B, BCPL, CPL und Algol. Hier ein kurzer historischer Abriss:
ALGOL (um 1960, Algorithmic Language, eine der ersten strukturierten Programmiersprachen)
CPL (1969, Combined Programming Language, Martin Richards)
BCPL (1970, abgeleitet von CPL, Martin Richards)
B (1970, abgeleitet von BCPL, Ken Thompson, Bell Laboratories)
C (1972, entstand aus B, Dennis Ritchie, Bell Laboratories)
Ritchie und Thompson haben in Zusammenarbeit mit Brian Kernighan den Kernel des Betriebssystems UNIX mit Hilfe des C-Compilers von Ritchie umgeschrieben. Seitdem entwickelt sich die Sprache und heute ist sie die Basis für moderne objektorientierte Sprachen wie C++ und Java.
1.2 Grundlegende Konzepte
1.2.1 Zeichenvorrat von C
Ein C-Programm, also ein C-Quelltext, besteht aus den Zeichen des ASCII-Zeichensatzes, der mit ganzen Zahlen von 0 bis 127 kodiert wird. So eine Zahl kann binär mit 7 Bits dargestellt werden. Den ASCII-Zeichensatz teilt man in zwei Gruppen von Zeichen ein: nicht druckbare Zeichen (mit ASCII-Codes kleiner als 32, Ausnahme ist DEL, das mit 127 kodiert ist) und druckbare Zeichen (das Leerzeichen, Groß- und Kleinbuchstaben und Sonderzeichen wie den senkrechten Strich, die Codes größer als 32 haben). Zum Beispiel besitzen die Großbuchstaben ASCII-Codes zwischen 65 und 90, 65 ist der Code für ’A’ und 90 der Code für ’Z’. Die Kleinbuchstaben haben die ASCII-Codes zwischen 97 und 122, die Ziffern ’0’ bis ’9’ werden durch die Zahlen 48 bis 57 repräsentiert.
Die nicht druckbaren Zeichen haben verschiedene Bedeutungen. Zwei Beispiele: Der ASCII-Code 0 wird dem Zeichen NULL zugewiesen, das ist ein „künstliches"" Zeichen, das nicht über die Tastatur eingegeben werden kann. Mit