Das Grundlagenseminar zur Programmiersprache C

In diesem Seminar wird die Programmiersprache ISO-C anhand von praktischen Beispielen unterrichtet. Dabei wird auf den ISO bzw. ANSI Standard von 1989/1990 zurückgegriffen, der auf praktisch allen Plattformen zur Verfügung steht die C unterstützen. Auch der ANSI/ISO Standard von 1999 wird durchgesprochen und in seinen Unterschieden zum ersten diskutiert. Die Unterschiede zwischen älteren Varianten von C - wie z.B. K&R C oder die frühe UNIX Variante - zu ANSI-C werden auch behandelt. Das günstige Laufzeitverhalten und die einfache Portierung eines C-Compilers auf neue Plattformen rechtfertigen auch heute noch den Einsatz von C. Aus den genannten Gründen wird ANSI-C auch häufig bei der Programmierung von Embedded Systems verwendet.

Die folgenden Themen werden durchgenommen:

  • Präprozessoranweisungen
  • Konstanten
  • Datentypen
  • Variablen
  • Das Lokalitätsprinzip
  • Datentypen
  • Anweisungen
  • Kontrollstrukturen
  • Funktionen
  • Die prozedurale Programmierung
  • Funktionsprototypen
  • Haederdateien
  • Typendefinitionen
  • Operatoren und Ausdrücke
  • Arithmetische Ausdrücke
  • Die arithmetischen Operatoren
  • Bitmanipulationen
  • Bitoperatoren
  • Zeiger
  • Strukturen
  • Aufzählungstypen
  • Unions
  • Funktionszeiger
  • Speicherklassen in C
  • Das Datensegment
  • Der Heap
  • Der Stack
  • Externe und interne - statische - Linkbarkeit
  • Die Standardbibliothek
  • I/O Operationen
  • Dateizugriffe
  • Dynamische Speicherallokation
  • Der Compiler
  • Compileroptionen
  • Der Linker
  • weitere Tools
  • Aufbau von C - Projekten
  • Das Zusammenspiel von Compiler und Linker
  • Object Files und Bibliotheken
  • Einfache Makefiles
  • Hardwarenahe Programmierung
  • Probleme bei nebenläufiger Programmierung
  • Entwicklung performanter Software
  • Codeoptimierung
  • Footprint und Laufzeitverhalten
  • Methoden der Implementierung von Statusmaschinen
  • Implementierung einer Statusmaschine mit Strukturen
  • Algorithmisches Design von Software
  • Datenorientiertes Design von Software
  • Objektorientiertes Design von Software

Es kann ein beliebiger Standard C oder C++ Compiler eingesetzt werden, der ANSI/ISO kompatibel ist. Als Plattformen für den Kurs empfehlen sich Windows-, Mac OS X-, UNIX- oder Linuxsysteme. Wichtig ist dabei nur, dass die Kursteilnehmer einfache Dateioperationen auf dem eingesetzten System beherrschen. Das Seminar kann auch an bestimmte thematische Anforderungen angepasst werden und mit einem bestimmten, für Sie wichtigen Gesichtspunkt ausgestattet werden. So kann beispielsweise ISO-C vor dem Hintergrund der Anwendungsentwicklung behandelt werden, oder auch im Zusammenhang mit der Systementwicklung in Embedded Systemen.

Zuletzt geändert am 10.07.2021