Kaiser / Guddat | C/C++ | E-Book | sack.de
E-Book

E-Book, Deutsch, 1220 Seiten

Reihe: Rheinwerk Computing

Kaiser / Guddat C/C++

Das umfassende Lehrbuch

E-Book, Deutsch, 1220 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-8912-2
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection



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
Kaiser / Guddat C/C++ jetzt bestellen!

Weitere Infos & Material


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


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.