Willkommen bei unserem C-Kurs! |
Dieser Kurs richtet sich vor allem an diejenigen, welche die Sprache C von Anfang an lernen wollen. Es sind daher keinerlei Vorkenntnisse erforderlich.
Im Kurs wird der DJGPP-Compiler verwendet. Er ist eine Dos-Version des GNU-C Compilers (GCC), der ein frei kopierbarer Compiler ist. Im laufenden wird noch auf die Unterschiede zur Unix-Version des GCC eingegangen. Er wurde bewußt gewählt, da er frei kopierbar ist. Natürlich können auch andere Compiler verwendet werden. Die entsprechenden Befehle sind dort dem Handbuch zu entnehmen.
GCC und alle zugehörigen Pakete findet man unter http://www.delorie.com/djgpp/zip-picker.html
INSTALLATION DES COMPILERS: |
Die folgende Vorgehensweise gilt für diejenigen, die Mitglieder
von AOL sind. Alle anderen müssen die entsprechenden Hilfstexte der
jeweiligen Compiler lesen.
Als erstes sollte ein Compiler zur Verfügung stehen. Der DJGPP befindet sich in der File-Library Programmieren/Kursmaterial unter dem File C-Compiler. Alle anderen, die den Kurs außerhalb AOL´s mitverfolgen, entnehmen bitte den Installationshinweisen des DJGPP-Packetes, wie sie den Compiler zum laufen bringen. Für alle anderen vereinfacht sich die Installation wie weiterführend beschrieben.
Achtung: Es sollte nachdem herunterladen mindestens 10 MB auf dem Laufwerk C: frei sein, da der Compiler ca. 6.2 MB benötigt und selber noch temporäre Dateien erzeugt. Nun folgendes in der Dos-Shell eingeben:
pkunzip -d c-comp.zip c:\ckurs
BENUTZUNG DES COMPILERS |
Da wir den Compiler installiert haben, wollen wir uns gleich überzeugen, das er auch einwandfrei funktioniert. Wie oben beschrieben, c:\ckurs\ckurs eingeben, wenn die Batchdatei noch nicht gestartet wurde.
Im Unterverzeichnis c:\ckurs\kurs befindet sich auch schon unser erstes Programm, welches wir im Anschluß als unsere erste Lerneinheit benutzen wollen.
Wir geben also ein:
cd
\ckurs\kurs
gcc test.c
exe |
Wenn alles ohne Probleme von statten ging, haben wir nun ein Programm, welches ?a.exe? heißt, erzeugt. Was ist nun passiert ? Mit gcc test.c starteten wir den Compiler und teilten ihm mit, das wir das Programm test.c compilieren möchten. Hier merken wir schon: Der Compiler kommt aus der UNIX-Welt : ) Er generiert ein Programm mit dem Namen a.out. Typisch UNIX und sehr unbrauchbar für uns. Wir tippen also exe ein. Diese Batchdatei ruft das Programm aout2exe auf. Das kann man zwar auch direkt machen, ist aber kürzer.
Das so entstandene Programm a.exe ist unser ausführbares Programm.
Compilieren unter Linux |
Das compilieren unseres Programmes unter Linux ist ähnlich. Fast
sogar schon einfacher. Da im Grundsystem der GCC schon integriert ist,
brauchen wir uns nur noch den Compileraufruf anzuschauen.
gcc -o test test.c |
Das war es schon. Der Compiler compiliert und linkt in einem Durchgang unser Programm test.c und erzeugt das ausführbare Programm test. Dieses kann sofort mit dem Aufruf ./test ausgeführt werden.
Diese Befehlsfolge funktioniert nicht unter DOS!
Als Programmieroberfläche kann wpe im Terminalmodus, oder
xwpe
unter X-Windows empfohlen werden. Sie entsprechen weitgehend den Borlandcompilern.
Was ist eigentlich RHIDE ? |
Rhide ist eine Entwicklungsoberfläche, wie die von Borland C. Praktisch
nicht ? Das Programm ist Freeware. Das Copyright liegt bei Robert Hoehne.
Ihr findet die aktuelle Version unter ftp://ftp.urz.uni-heidelberg.de/pub/simtelnet/gnu/djgpp/v2apps
oder
im AOL-Programmierforum (Kennwort: Programmieren) unter Kursmaterial.
Und los geht's mit unserem ersten C-Programm! |
Als erstes sollten wir uns natürlich anschauen, was in dem Programm
steht:
|
ACHTUNG! C unterscheidet zwischen Groß- und Kleinschreibung!
Die Grundstruktur |
An unserem ersten Programm können wir schon alle Merkmale eines
C-Programms sehen. Kommentare sind von einem /* am Anfang und einem */
am Ende umklammert. Der Compiler überliest so alles was sich innerhalb
dieses Kommentars befindet:
|
Der Befehl #include weißt an, das eine Programmsammlung in das Programm eingebunden werden soll. C ist eine Programmiersprache, die in ihren Grundzügen nur aus wenigen Befehlen aufgebaut ist. Das ist eine ihrer großen Stärken, da man sich später eigene Befehle programmieren kann. Das heißt aber auch: Selbst Grundfunktionen wie Bildschirmausgabe oder die Tastatureingabe sind kleine Unterprogramme, die explizit eingebunden werden müssen, da sonst der Compiler nicht weiß, was er zu tun hat. Fazit: C ist modular aufgebaut. Und zwar von Grund auf! Mit dem #include werden wir uns in einem späteren Kapitel noch ausführlicher zuwenden.
Nun kommen wir zu dem wichtigsten Modul , welches auf keinen Fall Fehlen darf!
Dem main -Modul. Es sagt dem Compiler, das dieses Modul unser Programm darstellt. Wenn es fehlen würde, wüßte der Compiler gar nicht, welches das Hauptprogramm ist und würde von daher nur Programmodule erzeugen, ohne uns auch mit nur einem funktionierenden Programm zu beglücken.
Alle anderen Module, die wir später schreiben können nur ausgeführt
werden, wenn sie direkt oder indirekt vom Hauptprogramm aus aufgerufen
werden!
Jedes Modul besteht aus einem Modulnamen und einem Körper. Der
Modulkörper wird durch zwei geschweifte Klammern dargestellt. Alles,
was sich in diesen Klammern befindet, gehört zum Modul.
Modul ( )
{ /* Dies ist der Inhalt des Moduls */ } |
Zugegeben, dieses Modul ist recht nutzlos, da es nur eine Kommentarzeile
enthält. Es ist aber recht anschaulich.Wie oben bereits beschrieben
wurde: Ein Modulname zeichnet sich durch alle anderen aus: main ( )
!
Die Doppelklammer hinter dem Modulnamen ist zwingend, da dort
Übergabeparameter stehen können. Davon werden wir später
noch Gebrauch machen wenn wir uns näher
mit den Modulen befassen
printf |
Zurück zu unserem Programm: Den einzigen Befehl, den wir hier benutzen,
ist der ?printf ()? Befehl. Wie schon erwähnt, handelt es sich hierbei
selber um ein Modul, dem übergeben wird, was auf dem Bildschirm ausgegeben
werden soll.
printf ("AOL C-Kurs\n"); |
Es soll also der Text AOL C-Kurs auf dem Bildschirm ausgegeben
werde. Jede Befehlszeile muß mit einem Semikolon abgeschlossen werden,
damit der Compiler weiß, wann Befehlsende ist. Jetzt kommt natürlich
der berechtigte Einwand: Was soll das ?\n? dort ? Bestimmte Zeichen wie
\ oder auch % sind reservierte Zeichen, die dem Compiler sagen, das hier
bestimmte Aktionen durchgeführt werden. ?\n? sagt: An dieser Stelle
wird ein Zeilenvorschub eingefügt. Ansonsten würde einfach nach
dem Text keine neue Zeile angefangen werde.
printf ("AOL ");
printf ("C-Kurs\n"); |
Ist also das gleiche, was wir mit unserer einen Zeile oben bewirkt haben.
printf ("\nAOL C-Kurs\n\n"); |
Oberes würde also erst ein Zeilenvorschub, dann unseren Text und
zwei Zeilenvorschübe auf dem Bildschirm ausgeben. Am besten sie probieren
das einfach mal.
printf - Sonderzeichen |
|
Übungsaufgaben |
Soviel zum ersten Teil unseres C-Kurses! Natürlich werde ich das Ganze nicht ohne Übungsaufgaben auf sich beruhen lassen. Wenn jemand Verständnisfragen hat, bitte ich diese in das Pinboard Programmieren/C-Kurs-Talk zu schreiben. So kann gleich mehreren mit ähnlichen Problemen geholfen werden und es kann auch eine konstruktive Zusammenarbeit zwischen allen erfolgen!
Los geht?s:
1) Folgende Zeichenfolge soll mit Anführungszeichen ausgegeben werden. "C macht Spaß"
2) Selbiges soll mit ausgegeben werden ohne Anführungszeichen, dafür aber mit einem Zeilenvorschub zwischen jedem Wort.
3) Einfach mit den Sonderzeichen, die mit \ beginnen experimentieren.
Viel Spaß. Nächstes mal werden wir uns mit Variablen und
dem einlesen von der Tastatur beschäftigen.
...das Obligatorische |
Autor: Sebastian Cyris \ PCD Bascht
Dieser C-Kurs dient nur zu Lehrzwecken! Eine Vervielfältigung ist ohne vorherige Absprache mit dem Autor verboten! Die verwendete Software unterliegt der GPL und unterliegt der Software beiliegenden Bestimmungen zu deren Nutzung! Jede weitere Lizenzbestimmung die der benutzten Software beiliegt, ist zu beachten!