C als erste Programmiersprache: ISO-Standard von Wiese Herbert | ISBN 9783519029991

C als erste Programmiersprache: ISO-Standard

von Wiese Herbert
Buchcover C als erste Programmiersprache: ISO-Standard | Wiese Herbert | EAN 9783519029991 | ISBN 3-519-02999-5 | ISBN 978-3-519-02999-1

C als erste Programmiersprache: ISO-Standard

von Wiese Herbert

Inhaltsverzeichnis

  • 1 Grundbergriffe der Programmierung.
  • 1.1 Algorithmen und Probleme.
  • 1.2 Nassi-Shneiderman-Diagramme.
  • 1.3 Werkzeuge für die Programmierung.
  • 1.4 Zeichen.
  • 1.5 Variablen und Datentypen.
  • 1.6 Entwicklung der höheren Programmiersprachen.
  • 2 Einführung in die Programmiersprache C.
  • 2.1 Ursprung von C.
  • 2.2 Standardisierung von C.
  • 2.3 Eigenschaften von C.
  • 2.4 Einordnung der Programmiersprache C.
  • 2.5 C und C++.
  • 3 Lexikalische Konventionen.
  • 3.1 Zeichenvorrat von C.
  • 3.2 Lexikalische Einheiten.
  • 4 Erste Beispielprogramme.
  • 4.1 Aufbau eines C-Programms.
  • 4.2 Das berühmte Programm „hello, world“.
  • 4.3 Programm zur Zinsberechnung.
  • 4.4 Euklid’scher Algorithmus als Programm.
  • 5 Datentypen und Variablen.
  • 5.1 Typkonzept.
  • 5.2 Einfache Datentypen.
  • 5.3 Variablen.
  • 5.4 Typ-Attribute.
  • 5.5 Typen in C.
  • 5.6 Klassifikation von Datentypen.
  • 6 Einführung in Zeiger und Arrays.
  • 6.1 Zeigertypen und Zeigervariablen.
  • 6.2 Zeiger auf void.
  • 6.3 Eindimensionale Arrays.
  • 6.4 Einfache Sortierverfahren für eindimensionale Arrays.
  • 7 Anweisungen, Ausdrücke und Operatoren.
  • 7.1 Operatoren und Operanden.
  • 7.2 Ausdrücke und Anweisungen.
  • 7.3 Nebeneffekte.
  • 7.4 Auswertungsreihenfolge.
  • 7.5 L-Werte und R-Werte.
  • 7.6 Zusammenstellung der Operatoren.
  • 7.7 Implizite Typkonvertierung.
  • 7.8 Sequenzpunkte bei Nebeneffekten.
  • 8 Kontrollstrukturen.
  • 8.1 Selektion.
  • 8.2 Iteration.
  • 8.3 Sprunganweisungen.
  • 9 Blöcke und Funktionen.
  • 9.1 Blöcke.
  • 9.2 Sichtbarkeit und Lebensdauer.
  • 9.3 Definition und Aufruf von Funktionen.
  • 9.4 Deklaration von Funktionen.
  • 9.5 Gültigkeitsbereiche von Namen.
  • 9.6 Alte Funktionsdefinition und -deklaration nach Kernighan und Ritchie.
  • 9.7 Die Ellipse… — ein Mittel für variable Parameteranzahlen.
  • 9.8 Rekursive Funktionen.
  • 10 Fortgeschrittene Zeigertechnik.
  • 10.1 Zusammenhang zwischen Zeigern und Vektoren.
  • 10.2 Arrays.
  • 10.3 Übergabe von Arrays und Zeichenketten.
  • 10.4 Vergleich von char-Arrays und Zeigern auf Zeichenketten.
  • 10.5 Das Schlüsselwort const bei Zeigern und Arrays.
  • 10.6 Kopieren von Zeichenketten.
  • 10.7 Standardfunktionen zur Stringverarbeitung und Speicherbearbeitung.
  • 10.8 Vektoren von Zeigern und Zeiger auf Zeiger.
  • 10.9 Zeiger auf Funktionen.
  • 11 Strukturen, Unionen und Bitfelder.
  • 11.1 Strukturen.
  • 11.2 Unionen.
  • 11.3 Bitfelder — Komponenten von Strukturen und Unionen.
  • 12 Komplizierte Datentypen, Eigene Typnamen und Eindeutigkeit von Namen.
  • 12.1 Komplizierte Vereinbarungen.
  • 12.2 Komplizierte Typen.
  • 12.3 typedef zur Vereinbarung eigener Typnamen.
  • 12.4 Namensräume.
  • 12.5 Interne und externe Bindung.
  • 13 Speichrung von Dten in Dateisystemen.
  • 13.1 Dateien aus Sätzen fester Länge.
  • 13.2 Dateien unter UNIX — das Streamkonzept.
  • 13.3 Dateien aus Sicht höherer Programmiersprachen.
  • 14 Ein- und Ausgabe.
  • 14.1 Schichtenmodell für die Ein- und Ausgabe.
  • 14.2 Umlenkung der Standardeingabe und -ausgabe.
  • 14.3 C-Bibliotheksfunktionen zur Ein- und Ausgabe.
  • 14.4 High-Level Funktionen für die Standardeingabe und -ausgabe.
  • 14.5 High-Level Dateizugriffsfunktionen.
  • 14.6 Low-Level Dateizugriffsfunktionen.
  • 15 Speicherklassen.
  • 15.1 Adreßraum eines Programms.
  • 15.2 Programme aus mehreren Dateien — Adressen.
  • 15.3 Programme aus mehreren Dateien — die Speicherklasse extern.
  • 15.4 Programme aus mehreren Dateien — die Speicherklasse static.
  • 15.5 Speicherklassen bei lokalen Variablen.
  • 15.6 Initialisierung.
  • 15.7 Tabellarischer Überblick über die Speicherklassen.
  • 15.8 Design und Programmiersprache.
  • 16 Übergabeparameter und Rückgabewert eines Programms.
  • 16.1 Übergabe von Parametern beimProgrammaufruf.
  • 16.2 Beendigung von Programmen.
  • 17 Dynamische Speicherzuweisung, Listen und Bäume.
  • 17.1 Reservierung von Speicher.
  • 17.2 Rückgabe von Speicher.
  • 17.3 Verkettete Listen.
  • 17.4 Baumstrukturen.
  • 18 Interne Suchverfahren.
  • 18.1 Sequentielles Suchen.
  • 18.2 Halbierungssuchen.
  • 18.3 Suchen nach dem Hashverfahren.
  • 19 Präprozessor.
  • 19.1 Aufgaben des Präprozessors.
  • 19.2 Einfügen von Dateien in den Source-Code.
  • 19.3 Symbolische Konstanten und Makros mit Parametern.
  • 19.4 Bedingte Kompilierung.
  • 19.5 Weitere Präprozessor-Direktiven.
  • Anhang A Standardbibliotheksfunktionen.
  • A.1 Fehlersuche (assert. h).
  • A.2 Klassifizierung und Konvertierung von Zeichen (ctype. h).
  • A.3 Länderspezifische Darstellungen und Zeichen (locale. h).
  • A.4 Mathematische Funktionen (math. h).
  • A.5 Globale Sprünge (setjmp. h).
  • A.6 Signalbehandlungen (signal. h).
  • A.7 Behandlung einer variablen Parameterliste (stdarg. h).
  • A.8 Ein- und Ausgabe (stdio. h).
  • A.9 Zahlenkonvertierung, Speicherverwaltung, Zufallszahlengenerierung und Beenden von Programmen (stdiib. h).
  • A.10 String- und Speicherbearbeitung (string. h).
  • A. II Datum und Uhrzeit (time. h).
  • Anhang B Sortieren MIT dem Quicksort-Verfahren.
  • Anhang C Sortierverfahren IM Vergleich.