Geschichte

Die Programmiersprache C entstand in den 70er-Jahren mit den folgenden 2 Schwerpunkten:

  • Mit ihr ist die plattformunabhängige Programmierung von Computerhardware möglich
  • Es ist eine prozedurale Sprache, d.h. ein großes Problem wird in mehrere kleine unterteilt, die wiederum in abgeschlossenen Einheiten, den sogenannte Prozeduren, gelöst werden können. Durch die Prozeduren wird der Quelltext übersichtlicher und sie können bei anderen Aufgabenstellungen wieder verwendet werden.

Von Anfang an war das Einsatzgebiet von C die Systemprogrammierung. Dabei kommt es besonders darauf an, dass eine gute Geschwindigkeit und ein kompakter Programmcode erzielt werden.

Bei so ziemlich jeder Programmiersprache gibt es eine Standardisierung, denn diese ist notwendig, um die Entstehung unterschiedlicher und insbesondere nicht miteinander austauschbarer Sprachversionen zu verhindern. Die Standardisierung von C übernimmt das ANSI-Komitee (American National Standards Institute), welches auch den aktuellen "C99"-Standard festlegte.

Compiler & Präcompiler

Es ist natürlich nicht möglich in natürlichen Sprachen (Englisch, Deutsch, Spanisch, …) zu programmieren, denn es gibt in jeder Sprache Mehrfachbedeutungen, wie z.B. das Wort "verlesen" in der Bedeutung von "falsch lesen" und "auslesen", "aussortieren". Außerdem wäre es schwer aus dem großen Sprachwortschatz eine für den Computer verständliche und auf ihm ausführbare Lösung zu beschreiben.

Deshalb werden die Befehlsschritte zur Programmierung in einer speziellen Sprache aufgeschrieben, in der es nur eine feste Menge von eindeutigen Anweisungen gibt. Die Wörter für diese Anweisungen sind fest vorgeschrieben und werden "reservierte Wörter" genannt, diese entstammen der englischen Sprache und sollen dadurch das Erlernen und Lesen der Sprache vereinfachen. 2 dieser Wörter sind z.B. "if" (falls) und "while" (während), anhand dieser Begriffe lässt sich schon darauf schließen, welchen Effekt sie haben könnten.

Doch selbst diese Sprache versteht der Prozessor noch nicht und muss deshalb noch in Maschinensprache "übersetzt" werden. Den Quelltext, der von einem Programmierer geschrieben wurde, wird durch einen Compiler übersetzt. Dabei kann der Compiler eine Optimierung des Quellcodes durchführen und schnelle, kompakte Maschinenprogramme erstellen. Software, die diese Funktion übernimmt ist z.B. Visual Studio von Microsoft, es gibt allerdings auch kostenfreie Compiler mit einer Entwicklerumgebung, wie z.B. Code::Blocks.

Es gibt allerdings auch noch den Präcompiler, der seine Aktivität starte, bevor der eigentliche Compiler den Quelltext übersetzt. Seine Aufgabe besteht darin, Vorbereitungen für den Compiler zu treffen, damit eine Übersetzung erfolgreich durchgeführt werden kann. Was mit dem Präcompiler möglich ist, wird in einem weiteren Artikel noch näher beleuchtet.

Das erste Programm in C

Als erstes ein Beispiel, an dem ich gerne ein paar Grundlagen erklären möchte.

(1)    #include  <stdio.h>

(2)    int main (void)

(3)    {

(4)    printf("Guten Tag!”);

(5)    return 0;

(6)    }

 

(1)    Mit "#include <stdio.h>” wird dem Präcompiler gesagt, dass er die Standardbibliothek (auch genannte Header-Datei) stdio.h (standard input output) einbinden soll. Diese enthält eine Vielzahl an Standardfunktionen für die Ein- und Ausgabe. In diesem Beispiel wird die Bibliothek für die Funktion prinft() benötigt, welche für die Ausgabe auf dem Bildschirm gebraucht wird.

(2)    Die Hauptfunktion "main"  ist der Einsprungspunkt in das Programm. "int" und "void" sind Datentypen, auf die in einem weiteren Artikel genauer eingegangen wird.

(3)    Die geschweifte Klammer leitet den Anweisungsteil der Funktion "main" ein.

(4)    Mithilfe der Funktion printf() wird der Text "Guten Tag!" auf dem Bildschirm ausgegeben.

(5)    Nach der erfolgreichen Abarbeitung der Funktion "main" erfolgt der Rücksprung zum Betriebssystem, der mit der Anweisung "return" eingeleitet wird. Diese Funktion gibt den Wert 0 an das Betriebssystem zurück.

(6)    Die geschweifte Klammer beendet den Anweisungsteil der Funktion "main".

Laden ...
Fehler!