Inhalt
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.
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.
Titel
C als erste Programmiersprache: ISO-Standard
Autor
EAN
9783322921376
Format
E-Book (pdf)
Hersteller
Genre
Veröffentlichung
09.03.2013
Digitaler Kopierschutz
Wasserzeichen
Dateigrösse
39.1 MB
Anzahl Seiten
440
Auflage
1998
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.