
C/C++
Von den Grundlagen zur professionellen Programmierung
Rheinwerk (Publisher)
3rd Edition
Published on 28. January 2005
Book
Hardback
1359 pages
978-3-89842-644-2 (ISBN)
Article exhausted; check for reprint
Description
Dies ist die 3., durchgesehene Neuauflage unseres C/C++-Standardwerkes.
Der erste Teil des Buches führt Sie anfängergerecht in die Grundlagen von C ein: Er bietet zahlreiche Beispielprojekte, Merksätze und Übungen am Ende eines jeden Kapitels. Von da aus geht es weiter zur objektorientierten Programmierung mit C++: Auf der Grundlage der erworbenen Kenntnisse in C wird der Leser zügig an komplexe Beispielprojekte in C++ herangeführt. Das Buch ist konzipiert als umfassender Begleiter: Es dient als Lehr- und Arbeitsbuch, ist Nachschlagewerk in der Praxis und gibt fertige, sofort einsetzbare Lösungen an die Hand. Die beiliegende CD-ROM enthält ein C/C++-Praktikum zum sofortigem Einstieg am Computer. Nach der Lektüre sind Sie Profi: fähig, anspruchsvolle Anwendungen zu planen, zu entwerfen und mit hoher Qualität zu entwickeln.
Der erste Teil des Buches führt Sie anfängergerecht in die Grundlagen von C ein: Er bietet zahlreiche Beispielprojekte, Merksätze und Übungen am Ende eines jeden Kapitels. Von da aus geht es weiter zur objektorientierten Programmierung mit C++: Auf der Grundlage der erworbenen Kenntnisse in C wird der Leser zügig an komplexe Beispielprojekte in C++ herangeführt. Das Buch ist konzipiert als umfassender Begleiter: Es dient als Lehr- und Arbeitsbuch, ist Nachschlagewerk in der Praxis und gibt fertige, sofort einsetzbare Lösungen an die Hand. Die beiliegende CD-ROM enthält ein C/C++-Praktikum zum sofortigem Einstieg am Computer. Nach der Lektüre sind Sie Profi: fähig, anspruchsvolle Anwendungen zu planen, zu entwerfen und mit hoher Qualität zu entwickeln.
More details
Series
Edition
3., Aufl.
Language
German
Place of publication
Bonn
Germany
Edition type
Revised edition
Illustrations
mit 1 CD-ROM
Dimensions
Height: 24 cm
Width: 16.8 cm
Weight
2092 gr
ISBN-13
978-3-89842-644-2 (9783898426442)
Schweitzer Classification
Other editions
New editions

Book
10/2014
5th Edition
Galileo Computing
€39.90
Article exhausted; check different version

Book
09/2008
4th Edition
Rheinwerk
€39.90
Article exhausted; check for reprint
Previous edition

Book
10/2002
2nd Edition
Galileo Computing
€44.90
Article exhausted; check for reprint
Persons
Dr. Ulrich Kaiser ist Professor für Informatik an der Fachhochschule Gelsenkirchen. Als Berater unterstützt er Unternehmen bei der Einführung neuer Technologien und der Durchführung von Softwareprojekten, insbesondere in den Bereichen Datenbanken, grafische Benutzeroberflächen, verteilte Systeme, Projektmanagement und Qualitätssicherung.
Christoph Kecher ist als Software-Ingenieur bei der Internationalen Kapitalanlagegesellschaft mbH tätig. Seine Tätigkeitsbereiche umfassen Data Warehouse-Technologien, Java,.Net, UML und Software-Qualitätssicherung.
Christoph Kecher ist als Software-Ingenieur bei der Internationalen Kapitalanlagegesellschaft mbH tätig. Seine Tätigkeitsbereiche umfassen Data Warehouse-Technologien, Java,.Net, UML und Software-Qualitätssicherung.
Content
1 Einige Grundbegriffe. 19
. 1.1 Algorithmus. 21
. 1.2 Datenstruktur. 25
. 1.3 Programm. 27
. 1.4 Aufgaben. 30
2 Einführung in die Programmierung. 33
. 2.1 Die Programmierumgebung. 38
3 Ausgewählte Sprachelemente von C. 41
. 3.1 Programmrahmen. 41
. 3.2 Zahlen. 42
. 3.3 Variablen. 42
. 3.4 Operationen. 44
. 3.5 Kommentare. 48
. 3.6 Elementare Ein-/Ausgabe. 48
. 3.7 Kontrollfluss. 50
. 3.8 Beispiele. 59
. 3.9 Aufgaben. 67
4 Arithmetik. 71
. 4.1 Folgen. 71
. 4.2 Summen. 78
. 4.3 Produkte. 85
. 4.4 Aufgaben. 87
5 Aussagenlogik. 95
. 5.1 Aussagen. 95
. 5.2 Logische Operatoren. 96
. 5.3 Darstellung boolescher Funktionen. 104
. 5.4 Vereinfachung boolescher Ausdrücke. 108
. 5.5 Logische Operatoren in C. 117
. 5.6 Programmierbeispiele. 118
. 5.7 Aufgaben. 122
6 Elementare Datentypen und ihre Darstellung. 127
. 6.1 Zahlendarstellungen. 127
. 6.2 Bits und Bytes. 134
. 6.3 Skalare Datentypen in C. 138
. 6.4 Bit-Operationen. 145
. 6.5 Programmierbeispiele mit Zeichen, Zahlen und Bit-Operationen. 148
. 6.6 Arrays und Zeichenketten. 153
. 6.7 Programmierbeispiele mit Arrays und Strings. 165
. 6.8 Aufgaben. 171
7 Modularisierung. 179
. 7.1 Funktionen und Unterprogramme. 179
. 7.2 Rekursion. 186
. 7.3 Der Stack. 195
. 7.4 Globale, lokale und statische Variablen. 198
. 7.5 Die C-Runtime-Library. 200
. 7.6 Beispiele. 226
. 7.7 Aufgaben. 241
8 Zeiger und Adressen. 255
. 8.1 Zeigerarithmetik. 259
. 8.2 Arrays und Zeiger. 261
. 8.3 Funktionszeiger. 264
. 8.4 Komplexe Variablendeklarationen. 268
. 8.5 Aufgaben. 270
9 C-Referenz (Teil 1) 273
. 9.1 Reservierte Wörter. 273
. 9.2 Identifier. 273
. 9.3 Numerische Werte. 274
. 9.4 Werte für Zeichen und Zeichenketten. 275
. 9.5 Skalare Datentypen. 276
. 9.6 Variablen. 276
. 9.7 Arrays. 281
. 9.8 Operatoren. 281
. 9.9 Funktionen. 295
. 9.10 Kontrollstrukturen. 297
. 9.11 Der Preprozessor. 305
. 9.12 Der Aufbau von Programmdateien. 311
. 9.13 Einige Coding-Standards. 314
10 Kombinatorik. 317
. 10.1 Kombinatorische Grundaufgaben. 317
. 10.2 Kombinatorische Algorithmen. 326
. 10.3 Beispiele. 337
. 10.4 Aufgaben. 348
11 Grafikprogrammierung. 353
. 11.1 IGEL. 353
. 11.2 Beispiele. 362
. 11.3 Aufgaben. 377
12 Leistungsanalyse und -messung von Algorithmen. 383
. 12.1 Leistungsanalyse. 386
. 12.2 Leistungsmessung. 399
. 12.3 Mathematische Grundfunktionen. 404
. 12.4 Laufzeitklassen. 411
. 12.5 Beispiele. 418
13 Sortierverfahren. 431
. 13.1 Bubblesort. 432
. 13.2 Selectionsort. 434
. 13.3 Insertionsort. 437
. 13.4 Shellsort. 439
. 13.5 Quicksort. 443
. 13.6 Heapsort. 449
. 13.7 Leistungsanalyse. 454
. 13.8 Vergleich und Bewertung. 465
. 13.9 Grenzen der Optimierung von Sortierverfahren. 471
. 13.10 Aufgaben. 476
14 Datenstrukturen. 477
. 14.1 Datensequenz (struct) 478
. 14.2 Datenalternative (union) 487
. 14.3 Optimierung von Datenstrukturen. 494
. 14.4 Zeiger und Datenstrukturen. 499
. 14.5 Dynamische Datenstrukturen. 502
. 14.6 Verkettete Datenstrukturen (Listen) 508
. 14.7 Die Freispeicherverwaltung. 512
. 14.8 Abstrakte Datentypen. 515
. 14.9 Aufgaben. 528
15 C-Referenz (Teil 2) 535
. 15.1 Einfache Strukturen. 535
. 15.2 Zusammengesetzte Strukturen. 538
. 15.3 Zugriff auf Strukturen. 540
. 15.4 Unions. 543
. 15.5 Datenstrukturen und Funktionen. 545
. 15.6 Dynamische Datenstrukturen. 547
. 15.7 Zeiger in Datenstrukturen. 550
. 15.8 Typvereinbarungen. 554
. 15.9 Bitfelder. 555
16 Ausgewählte Datenstrukturen. 559
. 16.1 Aufgabenstellung. 559
. 16.2 Schnittstellenvereinbarung. 561
. 16.3 Anwendungsprogramm. 564
. 16.4 Listen. 569
. 16.5 Bäume. 584
. 16.6 Ausgeglichene Bäume. 613
. 16.7 Hashtabellen. 636
. 16.8 Vergleich und Bewertung. 649
. 16.9 Aufgaben. 655
17 Elemente der Graphentheorie. 657
. 17.1 Grundbegriffe. 659
. 17.2 Darstellung von Graphen durch Datenstrukturen. 666
. 17.3 Ausgewählte graphentheoretische Probleme. 671
18 C++-Referenz (Teil 1) 751
. 18.1 Schlüsselwörter. 751
. 18.2 Operatoren. 751
. 18.3 Kommentare. 754
. 18.4 Datentypen, Datenstrukturen und Variablen. 755
. 18.5 Funktionen und Operatoren. 764
19 Objektorientierte Programmierung. 777
20 Klassen in C++ 793
. 20.1 Aufbau von Klassen. 793
. 20.2 Instantiierung von Klassen. 813
. 20.3 Friends. 820
. 20.4 Operatoren auf Klassen. 825
. 20.5 Ein- und Ausgabe in C++ 829
. 20.6 Der this-Pointer. 837
. 20.7 Beispiele. 838
. 20.8 Aufgaben. 864
21 Vererbung in C++ 871
. 21.1 Geschützte Member. 877
. 21.2 Einfache Vererbung. 880
. 21.3 Mehrfache Vererbung. 881
. 21.4 Instantiierung abgeleiteter Klassen. 881
. 21.5 Erweiterung abgeleiteter Klassen. 884
. 21.6 Überladen von Funktionen der Basisklasse. 886
. 21.7 Virtuelle Member-Funktionen. 891
. 21.8 Rein virtuelle Member-Funktionen. 894
. 21.9 Statische Member. 895
. 21.10 Beispiele. 902
. 21.11 Aufgaben. 951
22 C++-Referenz (Teil 2) 957
. 22.1 Klassen und Instanzen. 957
. 22.2 Member. 958
. 22.3 Zugriff auf Member. 966
. 22.4 Vererbung. 976
. 22.5 Zugriffsschutz und Vererbung. 991
. 22.6 Der Lebenszyklus von Objekten. 999
. 22.7 Pointer to Member. 1021
. 22.8 Generische Klassen (Templates) 1025
. 22.9 Ausnahmefallbehandlung. 1031
. Anhang
A Buch-CD
B Lösungen
. Kapitel 1 1059
. Kapitel 3 1079
. Kapitel 4 1097
. Kapitel 5 1129
. Kapitel 6 1143
. Kapitel 7 1169
. Kapitel 8 1219
. Kapitel 10 1227
. Kapitel 11 1247
. Kapitel 13 1269
. Kapitel 14 1275
. Kapitel 16 1309
. Kapitel 20 1319
. Kapitel 21 1345
. Index. 1349
. 1.1 Algorithmus. 21
. 1.2 Datenstruktur. 25
. 1.3 Programm. 27
. 1.4 Aufgaben. 30
2 Einführung in die Programmierung. 33
. 2.1 Die Programmierumgebung. 38
3 Ausgewählte Sprachelemente von C. 41
. 3.1 Programmrahmen. 41
. 3.2 Zahlen. 42
. 3.3 Variablen. 42
. 3.4 Operationen. 44
. 3.5 Kommentare. 48
. 3.6 Elementare Ein-/Ausgabe. 48
. 3.7 Kontrollfluss. 50
. 3.8 Beispiele. 59
. 3.9 Aufgaben. 67
4 Arithmetik. 71
. 4.1 Folgen. 71
. 4.2 Summen. 78
. 4.3 Produkte. 85
. 4.4 Aufgaben. 87
5 Aussagenlogik. 95
. 5.1 Aussagen. 95
. 5.2 Logische Operatoren. 96
. 5.3 Darstellung boolescher Funktionen. 104
. 5.4 Vereinfachung boolescher Ausdrücke. 108
. 5.5 Logische Operatoren in C. 117
. 5.6 Programmierbeispiele. 118
. 5.7 Aufgaben. 122
6 Elementare Datentypen und ihre Darstellung. 127
. 6.1 Zahlendarstellungen. 127
. 6.2 Bits und Bytes. 134
. 6.3 Skalare Datentypen in C. 138
. 6.4 Bit-Operationen. 145
. 6.5 Programmierbeispiele mit Zeichen, Zahlen und Bit-Operationen. 148
. 6.6 Arrays und Zeichenketten. 153
. 6.7 Programmierbeispiele mit Arrays und Strings. 165
. 6.8 Aufgaben. 171
7 Modularisierung. 179
. 7.1 Funktionen und Unterprogramme. 179
. 7.2 Rekursion. 186
. 7.3 Der Stack. 195
. 7.4 Globale, lokale und statische Variablen. 198
. 7.5 Die C-Runtime-Library. 200
. 7.6 Beispiele. 226
. 7.7 Aufgaben. 241
8 Zeiger und Adressen. 255
. 8.1 Zeigerarithmetik. 259
. 8.2 Arrays und Zeiger. 261
. 8.3 Funktionszeiger. 264
. 8.4 Komplexe Variablendeklarationen. 268
. 8.5 Aufgaben. 270
9 C-Referenz (Teil 1) 273
. 9.1 Reservierte Wörter. 273
. 9.2 Identifier. 273
. 9.3 Numerische Werte. 274
. 9.4 Werte für Zeichen und Zeichenketten. 275
. 9.5 Skalare Datentypen. 276
. 9.6 Variablen. 276
. 9.7 Arrays. 281
. 9.8 Operatoren. 281
. 9.9 Funktionen. 295
. 9.10 Kontrollstrukturen. 297
. 9.11 Der Preprozessor. 305
. 9.12 Der Aufbau von Programmdateien. 311
. 9.13 Einige Coding-Standards. 314
10 Kombinatorik. 317
. 10.1 Kombinatorische Grundaufgaben. 317
. 10.2 Kombinatorische Algorithmen. 326
. 10.3 Beispiele. 337
. 10.4 Aufgaben. 348
11 Grafikprogrammierung. 353
. 11.1 IGEL. 353
. 11.2 Beispiele. 362
. 11.3 Aufgaben. 377
12 Leistungsanalyse und -messung von Algorithmen. 383
. 12.1 Leistungsanalyse. 386
. 12.2 Leistungsmessung. 399
. 12.3 Mathematische Grundfunktionen. 404
. 12.4 Laufzeitklassen. 411
. 12.5 Beispiele. 418
13 Sortierverfahren. 431
. 13.1 Bubblesort. 432
. 13.2 Selectionsort. 434
. 13.3 Insertionsort. 437
. 13.4 Shellsort. 439
. 13.5 Quicksort. 443
. 13.6 Heapsort. 449
. 13.7 Leistungsanalyse. 454
. 13.8 Vergleich und Bewertung. 465
. 13.9 Grenzen der Optimierung von Sortierverfahren. 471
. 13.10 Aufgaben. 476
14 Datenstrukturen. 477
. 14.1 Datensequenz (struct) 478
. 14.2 Datenalternative (union) 487
. 14.3 Optimierung von Datenstrukturen. 494
. 14.4 Zeiger und Datenstrukturen. 499
. 14.5 Dynamische Datenstrukturen. 502
. 14.6 Verkettete Datenstrukturen (Listen) 508
. 14.7 Die Freispeicherverwaltung. 512
. 14.8 Abstrakte Datentypen. 515
. 14.9 Aufgaben. 528
15 C-Referenz (Teil 2) 535
. 15.1 Einfache Strukturen. 535
. 15.2 Zusammengesetzte Strukturen. 538
. 15.3 Zugriff auf Strukturen. 540
. 15.4 Unions. 543
. 15.5 Datenstrukturen und Funktionen. 545
. 15.6 Dynamische Datenstrukturen. 547
. 15.7 Zeiger in Datenstrukturen. 550
. 15.8 Typvereinbarungen. 554
. 15.9 Bitfelder. 555
16 Ausgewählte Datenstrukturen. 559
. 16.1 Aufgabenstellung. 559
. 16.2 Schnittstellenvereinbarung. 561
. 16.3 Anwendungsprogramm. 564
. 16.4 Listen. 569
. 16.5 Bäume. 584
. 16.6 Ausgeglichene Bäume. 613
. 16.7 Hashtabellen. 636
. 16.8 Vergleich und Bewertung. 649
. 16.9 Aufgaben. 655
17 Elemente der Graphentheorie. 657
. 17.1 Grundbegriffe. 659
. 17.2 Darstellung von Graphen durch Datenstrukturen. 666
. 17.3 Ausgewählte graphentheoretische Probleme. 671
18 C++-Referenz (Teil 1) 751
. 18.1 Schlüsselwörter. 751
. 18.2 Operatoren. 751
. 18.3 Kommentare. 754
. 18.4 Datentypen, Datenstrukturen und Variablen. 755
. 18.5 Funktionen und Operatoren. 764
19 Objektorientierte Programmierung. 777
20 Klassen in C++ 793
. 20.1 Aufbau von Klassen. 793
. 20.2 Instantiierung von Klassen. 813
. 20.3 Friends. 820
. 20.4 Operatoren auf Klassen. 825
. 20.5 Ein- und Ausgabe in C++ 829
. 20.6 Der this-Pointer. 837
. 20.7 Beispiele. 838
. 20.8 Aufgaben. 864
21 Vererbung in C++ 871
. 21.1 Geschützte Member. 877
. 21.2 Einfache Vererbung. 880
. 21.3 Mehrfache Vererbung. 881
. 21.4 Instantiierung abgeleiteter Klassen. 881
. 21.5 Erweiterung abgeleiteter Klassen. 884
. 21.6 Überladen von Funktionen der Basisklasse. 886
. 21.7 Virtuelle Member-Funktionen. 891
. 21.8 Rein virtuelle Member-Funktionen. 894
. 21.9 Statische Member. 895
. 21.10 Beispiele. 902
. 21.11 Aufgaben. 951
22 C++-Referenz (Teil 2) 957
. 22.1 Klassen und Instanzen. 957
. 22.2 Member. 958
. 22.3 Zugriff auf Member. 966
. 22.4 Vererbung. 976
. 22.5 Zugriffsschutz und Vererbung. 991
. 22.6 Der Lebenszyklus von Objekten. 999
. 22.7 Pointer to Member. 1021
. 22.8 Generische Klassen (Templates) 1025
. 22.9 Ausnahmefallbehandlung. 1031
. Anhang
A Buch-CD
B Lösungen
. Kapitel 1 1059
. Kapitel 3 1079
. Kapitel 4 1097
. Kapitel 5 1129
. Kapitel 6 1143
. Kapitel 7 1169
. Kapitel 8 1219
. Kapitel 10 1227
. Kapitel 11 1247
. Kapitel 13 1269
. Kapitel 14 1275
. Kapitel 16 1309
. Kapitel 20 1319
. Kapitel 21 1345
. Index. 1349