Neukunde?

Hier starten

Erweiterte Suche
C von A bis Z. Galileo Computing

C von A bis Z. Galileo Computing

Das umfassende Handbuch. Das Lehr- und Nachschlagewerk. Für Einsteiger, Umsteiger und Profis. Zum aktuellen Standard C99. Mit Zugangscode im Buch für Updates

buch
EUR 39,90
auf Merkliste

versandkostenfrei

Sofort lieferbar

bis zu 5fache Punkte

Wird oft zusammen gekauft

EUR 49,90

Zusammen jetzt für
89,80

jetzt beide kaufen

Artikeldetails zu C von A bis Z. Galileo Computing

AutorJürgen Wolf

Untertitel Das umfassende Handbuch. Das Lehr- und Nachschlagewerk. Für Einsteiger, Umsteiger und Profis. Zum aktuellen Standard C99. Mit Zugangscode im Buch für Updates

Abbildungsvermerk 3., aktualis. und erw. Abbildungen, beiliegend: Referenzkte. 24,5 cm

  • ISBN-103-8362-1411-3
  • ISBN-139783836214117
  • Verlag Galileo Press
  • ReiheGalileo Computing
  • Einbandartgebunden
  • Seiten1190
  • Auflage3. aktual. erweiterte Auflage
  • VeröffentlichtSeptember 2009
  • Gewicht1914g
  • SpracheDeutsch

Mehr Artikel von

Weitere Artikel zum Thema

Kurzbeschreibung zu C von A bis Z. Galileo Computing

C vereint widersprüchliche Eigenschaften:
Maschinennähe und Portabilität. C ist in die Jahre gekommen, hat aber an Attraktivität keineswegs verloren.
Dieses Buch bietet Programmiereinsteigern und Studenten technischer Fächer einen umfassenden Einstieg in C. Auch für fortgeschrittene C-Programmierer ist das Buch eine ausgezeichnete Fundgrube. Die Website zum Buch (www.pronix.de) bietet ein Forum und jede Menge zusätzliches Know-how.

Beschreibung der Redaktion zu C von A bis Z. Galileo Computing

Hier bekommen Sie C-Wissen pur. Egal, ob Sie gerade anfangen, C zu lernen oder ein kompetentes Nachschlagewerk für Fragen rund um C benötigen, mit diesem Buch sind Sie bestens beraten. Ausführlich werden die Grundlagen von C dargestellt, angefangen von den elementaren Datentypen bis hin zu Arrays, Zeigern und dynamischer Speicherverwaltung. Auch fortgeschrittene Themen wie das Programmieren von Webanwendungen mit der CGI-Schnittstelle und eigenen Datenbank-Clients mit der C-API von MySQL, Netzwerk- und Cross-Plattform-Entwicklung kommen nicht zu kurz. Die Website zum Buch (www.pronix.de) bietet ein Forum und jede Menge zusätzliches Know-how.

Inhaltsverzeichnis zu C von A bis Z. Galileo Computing

Vorwort 23
Vorwort zur 3. Auflage 24


Vorwort des Gutachters 25
Bin ich hier richtig? 25


1 Einstieg in C 27
1.1 Übersicht zu C 27
1.2 Der ANSI-C-Standard 28
1.3 Der POSIX-Standard 31
1.4 Vor- und Nachteile der Programmiersprache C 32
1.5 C in diesem Buch 33
1.6 Was benötige ich für C? 33
1.7 Welcher Compiler und welches Betriebssystem? 35


2 Das erste Programm 37
2.1 Der beste Lernerfolg 37
2.2 »Hallo Welt« in C 37
2.3 Analyse des Programms 39


3 Grundlagen 43
3.1 Zeichensätze 43
3.2 Symbole von C 48


4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()« 55
4.1 Formatierte Eingabe mit »scanf()« 55
4.2 Formatierte Ausgabe mit »printf()« 63


5 Basisdatentypen 67
5.1 Deklaration und Definition 67
5.2 Der Datentyp »int« (Integer) 69
5.3 Variablen verwenden 70
5.4 Der Datentyp »long« 73
5.5 Der Datentyp »long long« 74
5.6 Der Datentyp »short« 74
5.7 Ganzzahlige Typen mit vorgegebener Breite -- 75
5.8 Die Gleitpunkttypen »float« und »double« 78
5.9 Numerische Gleitpunktprobleme 83
5.10 Komplexe Gleitpunkttypen -- 86
5.11 Der Datentyp »char« 87
5.12 Nationale contra internationale Zeichensätze 92
5.13 Der Breitzeichen-Typ »wchar_t« 94
5.14 Multibyte-Zeichen 95
5.15 Boolescher Wert -- 96
5.16 Vorzeichenlos und vorzeichenbehaftet 97
5.17 Limits für Ganzzahl- und Gleitpunktdatentypen 99
5.18 Der Typ »void« 102
5.19 Konstanten 103
5.20 Umwandlungsvorgaben für formatierte Ein-/Ausgabe 104


6 Operatoren 113
6.1 Exkurs zu Operatoren 113
6.2 Arithmetische Operatoren 114
6.3 Erweiterte Darstellung arithmetischer Operatoren 117
6.4 Inkrement- und Dekrement-Operatoren 118
6.5 Bit-Operatoren 119
6.6 Makros für logische Operatoren und Bit-Operatoren -- 126
6.7 Der »sizeof«-Operator 127


7 Typumwandlung 131
7.1 Implizite Datentypumwandlung 131
7.2 Explizite Datentypumwandlung mit dem »cast«Operator 135


8 Kontrollstrukturen 137
8.1 Verzweigungen mit der »if«-Bedingung 137
8.2 Die Verzweigung mit »else if« 141
8.3 Die Verzweigung mit »else« 143
8.4 Der !-Operator (logischer Operator) 147
8.5 Logisches UND -- logisches ODER 149
8.6 Der Bedingungsoperator »?:« 151
8.7 Fallunterscheidung: die »switch«-Verzweigung 153
8.8 Die »while«-Schleife 157
8.9 Die »do while«-Schleife 161
8.10 Die »for«-Schleife 165
8.11 Kontrollierte Sprünge 172
8.12 Direkte Sprünge mit »goto« 174
8.13 Notationsstil 175


9 Funktionen 177
9.1 Was sind Funktionen? 177
9.2 Wozu dienen Funktionen? 177
9.3 Definition von Funktionen 177
9.4 Funktionsaufruf 178
9.5 Funktionsdeklaration 180
9.6 Lokale Variablen 181
9.7 Globale Variablen 184
9.8 Statische Variablen 185
9.9 Schlüsselwörter für Variablen -- Speicherklassen 186
9.10 Typ-Qualifizierer 188
9.11 Geltungsbereich von Variablen 188
9.12 Speicherklassen-Spezifizierer für Funktionen 190
9.13 Datenaustausch zwischen Funktionen 191
9.14 Wertübergabe an Funktionen (call-by-value) 192
9.15 Der Rückgabewert von Funktionen 195
9.16 Die Hauptfunktion »main()« 197
9.17 Rückgabewert beim Beenden eines Programms 199
9.18 Funktionen der Laufzeitbibliothek 202
9.19 Getrenntes Kompilieren von Quelldateien 203
9.20 Rekursive Funktionen (Rekursion) 206
9.21 »inline«-Funktionen 217


10 Präprozessor-Direktiven 221
10.1 Einkopieren von Dateien mittels »#include« 222
10.2 Makros und Konstanten -- »#define« 224
10.3 Bedingte Kompilierung 233
10.4 Vordefinierte Präprozessor-Direktiven (ANSI C) 238
10.5 Ersetzung eines Makroparameters durch einen String 240
10.6 »#undef« -- Makronamen wieder aufheben 241
10.7 Ausgeben von Fehlermeldungen -- »#error« 242
10.8 »#pragma« 243


11 Arrays 245
11.1 Arrays deklarieren 245
11.2 Initialisierung und Zugriff auf Arrays 246
11.3 Arrays vergleichen 253
11.4 Anzahl der Elemente eines Arrays ermitteln 255
11.5 Übergabe von Arrays an Funktionen 256
11.6 Arrays aus Funktionen zurückgeben 258
11.7 Programmbeispiel zu den Arrays 259
11.8 Einlesen von Array-Werten 263
11.9 Mehrdimensionale Arrays 263
11.10 Arrays in Tabellenkalkulation einlesen (*.CSVDateien) 278
11.11 Strings/Zeichenketten (»char«-Array) 280
11.12 Einlesen von Strings 286
11.13 Die Standard-Bibliothek 288


12 Zeiger (Pointer) 299
12.1 Zeiger deklarieren 300
12.2 Zeiger initialisieren 301
12.3 Zeigerarithmetik 313
12.4 Zeiger, die auf andere Zeiger verweisen 314
12.5 Typensicherung bei der Dereferenzierung 316
12.6 Zeiger als Funktionsparameter (callbyreference) 317
12.7 Array und Zeiger 323
12.8 Zeiger auf Strings 330
12.9 Zeiger auf Zeiger und Stringtabellen 331
12.10 Zeiger auf Funktionen 340
12.11 void-Zeiger 346
12.12 Äquivalenz zwischen Zeigern und Arrays 349
12.13 Der »restrict«-Zeiger 351


13 Kommandozeilenargumente 355
13.1 Argumente an die Hauptfunktion übergeben 355
13.2 Optionen (Schalter) aus der Kommandozeile auswerten 361


14 Dynamische Speicherverwaltung 365
14.1 Das Speicherkonzept 366
14.2 Speicherallokation mit »malloc()« 367
14.3 Das NULL-Mysterium 370
14.4 Speicherreservierung und ihre Probleme 373
14.5 »free()« -- Speicher wieder freigeben 374
14.6 Die Freispeicherverwaltung 377
14.7 Dynamische Arrays 381
14.8 Speicher dynamisch reservieren mit »realloc()« und »calloc()« 385
14.9 Speicher vom Stack anfordern mit »alloca()« (nicht ANSI C) 389
14.10 »free()« -- Speicher wieder freigeben 389
14.11 Zweidimensionale dynamische Arrays 390
14.12 Wenn die Speicherallokation fehlschlägt 393


15 Strukturen 399
15.1 Struktur deklarieren 399
15.2 Initialisierung und Zugriff auf Strukturen 401
15.3 Strukturen als Wertübergabe an eine Funktion 408
15.4 Strukturen als Rückgabewert einer Funktion 410
15.5 Strukturen vergleichen 412
15.6 Arrays von Strukturen 413
15.7 Strukturen in Strukturen (Nested Structures) 420
15.8 Kurze Zusammenfassung zu den Strukturen 430
15.9 Unions 431
15.10 Der Aufzählungstyp »enum« 436
15.11 Typendefinition mit »typedef« 439
15.12 Attribute von Strukturen verändern (nicht ANSI C) 443
15.13 Bitfelder 446
15.14 Das »offsetof«-Makro 453


16 Ein-/Ausgabe-Funktionen 455
16.1 Was ist eine Datei? 455
16.2 Formatierte und unformatierte Ein-/Ausgabe 455
16.3 Standard-Streams 456
16.4 Höhere Ein-/Ausgabe-Funktionen 456
16.5 Datei (Stream) öffnen -- »fopen« 457
16.6 Zeichenweise lesen und schreiben -- »getchar()« und »putchar()« 464
16.7 Zeichenweise lesen und schreiben -- »putc()«/»fputc()« und »getc()«/»fgetc()« 468
16.8 Datei (Stream) schließen -- »fclose()« 474
16.9 Formatiertes Einlesen/Ausgeben von Streams mit »fprintf()« und »fscanf()« 477
16.10 Standard-Streams in C 482
16.11 Fehlerbehandlung von Streams -- »feof()«, »ferror()« und »clearerr()« 485
16.12 Gelesenes Zeichen in die Eingabe zurückschieben -- »ungetc()« 487
16.13 (Tastatur-)Puffer leeren -- »fflush()« 489
16.14 Stream positionieren -- »fseek()«, »rewind()« und »ftell()« 490
16.15 Stream positionieren -- »fsetpos()«, »fgetpos()« 494
16.16 Zeilenweise Ein-/Ausgabe von Streams 496
16.17 Blockweise lesen und schreiben -- »fread()« und »fwrite()« 509
16.18 Datei (Stream) erneut öffnen -- »freopen()« 519
16.19 Datei löschen oder umbenennen -- »remove()« und »rename()« 521
16.20 Pufferung einstellen -- »setbuf()« und »setvbuf()« 523
16.21 Temporäre Dateien erzeugen -- »tmpfile()« und »tmpnam()« 530
16.22 Fehlerbehandlung 535
16.23 Formatiert in einen String schreiben und formatiert aus einem String lesen -- »sscanf()« und »sprintf()« 539
16.24 Byte- und wide-orientierter Stream 542
16.25 Ein fortgeschrittenes Thema 544
16.26 Low-Level-Datei-I/O-Funktionen (nicht ANSI C) 552


17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C) 577
17.1 Attribute einer Datei ermitteln -- »stat()« 577
17.2 Prüfen des Zugriffsrechts -- »access()« 593
17.3 Verzeichnisfunktionen 595


18 Arbeiten mit variabel langen Argumentlisten -- 609
18.1 Makros in -- »va_list«, »va_arg«, »va_start« und »va_end« 609
18.2 Die Argumentliste am Anfang oder Ende kennzeichnen 610
18.3 »vprintf()«, »vsprintf()«, »vfsprintf()« und »vsnsprintf()« 615
18.4 Variadic Makros -- __VA_ARGS__ 619


19 Zeitroutinen 623
19.1 Die Headerdatei 623
19.2 Laufzeitmessung (Profiling) 634


20 Weitere Headerdateien und ihre Funktionen (ANSI C) 637
20.1 -- Testmöglichkeiten und Fehlersuche 637
20.2 -- Zeichenklassifizierung und Umwandlung 639
20.3 Mathematische Funktionen -- , und 643
20.4 655
20.5 -- länderspezifische Eigenheiten 673
20.6 Nicht-lokale Sprünge -- 676
20.7 680
20.8 -- die »mem «-Funktionen zur Speichermanipulation 685


21 Dynamische Datenstrukturen 691
21.1 Lineare Listen (einfach verkettete Listen) 691
21.2 Doppelt verkettete Listen 717
21.3 Stacks nach dem LIFO-(Last-in-First-out-)Prinzip 734
21.4 Queues nach dem FIFO-Prinzip 754
21.5 Dynamisches Array mit flexiblen Elementen 762


22 Algorithmen 765
22.1 Was sind Algorithmen? 765
22.2 Wie setze ich Algorithmen ein? 766
22.3 Sortieralgorithmen 766
22.4 Suchalgorithmen -- Grundlage zur Suche 791
22.5 Hashing (Zerhacken) 819
22.6 String-Matching 830
22.7 Pattern Matching (reguläre Ausdrücke) 841
22.8 Backtracking 847


23 CGI mit C 869
23.1 Was ist CGI? 869
23.2 Vorteile von CGIs in C 869
23.3 Andere Techniken der Webprogrammierung 870
23.4 Das dreistufige Webanwendungsdesign 871
23.5 Clientseitige Programmierung 873
23.6 Serverseitige Programmierung 873
23.7 Der Webserver 874
23.8 Das HTTP-Protokoll 888
23.9 Das Common Gateway Interface (CGI) 898
23.10 HTML-Formulare 907
23.11 CGI-Eingabe 913
23.12 Ein Gästebuch 922
23.13 Ausblick 933


24 MySQL und C 935
24.1 Aufbau eines Datenbanksystems 935
24.2 MySQL installieren 940
24.3 Crashkurs (My)SQL 943
24.4 Die MySQL-C-API 957
24.5 MySQL und C mit CGI 987
24.6 Funktionsübersicht 1004
24.7 Datentypenübersicht der C-API 1007


25 Netzwerkprogrammierung und CrossPlattform-Entwicklung 1009
25.1 Begriffe zur Netzwerktechnik 1010
25.2 Headerdateien zur Socketprogrammierung 1015
25.3 Client/Server-Prinzip 1018
25.4 Erstellen einer Client-Anwendung 1019
25.5 Erstellen einer Server-Anwendung 1030
25.6 (Cross-Plattform-)TCP-Echo-Server 1036
25.7 Cross-Plattform-Development 1043
25.8 Weitere Anmerkungen zur Netzwerkprogrammierung 1066


26 Paralleles Rechnen 1071
26.1 Parallelität 1071
26.2 Programmiertechniken der Parallelisierung 1073
26.3 Vom Prozess zum Thread 1075
26.4 Mit den POSIX-Threads programmieren 1078


27 Sicheres Programmieren 1087
27.1 Buffer-Overflow (Speicherüberlauf) 1088
27.2 Memory Leaks (Speicherlecks) 1105
27.3 Tipps zu Sicherheitsproblemen 1110


28 Wie geht's jetzt weiter? 1113
28.1 GUI-Programmierung -- grafische Oberflächen 1114


A Operatoren 1119
A.1 Rangfolge der Operatoren 1119
A.2 ASCII-Code-Tabelle 1121
A.3 Reservierte Schlüsselwörter in C 1122
A.4 Standard-Headerdateien der ANSI-C-Bibliothek 1122
A.5 Weiterführende Links 1122


B Die C-Standard-Bibliothek 1123
B.1 1123
B.2 (C99) 1123
B.3 1127
B.4 1128
B.5 (C99) 1129
B.6 1131
B.7 (C99) 1133
B.8 (NA1) 1135
B.9 1135
B.10 1136
B.11 1139
B.12 1145
B.13 1146
B.14 1147
B.15 (C99) 1148
B.16 1148
B.17 (C99) 1149
B.18 1150
B.19 1156
B.20 1160
B.21 (C99) 1162
B.22 1163
B.23 (NA1) 1165
B.24 (NA1) 1172


Index 1175

Bewertung unserer Kunden zu C von A bis Z. Galileo Computing

Wie ist Ihre Meinung zu „C von A bis Z. Galileo Computing”?

Geben Sie die erste Bewertung ab. Jetzt rezensieren und 2 Euro kassieren.

Zuletzt angesehene Artikel

Häufig gestellte Fragen

  • Wie viele PAYBACK Punkte kann ich für ein Produkt sammeln?

    Für jeden vollen Euro Warenwert erhalten Sie 1 PAYBACK Punkt.
  • Wo sehe ich, wie viel PAYBACK Punkte ich für ein Produkt sammeln kann?

    Die für ein Produkt zu sammelnden Punkte finden Sie unter dem Warenwert auf der Artikeldetailseite, ebenso im Warenkorb und in der Bestellübersicht.
  • Wie viele Miles & More Prämienmeilen kann ich für dieses Produkt sammeln?

    Die für dieses Produkt zu sammelnden Meilen finden Sie unter dem Warenwert. Bitte beachten Sie, dass die Meilengutschrift erst 30 Tage nach vollständigem Abschluss der Bestellung erfolgt.
  • Wie kann ich bei bol.de bezahlen?

    Wählen Sie im Bestellprozess oder unter "Mein Konto" im Punkt "Zahlungsart" Ihre gewünschte Zahlungsweise aus. Näheres erfahren Sie in unserer Hilfe.

BonusprogrammHilfe

Payback

78 Punkte sammeln

Miles & More

39 Meilen sammeln

13167 Meilen einlösen