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:AlgorithmenPerformanz- und LeistungsanalyseKombinatorikSortierverfahrenGraphentheoretische ProblemeVariablen, Schleifen & Co.SpeicherverwaltungBäume, Heaps und TreapsDie StandardbibliothekenObjektorientierung, Kapselung, VererbungExceptions und TemplatesStrukturiertes ProgrammierenProgrammaufbau und wartbare SoftwareUmfangreiche Referenz

Das Standardwerk für Studium und Beruf

Autorentext
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.

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