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 die grundlegenden 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:
- Allgemeines zur Programmiersprache C
- Bestandteile eines C-Programms
- Prinzipien der Software-Entwicklung
- Konstanten, elementare Datentypen, Variablen
- Zeichenketten / Strings
- Arithmetische Operatoren und Ausdrücke
- Vergleichs-Operatoren und Boolesche Werte
- Verzweigung mit if-else und switch-case
- Schleifen mit while, for und do
- Präprozessordirektiven
- Funktionen
- Speicherklassen
- Zeiger und Adressen
- Arrays / Felder
- Häufige Fehler und Tipps
Schulungsunterlagen:
- Skript
- Lösungsblätter zu allen Übungen
Voraussetzungen:
- Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
- Muss: Kenntnis einer beliebigen Programmiersprache
- Optional: Kenntnis einer Integrierten Entwicklungsumgebung (IDE)
- Optional: Linux/UNIX-Kenntnisse
Abgrenzung:
- Objektorientierte Programmierung wird nicht behandelt