Inhalt des Kurses zurück weiter

C Kurs Tag 2: Das erste Programm

Heute wollen wir ein einfaches C-Programm schreiben (unser erstes).

zuerst einige Hinweise:

$blabla$ ist ein noch zu beschreibender Teil

=blabla= ist ein Schlüsselwort oder ein wichtiger Begriff.

Jedes C Programm besteht aus =Funktionen=.

Eine Funktion wird folgendermaßen deklariert:

$typ_des_funktionswertes$ $funktionsname$ ( $parameter$ );

Der $typ_des_funktionswertes$ legt fest welche Daten von der Funktion geliefert werden. Gibt eine Funktion keine Daten zurück so gibt man den Typ =void= an. Dies entspricht dann einer Prozedur. Der Typ =int= steht für eine Zahl, die maximale Größe ist rechnerspezifisch, aber immer grösser gleich 32767.

Der $funktionsmame$ ist ein Name. Er darf nicht mit einer Ziffer anfangen. In C wird beim Namen zwichen Groß und Kleinschreibung unterschieden. Die Namen 'Hallo', 'HALLO' und 'hallo' sind drei verschiedene Namen. Um gut lesbare Namen zu erzeugen benutzt man in C den Unterstrich '_'.

Bsp: '__Ganz_langer_Name_der_12_ten_Version'

Die $parameter$ legen die typen der Parameter fest. Mehrere Parameter werden durch ein Komma ',' getrennt. Wird kein Parameter erwartet, so wird der Typ =void= angegeben. (Bei nicht ANSI C ist das Feld 'parameter' immer leer.)

Beispiele:

void Diese_Funktion_hat_nichts_zu_tun ( void );

void Diese_Funktion_will_eine_Zahl ( int zahl );

int Diese_Funktion_berechnte_eine_Zahl ( int zahl );

Diese Beschreibungen geben die Existenz der Funktion bekannt. Sie soll in allen Dateien bekannt sein, die diese Funktion benutzen wollen. Die eigentliche Funktion kann in einer anderen Datei implementiert werden. Diese Beschreibung wird auch Prototyp einer Funktion genannt.

Eine Funktion wird folgendermaßen implementiert:

$typ_des_funktionswertes$ $funktionsname$ ( $parameter$ )

{

$deklarations_teil$

$implementations_teil$

}

Man verwendet die gleiche Schreibweise wie bei der Deklaration und ersetzt das Semikolon durch den Implementaions-Block mit den geschweiften Klammern. Ein Paar geschweiften Klammern bilden einen Block. Dieser Block kann eignene Deklarationen und eignen Anweisungen beinhalten. Jeder Block wird von aussen als eine eigeständige Anweisung betrachtet. Dies entspricht der BEGIN und END Anweisung in PASCAL.

Jede Applikation oder jedes Anwendungs-Programm beginnt bei der Funktion mit dem Namen =main=. Diese Funktion ist im allgemeinen nirgends deklariert da sie automatisch aufgerufen wird.

Nun schreiben wir unser Programm. Dazu editieren wir eine Datei namens NICHTS.C

Download der Datei "nichts1.c"


/*

NICHTS.C

21.12.91

*/

{

/* Hier ist absolut nichts los! */

}


Nun wird dieses Datei gespeichert. Hier haben wir die Funktion main ohne Wert und Parameter implementiert.Der Text zwischen den Zeichen '/*' und '*/ ist ein Kommentar. Die Kommentare in C sind mit diesen Zeichen geklammert.

Nun beginnt der schwierige Teil. Jetz muß man die Datei NICHTS.C übersetzen. Dabei sollte man ein ausführbares Programm erhalten.Hier einige mögliche Namen (nicht vollständig): a.out, NICHTS.EXE, NICHTS.PRG, NICHTS.TTP

Diese Programm sollte ohne Fehler ausgeführt werden können.