Kurs: C-Programmierung Einführung

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