21.11.2013 Aufrufe

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />

Für manche Programmierumgebungen gibt es sogenannte Debugger-Programme, mit denen man<br />

sich auf <strong>die</strong> Fehlersuche begeben kann. Man kann damit z.B. das Programm schrittweise durchlaufen<br />

<strong>und</strong> sich <strong>die</strong> Inhalte von Variablen <strong>und</strong> Speicher ansehen <strong>und</strong> auch modifizieren. In den Übungen<br />

zu <strong>die</strong>sem Kurs werden Sie e<strong>in</strong>e solche Umgebung kennen lernen.<br />

Die Programmierfehler können auch mit der pr<strong>in</strong>tf()-Anweisung lokalisiert werden, <strong>in</strong>dem<br />

man <strong>in</strong>nerhalb des Programms ständig den Inhalt von <strong>in</strong>teressanten Variablen, <strong>und</strong> den aktuellen<br />

Ort im Code ausgibt, so kann der Programmablauf auch verfolgt, resp. rekonstruiert werden. Die<br />

Funktion pr<strong>in</strong>tf() wird später noch vorgestellt. Den Kreislauf - Editieren - Kompilieren - L<strong>in</strong>ken<br />

- Ausführen - Fehlersuche müssen Sie solange durchlaufen, bis das Programm fehlerfrei <strong>die</strong><br />

gestellte Aufgabe erfüllt. Mit e<strong>in</strong>er guten Analyse <strong>und</strong> e<strong>in</strong>em guten Entwurf kann der Kreislauf beträchtlich<br />

verkürzt werden, da viele Denkfehler so bereits früh elim<strong>in</strong>iert werden.<br />

2.3 Übersicht über <strong>die</strong> Sprache C<br />

E<strong>in</strong> C-Programm besteht aus e<strong>in</strong>zelnen "Bauste<strong>in</strong>en", den Funktionen, <strong>die</strong> sich gegenseitig aufrufen.<br />

Jede Funktion löst e<strong>in</strong>e bestimmte Aufgabe. <strong>E<strong>in</strong>e</strong> Funktion ist entweder selbsterstellt oder e<strong>in</strong>e fertige<br />

Rout<strong>in</strong>e aus der Standardbibliothek oder e<strong>in</strong>er fremden Bibliothek. Die Funktion ma<strong>in</strong>() hat<br />

e<strong>in</strong>e besondere Rolle: Sie bildet das steuernde Hauptprogramm. Jede andere Funktion ist direkt oder<br />

<strong>in</strong>direkt e<strong>in</strong> Unterprogramm von ma<strong>in</strong>(). Die Form von ma<strong>in</strong>() (Argumente, Rückgabewert)<br />

ist vorgeschrieben.<br />

Die Anweisungen, aus denen <strong>die</strong> Funktion(en) besteht(en), bilden zusammen mit den notwendigen<br />

Deklarationen <strong>und</strong> Präprozessor-Direktiven den Quelltext e<strong>in</strong>es C-Programms. Dieser wird bei kle<strong>in</strong>eren<br />

Programmen <strong>in</strong> e<strong>in</strong>e Quelldatei, bei grösseren <strong>in</strong> mehrere Quelldateien geschrieben. Quelldateien<br />

haben <strong>die</strong> Endung .c, Headerdateien (Schnittstellenbeschreibung der Module) <strong>die</strong> Endung .h.<br />

2.3.1 Beispiele für e<strong>in</strong>fache C-Programme<br />

Hier das wohl berühmteste Programm der Welt (Hello World) <strong>in</strong> e<strong>in</strong>er Variante für C:<br />

/*****************************************************************************/<br />

/* Module : HelloWorld Version 1.0 */<br />

/*****************************************************************************/<br />

/* */<br />

/* Function : E<strong>in</strong>faches E<strong>in</strong>fuehrungsbeispiel <strong>in</strong> <strong>die</strong> <strong>Programmiersprache</strong> C */<br />

/* Gibt den Text 'Hello World' auf den Bildschirm aus */<br />

/* */<br />

/* Procedures : ma<strong>in</strong> */<br />

/* */<br />

/* Author : I. Oesch (IO) */<br />

/* */<br />

/* History : 13.03.2000 IO Created */<br />

/* */<br />

/* File : Hello.c */<br />

/* */<br />

/*****************************************************************************/<br />

#<strong>in</strong>clude<br />

/* Anweisung an den Praeprozessor <strong>die</strong> Datei mit den<br />

Infos ueber Funktionen zur E<strong>in</strong>-/Ausgabe e<strong>in</strong>zub<strong>in</strong>den */<br />

<strong>in</strong>t ma<strong>in</strong>(<strong>in</strong>t argc, char *argv[]) /* Die Funktion ma<strong>in</strong> (das Hauptprogramm) */<br />

/* beg<strong>in</strong>nt hier. */<br />

{<br />

/* ma<strong>in</strong> ruft <strong>die</strong> Bibliotheksfunktion pr<strong>in</strong>tf auf, um <strong>die</strong><br />

Zeichenfolge zu drucken */<br />

pr<strong>in</strong>tf("Hello, world\n");<br />

return 0; /* Fehlerfreie Ausfuehrung anzeigen */<br />

} /*Hier endet das Programm (<strong>die</strong> Funktion ma<strong>in</strong>() ) */<br />

Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 9/147

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!