Programmieren in C


von Prof. Jürgen Plate

Programmieren in C

Programming today is a race between software engineers
striving to build bigger and better idiot-proof programs,
and the universe trying to build bigger and better idiots.

So far, the universe is winning.


Inhalt

Vorwort

1 Einführung in Datenstrukturen

1.1 Datenorientierte Programmentwicklung
1.2 Datentypen
1.3 skalare Standardtypen
1.4 strukturierte Typen
1.5 Dateien

2 Programmstrukturen

2.1 Grundelemente eines C-Programms
2.2 Auswahlstrukturen mit if .. else
2.3 Bedingungsausdrücke mit dem Operator ?:
2.4 Mehrfachauswahl mit switch .. case
2.5 Wiederholungsstrukturen mit while
2.6 Wiederholungsstrukturen mit for
2.7 Wiederholungsstrukturen mit do .. while
2.8 Unstrukturierte Kontrollanweisungen
2.9 Zusicherungen (Assertions)
2.10 Der C Präprozessor

3 Unterprogramme - Funktionen

3.1 Konzept
3.2 Parameter
3.3 Lebensdauer (Gültigkeitsbereich) von Namen
3.4 Rekursion und Iteration
3.5 Der exit-Status
3.6 Endlichkeit von Programmen
3.7 Seiteneffekte
3.8 Kommandozeilenparameter
3.9 Ein- und Ausgabefunktionen
3.10 Debuggen auf Quelltextebene

4 Datentypen unter C

4.1 Zahlen, Zahlensysteme
4.2 Elementare Typen, Qualifizierer, Speicherklassen
4.3 Konstanten
4.4 Aufzählungstypen mit enum
4.5 Arithmetische Operatoren
4.6 Logische Datentypen und Operatoren, Vergleiche
4.7 Zusammengesetzte Operatoren, implizite Typumwandlung
4.8 Felder (Arrays)
4.9 Zeichen- und Stringverarbeitung
4.10 Record und varianter Record
4.11 Bitfelder
4.12 Initialisierung

5 Dateien

5.1 Zugriffsart
5.2 Grundlegende Abläufe auf Dateien
5.3 Textdateien
5.4 Binärdateien
5.5 Dateien mit wahlfreiem Zugriff
5.6 Weitere Dateifunktionen (tabellarisch)
5.7 Verarbeitung von Verzeichnissen

6 Zeiger (Pointer)

6.1 Grundlagen Zeiger
6.2 Zeiger und Funktionsargumente
6.3 Zeigerarithmetik
6.4 Zeiger und Array
6.5 Zeiger-Array
6.6 Zeiger auf Funktionen
6.7 Wiederholung: Argumente der Kommandozeile

7 Dynamische Datenstrukturen

7.1 Dynamische Speicherverwaltung
7.2 Dynamische Datenstrukturen
7.3 Lineare Listen
7.4 Baumstrukturen

8 Ausgewählte Algorithmen

8.1 Verarbeitung von Zeichenketten
8.2 Uhrzeit- und Datumsarithmetik
8.3 Numerik
8.4 Statistik
8.5 Suchen und Sortieren
8.6 Implementierung von Mengen
8.7 Common Gateway Interface in C

9 Prozesse und Signale in C

9.1 Prozesse
9.2 Signale
9.3 Prozess-Synchronisation
9.4 Prozesskommunikation

10 Programmierstil, Fallstricke, Module

10.1 Programmierstil
10.2 Fallen in C
10.3 Modularisierung und Makefiles

Anhang

A.1 Literatur
A.2 C-Tabellen
A.3 Standardbibliotheken (Übersicht)
A.4 Standard-Bibliotheks-Funktionen
A.5 Praktikum
A.6 Software

Programmierskript von Prof. R. Thomas
Englischsprachiger C-Kurs
Understanding Pointers
comp.lang.c Frequently Asked Questions

Download des gesamten Skripts

Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate
Letzte Aktualisierung: 18. Mai 2010