

Beschreibung
Das Erlernen der C-Syntax liefert Zugang zur erfolgreichsten Familie der Programmiersprachen (C, C++, Java, C#). Dieses Buch vermittelt anhand zahlreicher Beispiele aus den Bereichen Mathematik, Technik und Naturwissenschaften die Realisierung von C-Programme...Das Erlernen der C-Syntax liefert Zugang zur erfolgreichsten Familie der Programmiersprachen (C, C++, Java, C#). Dieses Buch vermittelt anhand zahlreicher Beispiele aus den Bereichen Mathematik, Technik und Naturwissenschaften die Realisierung von C-Programmen und den Übergang zur C++-Programmierung. In dieser 5., überarbeiteten und verbesserten Auflage des erfolgreichen Praxisbuches kann sich der Leser anhand von über 150 C-Programmen beispielorientiert in die Sprache einarbeiten. Zu den Übungsaufgaben sind Musterlösungen vorgesehen.
Das Programmieren in C behält trotz vieler Neuerungen (C#, C99) seine grundlegende Position als Programmiersprache. Das Erlernen der C-Syntax liefert Zugang zur erfolgreichsten Familie der Programmiersprachen (C, C++, Java, C#). Dieses Buch vermittelt anhand zahlreicher Beispiele aus den Bereichen Mathematik, Technik und Naturwissenschaften die Realisierung von C-Programmen und den Übergang zur C++-Programmierung. In dieser 5., überarbeiteten und verbesserten Auflage des erfolgreichen Praxisbuches kann sich der Leser anhand von über 150 C-Programmen beispielorientiert in die Sprache einarbeiten. Mit der Standard Template Library (STL) stehen dem Leser die wichtigsten Algorithmen und Datenstrukturen zur Verfügung.
Die vielfältigen Programme aus den Bereichen Numerik, Simulation, Statistik und Informatik sind zusätzlich im Internet verfügbar. Alle Programme ohne Graphik laufen auf allen Plattformen, die Graphikprogramme sind für die gängigen DOS-Compiler (Microsoft bzw. Borland) realisiert. Zu den Übungsaufgabe sind Musterlösungen vorgesehen.
Autorentext
Dietmar Herrmann ist langjähriger Computerfachautor, der sich speziell mit Informatik und Naturwissenschaften befaßt und u.a. an der FH München lehrt.
Inhalt
1 Überblick.- 1.1 Die Geschichte von C.- 1.2 C als Programmiersprache.- 1.3 C als universelle Syntax.- 1.4 Die Bibliotheksfunktionen.- 1.5 Aufbau eines C-Programms.- 1.6 Ein C-Programm.- 2 Syntax.- 2.1 Zeichen.- 2.2 Bezeichner.- 2.3 Schlüsselwörter.- 2.4 Operatoren.- 2.5 Konstanten.- 2.6 Zeichenketten.- 2.7 Kommentare.- 2.8 Trennzeichen.- 2.9 Token.- 2.10 Ausdrücke.- 2.11 Anweisungen.- 3 Einfache Datentypen.- 3.1 Der Typ int.- 3.2 Der Typ unsigned int.- 3.3 Der Typ char.- 3.4 Der Typ unsigned char.- 3.5 Der Typ short int.- 3.6 Der Typ float.- 3.7 Der Typ long int.- 3.8 Der Typ double.- 3.9 Der Typ long double.- 3.10 Arithmetik.- 3.11 Der Cast-Operator.- 3.12 Die Eingabe mit scanfO.- 3.13 Übungen.- 4 Kontrollstrukturen.- 4.1 Die FOR-Schleife.- 4.2 Die WHILE-Schleife.- 4.3 Die DO-Schleife.- 4.4 Die IF-Anweisung.- 4.5 Die SWITCH-Anweisung.- 4.6 Die BREAK-Anweisung.- 4.7 Die CONTINUE-Anweisung.- 4.8 Die GOTO-Anweisung.- 4.9 Übungen.- 5 Reihungen und Zeichenketten.- 5.1 Reihungen.- 5.2 Zeichenketten.- 5.3 Mehrdimensionale Reihungen.- 5.4 Sortieren und Suchen in Listen.- 5.5 Tabellen.- 5.6 Mengen.- 5.7 Umrechnung ins Binärsystem.- 5.8 Polynome.- 5.9 Matrizen.- 5.10 Übungen.- 6 Pointer.- 6.1 Was sind Pointer?.- 6.2 Pointer und Reihungen.- 6.3 Pointer-Arithmetik.- 6.4 Pointer und Zeichenketten.- 6.5 Pointer auf Pointer.- 6.6 Die Speicherverwaltung.- 6.7 Pointer auf Funktionen.- 6.8 Übungen.- 7 Funktionen.- 7.1 Funktionen.- 7.2 Funktions-Prototypen.- 7.3 Mathematische Standardfunktionen.- 7.4 Prozeduren.- 7.5 Call by Reference.- 7.6 Stringfunktionen.- 7.7 Zeichenfunktionen.- 7.8 Übungen.- 8 Speicherklassen.- 8.1 Die Speicherklasse auto(matic).- 8.2 Die Speicherklasse register.- 8.3 Die Speicherklasse static.- 8.4 Die Speicherklasse extern.- 8.5 Die Speicherklassevolatile.- 8.6 Zusammenfassung.- 9 Operatoren und Ausdrücke.- 9.1 Einteilung der Operatoren.- 9.2 Priorität von Operatoren.- 9.3 Logische Operatoren.- 9.4 Die Bitoperationen.- 9.5 Ausdrücke und L-Values.- 9.6 Übungen.- 10 Rekursion.- 10.1 Das Rekursionsschema.- 10.2 Grenzen der Rekursion.- 10.3 Die Türme von Hanoi.- 10.4 Permutationen.- 10.5 Quicksort.- 10.6 Die Ackermann-Funktion.- 10.7 Übungen.- 11 Höhere Datentypen.- 11.1 Der Aufzählungstyp enum.- 11.2 Der Verbund struct.- 11.3 Komplexe Zahlen und Polarkoordinaten.- 11.4 Der Datentyp union.- 11.5 Der Datentyp Bitfeld.- 12 Dynamische Datenstrukturen.- 12.1 Der Stack.- 12.2 Die verkettete Liste.- 12.3 Die doppelt verkettete Liste.- 12.4 Die verkettete Ringliste.- 12.5 Der Binärbaum.- 12.6 Heapsort.- 12.7 Der Huffmann-Algorithmus.- 13 Präprozessor und Bibliotheken.- 13.1 Der Präprozessor.- 13.2 Die Header-Dateien.- 13.3 Funktionsähnliche Macros.- 14 Dateien und stdin.- 14.1 Die Standard-Ausgabe (stdout).- 14.2 Die Standard-Eingabe (stdin).- 14.3 Sequenzielle Dateien.- 14.4 Umleitung von stdin/stdout.- 14.5 Der Standarddrucker (stdprn).- 14.6 Arbeiten mit Textdateien.- 14.7 Öffnen eines Binärfiles (MS-DOS).- 15 Programmier-Prinzipien.- 15.1 Die Iteration.- 15.2 Die Rekursion.- 15.3 Das Teile-und-Herrsche-Prinzip.- 15.4 Die Simulation.- 15.5 Das Backtracking.- 15.6 Branch & Bound.- 16 System-Programmierung (MS-DOS).- 16.1 Die Register des 8086.- 16.2 Das BIOS.- 16.3 Die DOS-Funktionen.- 16.4 Die in/outport-Funktion.- 16.5 Abfragen von Speicherstellen.- 16.6 Die Datei ANSI.SYS.- 16.7 Werteübergabe an MS-DOS.- 16.8 Erzeugen eines Assembler-Codes.- 17 C-Programme aus verschiedenen Bereichen.- 17.1 Newton-Iteration.- 17.2 Runge-Kutta-Fehlberg-Verfahren.- 17.3 Mehrschrittverfahren von Adams-Moulton.- 17.4Gauß-Integration.- 17.5 Romberg-Integration.- 17.6 Das von-Mises-Verfahren.- 17.7 Das Householder-Verfahren.- 17.8 Berechnung der Normalverteilung.- 17.9 Grafik für Iterierte Funktionssysteme.- 17.10 Grafik von Zykloidenkurven.- 18 Von C nach C++.- 18.1 Warum C++?.- 18.2 Kommentare.- 18.3 Schlüsselwort Const.- 18.4 Mathematische Konstanten.- 18.5 Deklaration innerhalb eines Blocks.- 18.6 Geltungsbereich-Operator::.- 18.7 Verkürzte Strukturnamen.- 18.8 Inline-Funktionen.- 18.9 Default-Parameter bei Funktionen.- 18.10 Überladen von Funktionen.- 18.11 Referenzen 36l.- 18.12 Leere Parameterliste einer Funktion.- 18.13 Überladen von Operatoren.- 18.14 Ausgabe/Eingabeströme in C++.- 18.15 Linken mit C-Objektcode.- 18.16 Template-Funktionen.- 18.17 Zusammenfassung.- 19 Einführung in OOP.- 19.1 Eine Klasse mit Operator-Überladen.- 19.2 Eine Klasse mit einfacher Vererbung.- 19.3 Eine Klasse mit Friend-Funktionen.- 19.4 Eine Klasse aus der Zahlentheorie.- 19.5 Eine Klasse aus der Biologie.- 19.6 Zusammenfassung.- 20 C++-Programme aus verschiedenen Bereichen.- 20.1 Eine Datums-Klasse.- 20.2 Eine Klasse zur Hypothekentilgung.- 20.3 Eine Klasse zum Datentyp Stack.- 20.4 Eine Klasse zur Dreiecksberechnung.- 20.5 Eine Klasse zum Bisektionsverfahren.- 20.6 Eine Klasse zur numerischen Integration.- 20.7 Eine Klasse zur Wahrscheinlichkeitsrechnung.- 20.8 Eine Klasse aus der Statistik.- 20.9 Eine Klasse aus der Atomphysik.- 20.10 Eine Klasse aus der Astronomie.- 21 Die Standard Template Library (STL).- 21.1 Die Iteratoren.- 21.2 Funktionsobjekte.- 21.3 Der Container .- 21.4 Der Container .- 21.5 Der Container .- 21.6 Der Container .- 21.7 Der Container Multimap.- 21.8 Der Container .- 21.9 Der Container Multiset.- 21.10 Der Adapter .- 21.11 Der Adapter .- 21.12 Der Adapter .-21.13 Die Template-Klasse .- 21.14 Nicht-verändernde Sequenz-Algorithmen.- 21.15 Ändernde Sequenz-Algorithmen.- 21.16 Mischen und Sortieren.- 21.17 Numerische Algorithmen.- A.1 Literaturverzeichnis.- A.2 Verzeichnis der Beispielprogramme.- Sachwortverzeichnis.
