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. Von der Kunst, den richtigen Algorithmus zu finden, bis zur sinnvollen Nutzung der C++-Standard-Library. Alle Themen werden Sie sich anhand von Codebeispielen praktisch erarbeiten. Wo Theorie an Bord ist, erleben Sie ihren Nutzen im großen Zusammenhang. Aus dem Inhalt: Algorithmen Performanz- und Leistungsanalyse Kombinatorik Sortierverfahren Graphentheoretische Probleme Variablen, Schleifen & Co. Speicherverwaltung Bäume, Heaps und Treaps Die Standardbibliotheken Objektorientierung, Kapselung, Vererbung Exceptions und Templates Strukturiertes Programmieren Programmaufbau und wartbare Software Umfangreiche Referenz

Das Standardwerk für Studium und Beruf

Inhalt
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
Titel
C/C++
Untertitel
Das umfassende Lehrbuch
EAN
9783836289122
Format
E-Book (pdf)
Hersteller
Veröffentlichung
28.10.2014
Digitaler Kopierschutz
frei
Anzahl Seiten
1220
Lesemotiv