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