UID:
almahu_9948191729202882
Format:
VIII, 443 S. 380 Abb.
,
online resource.
Edition:
3rd ed. 2000.
ISBN:
9783322927217
Content:
Die Programmiersprache C hat in der Praxis eine außerordentliche Bedeutung gewonnen. Durch den Aufschwung objektorientierter Sprachen wie C++ und Java, die auf C basieren, hat sich die Bedeutung von C noch erhöht. Entsprechend ihrer weiten Verbreitung wurde die Sprache standardisiert, zunächst durch ANSI und inzwischen von ISO. Dieses Buch ist sowohl für den Anfänger ohne Programmiererfahrung als auch für Studenten, die bereits eine andere Programmiersprache kennen, empfehlenswert. Es ist als Begleittext zur Vorlesung, als Nachschlagewerk und insbesondere auch zum Selbststudium geeignet.
Note:
1 Grundbegriffe 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, world1“ -- 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 Blöcke — Kontrollstrukturen für die Sequenz -- 8.2 Selektion -- 8.3 Iteration -- 8.4 Sprunganweisungen -- 9 Blöcke und Funktionen -- 9.1 Struktur eines Blockes -- 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 Speicherung von Daten 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 -- 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 beim Programmaufruf -- 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 (Iocale.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 (stdlib.h) -- A.10 String- und Speicherbearbeitung (string.h) -- A.11 Datum und Uhrzeit (time.h) -- Anhang B Low-Level Dateizugriffsfunktionen -- B.1 Dateioperationen -- B.2 Ein-/Ausgabe -- B.3 Positionieren in Dateien -- B.4 Beispiel zur Dateibearbeitung mit Low-Level-Funktionen -- Anhang C Sortieren mit dem Quicksort-Verfahren -- Anhang D Sortierverfahren im Vergleich.
In:
Springer eBooks
Additional Edition:
Printed edition: ISBN 9783322927224
Additional Edition:
Printed edition: ISBN 9783519229995
Language:
German
DOI:
10.1007/978-3-322-92721-7
URL:
https://doi.org/10.1007/978-3-322-92721-7
Bookmarklink