Powered by Ubuntu Linux

Kurs: C-Programmierung Aufbau

Dauer: 3-5 Tage

Motivation: C ist die "Lingua Franca" unter den Programmiersprachen, manche nennen C sogar einen "Portablen Assembler". Zum einen gibt es C-Compiler für wirklich jeden Rechner, zum zweiten ist C sehr gut standardisiert (ANSI-C) und zum dritten ist C ein Vorläufer vieler anderer Programmiersprachen (C++, Java, Awk, Perl, PHP, C#), d.h. viele syntaktische Elemente und Verhaltensweisen von C können auf diese Programmiersprachen übertragen werden.

Weiterhin bietet C extrem hohe Performanz und sehr kleine Programmgrößen aufgrund seiner Hardware-Nähe. Allerdings sind auch die Fehlermöglichkeiten in C entsprechend hoch, wenn man nicht sorgfältig arbeitet und auf die "Haken und Ösen" von C hingewiesen wird. Ein nicht zu unterschätzender Punkt ist auch das Verständnis für die "innere Struktur" von Maschinen, das man sich bei Programmierung mit C erwirbt.

Ziel: Mittels vieler Übungen lernen Sie fortgeschrittene Elemente der Programmiersprache ANSI-C kennen und erstellen einfache sowie auch komplexere C-Programme, die gründlich ausgetestet werden. Der Kurs legt viel Wert auf sorgfältig und klar geschriebene Programme und gibt auch Tipps, um trotz der (zunächst) kryptisch erscheinenden C-Syntax übersichtlichen Programmcode zu formulieren.

Hinweis: Der Kurs ist für Linux/UNIX- und MS-Windows-Systeme geeignet!

Inhalt:

  • Zeiger / Adressen
  • 2-Dimensionale Arrays
  • Funktionszeiger
  • Strukturen und Unions
  • Datentypdefinition (typedef)
  • Ein-/Ausgabe
  • Dateioperationen
  • Dynamische Speicherverwaltung
  • Komplexe Datenstrukturen
    • Verkettete Listen (Linked List, Double Linked List)
    • Keller (Stack)
    • Warteschlange (Queue)
    • Baum (Tree)
    • Assoziative Liste (Hash)
  • Zeichenprüfung und Umwandlung
  • Stringfunktionen
  • Fehlerbehandlung
  • Aufzählungstypen
  • Variable Argumentlisten
  • Umgebungsvariablen
  • Mathematische Funktionen

Schulungsunterlagen:

  • Skript
  • Lösungsblätter zu allen Übungen

Voraussetzungen:

  • Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
  • Muss: Kenntnis einer beliebigen Programmiersprache
  • Muss: Kurs "C-Einführung"
  • Optional: Kenntnis einer Integrierten Entwicklungsumgebung (IDE)
  • Optional: Linux/UNIX-Kenntnisse

Abgrenzung:

  • Objektorientierte Programmierung wird nicht behandelt