C/C++
Galileo Press (Verlag)
978-3-8362-2757-5 (ISBN)
- Titel ist leider vergriffen, Neuauflage unbestimmt
- Artikel merken
- Von den Grundlagen zur professionellen Programmierung
- Von einfachen Beispielen zu anspruchsvollen Algorithmen
- Das Standardwerk für Studium und Beruf
Dieses Buch ist ein klassisches Lehrwerk für Studenten der Informatik. Es vermittelt ausführlich die Grundlagen der Programmiersprachen C und C++ und die Grundlagen der Programmierung überhaupt. Dabei orientiert es sich an den Standards C++11 und C++14 und vermittelt moderne Konzepte der Programmierung anhand aktueller Sprachmittel. Konsequente Praxisnähe und ein gutes theoretisches Fundament - diese Beiden zeichnen dieses Lehrbuch in bester Weise aus.
Dies ist die 5., umfassend überarbeitete Neuauflage des 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 jedes Kapitels.
Von dort 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. Nach der Lektüre sind Sie Profi: fähig, anspruchsvolle Anwendungen zu planen, zu entwerfen und in hoher Qualität zu entwickeln.
Grundlagen der Programmierung
Das Buch vermittelt ausführlich die Grundlagen der Programmiersprachen C und C++ und die Grundlagen der Programmierung überhaupt. Dabei orientiert es sich an den Standards C++11 und C++14 und zeigt moderne Konzepte der Programmierung anhand aktueller Sprachmittel.
Theorie und Praxis ...
gehen hier Hand in Hand. Als Lehrwerk hat das Buch den Anspruch, ein gutes theoretisches Fundament zu legen. Sie probieren nicht nur aus; sie verstehen. Die Beispiele dienen ebenfalls dem Verständnis und sind darüber hinaus an der aktuellen Praxis orientiert.
C/C++ und mehr
Auch Aussagenlogik, Listen, Bäume, Hashtabellen, Graphentheorie und objektorientierte Programmierung bleiben für Sie keine Fremdworte. Eine Bibel der C- und C++-Entwicklung, gleichzeitig ein wunderbares Nachschlagewerk zu den Grundlagen der Informatik.
Themen sind insbesondere:
- Grundbegriffe
- Einführung in die Programmierung
- Ausgewählte Sprachelemente von C
- Arithmetik
- Elementare Datentypen
- Modularisierung
- Zeiger und Adressen
- Die C-Runtime-Library
- Das objektorientierte Paradigma
- Klassen in C++
- Vererbung
- C++-Sprachmittel und Bibliothek u.v.m.
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.
Prof. Dr. Martin Guddat lehrt an der Westfälischen Hochschule in Gelsenkirchen und Bocholt. Er hat langjährige Erfahrung in der Erstellung technischer Software, z.B. für Mobiltelefone und Fingerabdrucksensoren, zudem als IT-Projektleiter und als Berater im Bereich der Systemintegration großer Softwareprojekte.
Vorwort ... 19
1. Einige Grundbegriffe ... 21
1.1 ... Algorithmus ... 24
1.2 ... Datenstruktur ... 28
1.3 ... Programm ... 30
1.4 ... Programmiersprachen ... 31
1.5 ... Aufgaben ... 33
2. Einführung in die Programmierung ... 35
2.1 ... Softwareentwicklung ... 35
2.2 ... Die Programmierumgebung ... 40
3. Ausgewählte Sprachelemente von C ... 45
3.1 ... Programmrahmen ... 45
3.2 ... Zahlen ... 46
3.3 ... Variablen ... 46
3.4 ... Operatoren ... 48
3.5 ... Kontrollfluss ... 56
3.6 ... Elementare Ein- und Ausgabe ... 67
3.7 ... Beispiele ... 73
3.8 ... Aufgaben ... 81
4. Arithmetik ... 83
4.1 ... Folgen ... 85
4.2 ... Summen und Produkte ... 96
4.3 ... Aufgaben ... 100
5. Aussagenlogik ... 107
5.1 ... Aussagen ... 108
5.2 ... Aussagenlogische Operatoren ... 108
5.3 ... Boolesche Funktionen ... 116
5.4 ... Logische Operatoren in C ... 119
5.5 ... Beispiele ... 120
5.6 ... Aufgaben ... 126
6. Elementare Datentypen und ihre Darstellung ... 129
6.1 ... Zahlendarstellungen ... 130
6.2 ... Bits und Bytes ... 137
6.3 ... Skalare Datentypen in C ... 139
6.4 ... Bitoperationen ... 146
6.5 ... Programmierbeispiele ... 150
6.6 ... Zeichen ... 156
6.7 ... Arrays ... 159
6.8 ... Zeichenketten ... 164
6.9 ... Programmierbeispiele ... 173
6.10 ... Aufgaben ... 178
7. Modularisierung ... 181
7.1 ... Funktionen ... 181
7.2 ... Arrays als Funktionsparameter ... 186
7.3 ... Lokale und globale Variablen ... 190
7.4 ... Rekursion ... 192
7.5 ... Der Stack ... 198
7.6 ... Beispiele ... 200
7.7 ... Aufgaben ... 218
8. Zeiger und Adressen ... 223
8.1 ... Zeigerarithmetik ... 230
8.2 ... Zeiger und Arrays ... 232
8.3 ... Funktionszeiger ... 235
8.4 ... Aufgaben ... 239
9. Programmgrobstruktur ... 241
9.1 ... Der Präprozessor ... 241
9.2 ... Ein kleines Projekt ... 249
10. Die Standard C Library ... 253
10.1 ... Mathematische Funktionen ... 254
10.2 ... Zeichenklassifizierung und -konvertierung ... 256
10.3 ... Stringoperationen ... 257
10.4 ... Ein- und Ausgabe ... 260
10.5 ... Variable Anzahl von Argumenten ... 263
10.6 ... Freispeicherverwaltung ... 265
10.7 ... Aufgaben ... 271
11. Kombinatorik ... 273
11.1 ... Kombinatorische Grundaufgaben ... 274
11.2 ... Permutationen mit Wiederholungen ... 274
11.3 ... Permutationen ohne Wiederholungen ... 275
11.4 ... Kombinatorische Algorithmen ... 283
11.5 ... Beispiele ... 293
12. Leistungsanalyse und Leistungsmessung ... 305
12.1 ... Leistungsanalyse ... 308
12.2 ... Leistungsmessung ... 320
12.3 ... Laufzeitklassen ... 324
13. Sortieren ... 347
13.1 ... Sortierverfahren ... 347
13.2 ... Leistungsanalyse der Sortierverfahren ... 376
13.3 ... Leistungsmessung der Sortierverfahren ... 383
13.4 ... Grenzen der Optimierung von Sortierverfahren ... 388
14. Datenstrukturen ... 393
14.1 ... Strukturdeklarationen ... 395
14.2 ... Zugriff auf Strukturen ... 400
14.3 ... Datenstrukturen und Funktionen ... 405
14.4 ... Ein vollständiges Beispiel (Teil 1) ... 409
14.5 ... Dynamische Datenstrukturen ... 415
14.6 ... Ein vollständiges Beispiel (Teil 2) ... 421
14.7 ... Die Freispeicherverwaltung ... 432
14.8 ... Aufgaben ... 435
15. Ausgewählte Datenstrukturen ... 437
15.1 ... Listen ... 439
15.2 ... Bäume ... 448
15.3 ... Treaps ... 470
15.4 ... Hash-Tabellen ... 482
16. Abstrakte Datentypen ... 493
16.1 ... Der Stack als abstrakter Datentyp ... 495
16.2 ... Die Queue als abstrakter Datentyp ... 500
17. Elemente der Graphentheorie ... 507
17.1 ... Graphentheoretische Grundbegriffe ... 510
17.2 ... Die Adjazenzmatrix ... 511
17.3 ... Beispielgraph (Autobahnnetz) ... 512
17.4 ... Traversierung von Graphen ... 514
17.5 ... Wege in Graphen ... 516
17.6 ... Der Algorithmus von Warshall ... 518
17.7 ... Kantentabellen ... 522
17.8 ... Zusammenhang und Zusammenhangskomponenten ... 523
17.9 ... Gewichtete Graphen ... 530
17.10 ... Kürzeste Wege ... 532
17.11 ... Der Algorithmus von Floyd ... 533
17.12 ... Der Algorithmus von Dijkstra ... 539
17.13 ... Erzeugung von Kantentabellen ... 546
17.14 ... Der Algorithmus von Ford ... 548
17.15 ... Minimale Spannbäume ... 551
17.16 ... Der Algorithmus von Kruskal ... 552
17.17 ... Hamiltonsche Wege ... 557
17.18 ... Das Travelling-Salesman-Problem ... 562
18. Zusammenfassung und Ergänzung ... 575
19. Einführung in C++ ... 677
19.1 ... Schlüsselwörter ... 677
19.2 ... Kommentare ... 678
19.3 ... Datentypen, Datenstrukturen und Variablen ... 679
19.4 ... Funktionen ... 690
19.5 ... Operatoren ... 701
19.6 ... Auflösung von Namenskonflikten ... 711
20. Objektorientierte Programmierung ... 717
20.1 ... Ziele der Objektorientierung ... 717
20.2 ... Objektorientiertes Design ... 719
20.3 ... Klassen in C++ ... 725
20.4 ... Aufbau von Klassen ... 725
20.5 ... Instanziierung von Klassen ... 740
20.6 ... Operatoren auf Klassen ... 745
20.7 ... Ein- und Ausgabe in C++ ... 748
20.8 ... Der this-Pointer ... 755
20.9 ... Beispiele ... 756
20.10 ... Aufgaben ... 771
21. Das Zusammenspiel von Objekten ... 775
21.1 ... Modellierung von Beziehungen ... 775
21.2 ... Komposition eigener Objekte ... 776
21.3 ... Eine Klasse text ... 786
21.4 ... Übungen/Beispiel ... 797
21.5 ... Aufgabe ... 803
22. Vererbung ... 805
22.1 ... Darstellung der Vererbung ... 805
22.2 ... Vererbung in C++ ... 808
22.3 ... Beispiele ... 831
23. Zusammenfassung und Überblick ... 879
23.1 ... Klassen und Instanzen ... 879
23.2 ... Member ... 881
23.3 ... Vererbung ... 900
23.4 ... Zugriffsschutz und Vererbung ... 916
23.5 ... Der Lebenszyklus von Objekten ... 922
23.6 ... Typüberprüfung und Typumwandlung ... 946
23.7 ... Typumwandlung in C++ ... 948
24. Die C++-Standardbibliothek und Ergänzung ... 953
24.1 ... Generische Klassen (Templates) ... 954
24.2 ... Ausnahmebehandlung (Exceptions) ... 962
24.3 ... Die C++-Standardbibliothek ... 973
24.4 ... Iteratoren ... 973
24.5 ... Strings (string) ... 976
24.6 ... Dynamische Arrays (vector) ... 990
24.7 ... Listen (list) ... 998
24.8 ... Stacks (stack) ... 1014
24.9 ... Warteschlangen (queue) ... 1017
24.10 ... Prioritätswarteschlangen (priority_queue) ... 1019
24.11 ... Geordnete Paare (pair) ... 1024
24.12 ... Mengen (set und multiset) ... 1025
24.13 ... Relationen (map und multimap) ... 1030
24.14 ... Algorithmen der Standardbibliothek ... 1032
Aufgaben und Lösungen ... 1041
Kapitel 1 ... 1042
Kapitel 3 ... 1055
Kapitel 4 ... 1069
Kapitel 5 ... 1090
Kapitel 6 ... 1103
Kapitel 7 ... 1120
Kapitel 8 ... 1144
Kapitel 10 ... 1155
Kapitel 14 ... 1162
Kapitel 20 ... 1186
Kapitel 21 ... 1203
Index ... 1209
»Buchtipp!« iX - Magazin für professionelle Informationstechnik 201507
»Buchtipp!«
»Das Buch ist nicht nur ein umfangreiches Nachschlagewerk zu C und C++, sondern auch für das Selbststudium hervorragend geeignet. Die zahlreichen Beispiele mit oftmals mathematischem Hintergrund werden von den Autoren auch für Nicht-Mathematiker verständlich dargestellt und durch gelungene Abbildungen veranschaulicht. Das Buch hat auch in der fünften Auflage nichts von seiner gewohnten Qualität verloren. Gesamtnote: Sehr gut!«
»Bei dem Mammutwerk von Ulrich Kaiser und Martin Guddat zu C und C++ bleiben auf über 1200 Seiten kaum Fragen offen. Erschöpfend werden alle Aspekte der C- und C++-Programmierung behandelt, angefangen von den Grundbegriffen der Software-Entwicklung bis zu fortgeschritteneren Themen wie der Objektorientierung in C++. Das Buch enthält viele Codebeispiele und Illustrationen, die Sprache ist klar und einfach, das erleichtert das Verständnis. Alles in allem ein sehr empfehlenswerter Titel für alle, die C/C++ von Grund auf lernen wollen.«
Erscheint lt. Verlag | 28.10.2014 |
---|---|
Reihe/Serie | Galileo Computing |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 1860 g |
Einbandart | gebunden |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► C / C++ |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Schlagworte | Algorithmen • Buch • C • C++ • C lernen • C programmieren • C (Programmiersprache) • C++ (Programmiersprache); Einführung • Handbuch • Informatik • Programmierung |
ISBN-10 | 3-8362-2757-6 / 3836227576 |
ISBN-13 | 978-3-8362-2757-5 / 9783836227575 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich