lehrerbibliothek.deDatenschutzerklärung
Programmieren in C Mit dem C- Reference Manual in deutscher Sprache
Programmieren in C
Mit dem C- Reference Manual in deutscher Sprache




Brian W. Kernighan, Dennis M. Ritchie

Carl Hanser Verlag
EAN: 9783446154971 (ISBN: 3-446-15497-3)
299 Seiten, paperback, 17 x 24cm, 1990, zweite Ausgabe ANSI C

EUR 32,90
alle Angaben ohne Gewähr

Umschlagtext
"Programmieren in C" ist die authentische Übersetzung des außerordentlich erfolgreichen Standardwerkes. Der vorliegenden 2. Ausgabe ist der neue ANSI-Standard zugrunde gelegt. Die Autoren Kernighan und Ritchie haben die Programmiersprache "C" erfunden und entwickelt.



Dieses Buch führt leicht verständlich in die Anwendung der Programmiersprache C ein. Zahlreiche Beispiele, die meist vollständige Programme darstellen, und praktische Übungsaufgaben fördern das Verständnis und die unmittelbare Anwendung von C.
Inhaltsverzeichnis
Vorwort v

Vorwort zur Ersten Ausgabe vii

Vorwort zur deutschen Ausgabe ix

Einführung 1

1 Eine Übersicht in Beispielen 5

1.1 Erste Schritte 5
1.2 Variablen und Arithmetik 8
1.3 Die for- Anweisung 13
1.4 Symbolische Konstanten 14
1.5 Zeicheneingabe und Ausgabe 15
1.5.1 Dateien kopieren 15
1.5.2 Zeichen zählen 17
1.5.3 Zeilen zählen 19
1.5.4 Wörterzählen 20
1.6 Vektoren 21
1.7 Funktionen 23
1.8 Argumente - Wertübergabe 26
1.9 Zeichenvektoren 27
1.10 Externe Variablen und Gültigkeitsbereich 30

2 Datentypen, Operatoren und Ausdrücke 35
2.1 Variablennamen 35
2.2 Datentypen und Speicherbedarf 36
2.3 Konstanten 37
2.4 Vereinbarungen 39
2.5 Arithmetische Operatoren 40
2.6 Vergleiche und logische Verknüpfungen 41
2.7 Typumwandlungen 42
2.8 Inkrement- und Dekrement-Operatoren 46
2.9 Bit-Manipulationen 47
2.10 Zuweisungen und Ausdrücke 49
2.11 Bedingter Ausdruck 50
2.12 Vorrang und Reihenfolge bei Bewertungen 51

3 Kontrollstrukturen 55
3.1 Anweisungen und Blöcke 55
3.2 if-else 55
3.3 else-if 56
3.4 switch 58
3.5 Schleifen - while und for 59
3.6 Schleifen - do-while 62
3.7 break und continue 63
3.8 goto und Marken 64

4 Funktionen und Programmstruktur 67
4.1 Grundbegriffe 67
4.2 Funktionen ohne ganzzahliges Resultat 70
4.3 Externe Variablen 72
4.4 Regehi zum Gültigkeitsbereich 78
4.5 Definitionsdateien 80
4.6 statte 81
4.7 register 81
4.8 Blockstruktur 82
4.9 Initialisierung 83
4.10 Rekursion 84
4.11 Der C-Preprozessor 86
4.11.1 Definitionsdateien einfügen 86
4.11.2 Textersatz 87
4.11.3 Bedingte Übersetzung 88

5 Zeiger und Vektoren 91
5.1 Zeiger und Adressen 91
5.2 Zeiger und Funktionsargumente 93
5.3 Zeiger und Vektoren 95
5.4 Adreß-Arithmetik 97
5.5 char-Zeiger und Funktionen 101
5.6 Vektoren von Zeigern; Zeiger auf Zeiger 104
5.7 Mehrdimensionale Vektoren 107
5.8 Initialisierung von Zeigervektoren 109
5.9 Zeiger kontra mehrdimensionale Vektoren 109
5.10 Argumente aus der Kommandozeile 110
5.11 Zeiger auf Funktionen 114
5.12 Komplizierte Vereinbarungen 117

6 Strukturen 123
6.1 Die Grundbegriffe 123
6.2 Strukturen und Funktionen 125
6.3 Vektoren von Strukturen 127
6.4 Zeiger auf Strukturen 131
6.5 Rekursive Strukturen 133
6.6 Suchen in Tabellen 138
6.7 typedef 140
6.8 Unionen 141
6.9 Bit-Felder 143

7 Eingabe und Ausgabe 145
7.1 Standard-Eingabe und Standard-Ausgabe 145
7.2 Formatierte Ausgabe - printf 147
7.3 Variable Argumentlisten 149
7.4 Formatierte Eingabe - scanf 150
7.5 Dateizugriff 153
7.6 Fehlerbehandlung - stderr und exit 156
7.7 Zeilen-Eingabe und -Ausgabe 158
7.8 Weitere Funktionen 159
7.8.1 Operationen mit Zeichenketten 159
7.8.2 Tests für Zeichenklassen und Umwandlung 160
7.8.3 ungetc 160
7.8.4 Kommandoausführung 160
7.8.5 Speicherverwaltung 160
7.8.6 Mathematische Funktionen 161
7.8.7 Zufallszahlengenerator 161

8 Die Schnittstelle zum UNIX-Betriebssystem 163
8.1 File-Deskriptoren 163
8.2 Elementare Ein- und Ausgabe - read und write 164
8.3 open, creat, dose, unlink 165
8.4 Random-Zugriff - Iseek 168
8.5 Beispiel: Eine Implementierung von fopen und getc 168
8.6 Beispiel: Kataloge ausgeben 172
8.7 Beispiel: Funktionen zur Speicherverwaltung 177

A C-Sprachbeschreibung 183
A.1 Einführung 183
A.2 Lexikalische Konventionen 183
A.2.1 Eingabesymbole 183
A.2.2 Kommentare 183
A.2.3 Namen 184
A.2.4 Reservierte Worte 184
A.2.5 Konstanten 184
A.2.6 Konstante Zeichenketten 186
A.3 Syntax-Schreibweise 187
A.4 Die Bedeutung von Namen 187
A.4.1 Speicherklasse 187
A.4.2 Elementare Datentypen 188
A.4.3 Abgeleitete Typen 189
A.4.4 Attribute für Typen 189
A.5 Objekte und L-Werte 189
A.6 Typumwandlungen 189
A.6.1 Integer-Erweiterung 189
A.6.2 Integer-Umwandlung 190
A.6.3 Integer- und Gleitpunktwerte 190
A.6.4 Gleitpunkttypen 190
A.6.5 Arithmetische Umwandlungen 190
A.6.6 Zeiger und Integer-Werte 191
A.6.7 void 192
A.6.8 Zeiger auf void 192
A.7 Ausdrücke 193
A.7.1 Erzeugung von Zeigerwerten 193
A.7.2 Primärausdrücke 194
A.7.3 Postfix-Ausdrücke 194
A.7.4 Unäre Operatoren 197
A.7.5 Typumwandlungen 198
A.7.6 Multiplikative Operatoren 199
A.7.7 Additive Operatoren 199
A.7.8 STi/A-Operatoren 200
A.7.9 yergleiche 200
A.7.10 Äquivalenzvergleiche 201
A.7.11 UND-Verknüpfung von Bits 201
A.7.12 Exklusive ODER-Verknüpfung von Bits 201
A.7.13 ODER-Verknüpfung von Bits 201
A.7.14 Logische UND-Verknüpfung 202
A.7.15 Logische ODER-Verknüpfung 202
A.7.16 Bedingter Ausdruck 202
A.7.17 Zuweisungen 203
A.7.18 Komma als Operator 203
A.7.19 Konstante Ausdrücke 204
A.8 Vereinbarungen 204
A.8.1 Speicherklassen 205
A.8.2 Typangaben 206
A.8.3 Strukturen und Unionen 207
A.8.4 Aufzählungen 210
A.8.5 Deklaratoren 211
A.8.6 Die Bedeutung von Deklaratoren 211
A.8.7 Initialisierung 215
A.8.8 Typnamen 217
A.8.9 typedef 217
A.8.10 Äquivalenz von Typen 218
A.9 Anweisungen 218
A.9.1 Marken an Anweisungen 219
A.9.2 Ausdruck als Anweisung 219
A.9.3 Block 219
A.9.4 Auswahlanweisungen 220
A.9.5 Wiederholungsanweisungen 220
A.9.6 Sprunganweisungen 221
A.10 Externe Vereinbarungen 222
A.10.1 Funktionsdefinitionen 222
A.10.2 Externe Vereinbarungen 224
A.ll Gültigkeitsbereich und Bindung 225
A.11.1 Gültigkeitsbereich im Text 225
A.11.2 Bindung 226
A.12 Der Preprozessor 226
A.12.1 Drei-Zeichen-Folgen 227
A.12.2 Verbinden von Zeilen 227
A.12.3 Makrodefinition und Expansion 227
A.12.4 Einfügen von Dateien 229
A.12.5 Bedingte Übersetzung 230
A.12.6 Zeilenkontrolle 231
A.12.7 Fehlermeldungen 231
A.12.8 pragma 231
A.12.9 Leere Anweisung 231
A.12.10 Vordefinierte Namen 232
A.13 Grammatik 232

B Die Standard-Bibliothek 239
B.l Ein-und Ausgabe: 239
B.l.l Dateioperationen 240
B.1.2 Formatierte Ausgabe 241
B.1.3 Formatierte Eingabe 243
B.1.4 Ein-und Ausgabe von Zeichen 244
B.1.5 Direkte Ein-und Ausgabe 246
B.1.6 Positionieren in Dateien 246
B.1.7 Fehlerbehandlung 247
B.2 Tests für Zeichenklassen: 247
B.3 Funktionen für Zeichenketten: 248
B.4 Mathematische Funktionen: 249
B.5 Hilfsfunktionen: 251
B.6 Fehlersuche: 253
B.7 Variable Argumentlisten: 253
B.8 Globale Sprünge: 254
B.9 Signale: 254
B.10 Funktionen für Datum und Uhrzeit: 255
B.ll Grenzwerte einer Implementierung: und . . . 257

C Änderungen in Kürze 259

Sachverzeichnis 263