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
5.8 Pipes und Named Pipes
5.9 Low-Level-I/O

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
Sleep- und Timerfunktionen in C

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

RP Online, 25. September 2014:
Idee von SPD-Chef Gabriel

Computersprache soll Schulfach werden

Wirtschaftsminister Sigmar Gabriel (SPD) fordert beim Thema "Digitales" einen gesellschaftlichen Mentalitätswandel. So fordert er, Programmiersprachen in den Stundenplan an Schulen zu integrieren. "Programmiersprachen gehören zu den Sprachen des 21. Jahrhunderts", sagte Gabriel unserer Zeitung. Es gebe viele Wege, wie man Kinder und Jugendliche für das Programmieren begeistern könne – der Schulunterricht sei nur einer davon. "Für mich wäre eine der Möglichkeiten, Programmiersprachen als zweite Fremdsprache in Schulen anzubieten."

http://www.rp-online.de/politik/deutschland/sigmar-gabriel-computersprache-soll-schulfach-werden-aid-1.4551896

Soviel zum Thema "Politiker und Kompetenz" ...

Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate
Letzte Aktualisierung: 06. Apr 2006