HOME Copyright© 2008 by Doina Logofătu www.doina-logofatu.de |
Inhaltsverzeichnis V Vorwort 13 V.1 Danksagung 15 V.2 Über die Autorin 16 1 Die Programmiersprache C im Überblick 17 1.1
Kurzer historischer Abriss 17
1.2 Grundlegende Konzepte 18 Zeichenvorrat
von C 18
1.3 11 gelöste Probleme in C 44Ausdrücke 21 Aufbau der C-Programme 23 Anweisungen 25 Standardeingabe/-ausgabe 28 Dateienoperationen 30 Neue Datentypen: struct, enum, union 32 Mehr über Arrays 34 Zeiger, sizeof, dynamische Speicherreservierung 37 Zeichenketten 43 Problem
1 Text 44
1.4 Aufgaben 61Problem 2 Persönlicher Gruß 45 Problem 3 Vertauschen 46 Problem 4 Quersumme 47 Problem 5 Taschenrechner 49 Problem 6 Primzahl 50 Problem 7 Minimum und Maximum im Array 51 Problem 8 Palindrom 53 Problem 9 Inhalt einer Datei 55 Problem 10 Kommandozeilen-Parameter 56 Problem 11 Matrix und Zeiger 56 2 Elementare Operationen 65 2.1
Teilbarkeit durch Subtraktionen 65
3 Arrays und Zeiger 1092.2 Euklidischer Algorithmus 66 2.3 Einfacher Primalitätstest 68 2.4 Der Punkt mit dem kürzesten Abstand 69 2.5 Größe des Speicherplatzes 72 2.6 Goldener Schnitt 74 2.7 Position eines Punktes im Kreis 75 2.8 Das arithmetische Mittel 78 2.9 Lineare Rekurrenz 79 2.10 Synonyme Funktion mit atol() 80 2.11 Informationen über Zeichen 82 2.12 Palindrom und Quersumme 83 2.13 Unendliche Wurzel 84 2.14 Reihe mit dem Wert π 85 2.15 Der bedingte Ausdruck ?: 91 2.16 Besondere Paare 93 2.17 Die Farey-Reihe 95 2.18 Gemeinsame Teiler 96 2.19 Zahlenumwandlung ins Dezimalsystem 98 2.20 Formatierung der natürlichen Zahlen 99 2.21 Vollkommene Zahlen 100 2.22 Befreundete Zahlen 101 2.23 Summe der dritten Potenzen 102 2.24 ASCII-Codes 103 2.25 Aufgaben 105 3.1
Kleinstes Element einer Folge 109
3.2 Bubble Sort 111 3.3 Ableitung eines Polynoms 113 3.4 Bestimmung der größeren Zahlen 115 3.5 Produkt eines Polynoms mit (X-a) 117 3.6 Produkt zweier Matrizen 118 3.7 Die Goldbachsche Vermutung 122 3.8 Nachbarn mit Differenz 1 124 3.9 Lösen von Gleichungen zweiten Grades 126 3.10 Suchen eines Wertes im eindimensionalen Array 128 3.11 Sortieren der Spalten einer Matrix 130 3.12 Symmetrische Elemente in quadratischer Matrix 132 3.13 Zeiger zum Durchlaufen eines Arrays 134 3.14 Adressen in Arrays 135 3.15 Vertauschen der Bytes 136 3.16 Array von Funktionszeigern 138 3.17 Sattelpunkte der Matrix 140 3.18 Aufgaben 142 4 Zeichenketten und Dateioperationen 149 4.1
Kopieren einer konstanten Zeichenkette 149
5 Strukturen, Bitfelder, Unionen 1754.2 Verwendung der Funktionen strcat(), strlen(), strchr(), strrchr() 150 4.3 Vergleich zweier Zeichenketten: strcmp() und stricmp() 152 4.4 Erste Zeichenkette, die mit einem Zeichen einer anderen Zeichenkette beginnt – strpbrk()153 4.5 Finden einer Teilzeichenkette in einer Zeichenkette – strstr() 154 4.6 Addition zweier Zahlen – strlen(), strcat() 155 4.7 Suchsequenz 160 4.8 Vogelsprache 162 4.9 Verwendung der Funktionen strncpy(), strcat(), strlen() 165 4.10 Verwendung der Funktion strtok() 167 4.11 Verketten zweier Dateien 168 4.12 Kommandozeilen-Parameter 169 4.13 Aufgaben 171 5.1
Kollineare Punkte 175
6 Bit-Operationen 1955.2 Summe zweier Brüche 177 5.3 Vereinigung von mehreren Intervallen 180 5.4 Differenz-, Vereinigungs- und Durchschnittsmenge zweier Mengen 181 5.5 Zugehörigkeit eines Punktes zur Kreisscheibe 184 5.6 Test union 187 5.7 Bitfelder 189 5.8 Aufgaben 191 6.1
Binäre Darstellung 195
7 Zeitfunktionen, Zufallszahlen 2096.2 Bit-Operationen 197 6.3 Datumsverpackung 198 6.4 Verschiedene Operationen mit Bit-Operatoren 200 6.5 Anzahl der Eins-Bits in der binären Darstellung 203 6.6 Sieb des Eratosthenes 204 6.7 Aufgaben 207 7.1
Welcher Wochentag ist es? 209
7.2 rand(), qsort() und bsearch() 211 7.3 Kopf oder Zahl 213 7.4 Schere, Stein, Papier 216 7.5 Laufzeit einer Schleife 219 7.6 Pause in Sekunden 220 7.7 Genaues Datum und genaue Uhrzeit 221 7.8 Vergangenheit oder Zukunft 222 7.9 Aufgaben 223 8 Verkettete Listen 227 8.1
Wörter im Satz 227
8.2 Sortierte Wörter mit Großbuchstaben 230 8.3 Sortierte Wörtermengen mit Großbuchstaben 231 8.4 Rare Matrizen 233 8.5 Zählreime I 242 8.6 Zählreime II 245 8.7 Hashtabelle 248 8.8 Erzeugung von Listen 255 8.9 Kellerspeicher (Stack) 259 8.10 Kartenspiel 264 8.11 Traversieren von Binärbäumen 271 8.12 Aufgaben 275 9 Anwendung — Große Zahlen 279 9.1
Problemstellung 279
10 Anwendung — Raumfüllende Fraktale 2999.2 Ziele 279 9.3 Beispiele 280 9.4 Problemanalyse und Entwurf der Lösung 283 9.5 Aufgaben 296 10.1
Objektive 301
10.2 Problembeschreibung 302 10.3 Einige Beispiele 304 10.4 Problemanalyse und Entwurf der Lösung 306 10.5 Programm 307 10.6 Aufgaben 312 A Literaturverzeichnis 313 B CD-ROM zum Buch 315 C Schlüsselwörter in C 317 D Häufig verwendete Zeichenkettenfunktionen in C 319 E ASCII-Tabelle 321 F Hinweis Projekteinstellungen in Microsoft Visual C++ 323 Stichwortverzeichnis 325 |