HOME


Eine praktische Einführung in C, Doina Logofatu



 







Copyright© 2008 by Doina Logofătu
www.doina-logofatu.de
Vorwort

Der vorliegende Titel basiert auf meinem Buch „Bazele programării în C. Aplicaţii” („Grundlagen der Programmierung in C. Anwendungen”), das Anfang 2006 im Polirom-Verlag in Rumänien erschienen ist. Es ist als Lern- und Arbeitsbuch der C-Programmierung konzipiert und versetzt Sie in die Lage, eine Vielzahl praktischer Probleme zu lösen. Das theoretische Gerüst und die Vielfältigkeit der vorgestellten Themen machen das Buch auch für fortgeschrittene Leser interessant. Ich empfehle es Schülern, Studenten, Programmierern, Informatiklehrern und allen Interessierten für das individuelle Studium, als Arbeitsmaterial in der Lehre oder als Nachschlagewerk. Da C Basis für die modernen objektorientierten Sprachen C++, Java und C# und außerdem flexibel und effizient ist, bin ich der Ansicht, dass sich die Programmiersprache ausgezeichnet für Einsteiger eignet. Bevor Sie sich mit dem Thema Objektorientierung befassen, sollten Sie sich algorithmisches, strukturiertes Denken aneignen und die Basiskonzepte (Algorithmenentwurf, Variablen, Anweisungen, Modularität, Speicherplatzmanipulation) beherrschen. Wenn Sie der Programmierung treu bleiben, werden Sie nahezu automatisch zu C++, Java oder C# gelangen, denn diese Sprachen bieten Konzepte wie Datenabstraktion oder generische Programmierung.

Die 100 Probleme, die Sie mit vollständigen Lösungen im Buch finden, sind unterschiedlich schwer. Zu jeder Problembeschreibung gehört ein repräsentatives Eingabe- und Ausgabe-Datenset, mit dem Sie Ihre eigene Lösung überprüfen können. Danach wird das Problem analysiert, dazu schlage ich eine mögliche Lösung vor. Und schließlich finden Sie für diese Lösung das komplette C-Programm aufgelistet, bevor wieder Ihr Hirnschmalz bei den verwandten Aufgaben und Übungen gefragt ist. Übungen gibt es auch am Ende jedes Kapitels, insgesamt über 330 im Buch. Die Programme sind kompakt und vollständig, um eine gute Lesbarkeit zu gewährleisten und die C-Sprache zu vertiefen. Sie sind, außer das letzte Programm mit Fraktalen (Kapitel 10), mit der Microsoft Visual C++ 2005 Express Edition kompiliert worden, die Microsoft kostenlos zur Verfügung stellt. Sie halten sich an den ANSI-C-Standard und sollten mit jedem C-Compiler funktionieren. Entlang der zehn Kapitel lade ich Sie zu einer Reise ein, die Sie mit der Sprache C vertraut macht. Das erste Kapitel startet kurz und bündig mit den Grundelementen von C und zahlreichen Beispielen. Die nächsten sechs Kapitel (2 bis 7) enthalten viele gelöste Probleme (einfache Anweisungen, Zeichenketten, Arrays, Strukturen, Unionen, Zeiger, Bit-Operationen, Zeitfunktionen, Zufallszahlen), damit Sie sich mit C und dem Lösungsentwurf für konkrete Aufgabenstellungen anfreunden können. In den letzten drei Kapiteln (Kapitel 8 bis 10) befassen wir uns mit schwierigeren Dingen: verketteten Listen, komplexeren Datenstrukturen und ihrer Verarbeitung, Fraktale. Ein Grund dafür ist auch, dass ich mir dadurch erhoffe, Sie mit diesen interessanten Themen für die Programmierung begeistern zu können. Kapitel 8 behandelt verkettete Strukturen (einfach und doppelt verkettete, kreisförmige, Hash-Tabellen, Kellerspeicher, Bäume). In Kapitel 9 erstellen wir eine umfangreiche Anwendung, die verkettete Listen nutzt, um die Wurzel k-ten Grades einer großen Zahl zu berechnen. Wir implementieren dabei alle arithmetischen Operationen für solch große Zahlen. Die Applikation im letzten Kapitel zeichnet fraktale Strukturen und macht u. a. von Bitoperatoren und graphischen Routinen Gebrauch. Das Programm ist in Borland-C geschrieben, weil die grafische Bibliothek überschaubar und lehrreich ist. Sie können den grafischen Anteil mit einem anderen ersetzen, um die Fraktale zu zeichnen.

„Eine praktische Einführung in C“ enthält viele wichtige Konzepte aus der elementaren Datenverarbeitung, wie z.B. Suchen eines Elements, Sortieren, Löschen, Hinzufügen, Operationen mit Dateien usw. Dazu werden auch verschiedene Datenstrukturen vorgestellt: Strukturen, Bitfelder, Unionen, Arrays, Zeichenketten, Kellerspeicher, Hash-Tabellen oder Binärbäume. Die oft verwendeten Zeichenkettenoperationen, Bit-Operationen und Zeitfunktionen werden in mehreren ausgewählten Problemstellungen vorgestellt. Funktionen erstellen wir selbst, um klassische Aufgaben zu lösen, und wir lernen auch, wie wir bestehende Funktionen aus den Header-Dateien verwenden können (z.B. für Zeichenkettenoperationen, Zeit- und Zufallszahlenfunktionen, Sortieren oder Suchen in einem Array). Für einen Programmierer ist Mathematik sehr wichtig. Die vielen Übungen und Beispiele im Buch tragen dazu bei, mehrere grundlegende Konzepte der Mathematik aufzufrischen, u.a. Teilbarkeit und Primalität natürlicher Zahlen, Rekurrenzen, Reihen, Berechnung des Wertes π, Fibonacci-Zahlen, vollkommene und befreundete Zahlen, Operationen mit Polynomen und Matrizen, Goldbachsche Vermutung, Gleichungen, Brüche und Mengen, Geometrie, Sieb des Eratosthenes. Die einzige Möglichkeit, eine Programmiersprache zu beherrschen, ist kontinuierliches Üben. Es ist wichtig, immer wieder selbständig verschiedene Aufgaben zu lösen und Programme zu entziffern, zu erweitern, damit zu „spielen“. Dieses Buch bietet Ihnen dazu eine große Anzahl von oft auftretenden und vielschichtigen Programmieraufgaben an, die meisten davon sind vollständig gelöst und mit Erklärungen zur Sprache C, Mathematik und Algorithmik versehen. Alle Programme des Buches finden Sie auf der beiliegenden CD, so dass Sie sie ausprobieren, ändern und erweitern können.

Ab und zu finden Sie als Belohnung für Ihren Fleiß zwischen zwei Kapiteln Bilder wie „Hof des Königspalastes in Madrid“, „Winterlandschaft in Ried“, „Wellensurfer in München“, „Kuppel der blauen Moschee“ oder „Garten in Alhambra“. Vergessen Sie nicht, gelegentlich den Online-Service zum Buch zu besuchen:

                                                                            http://www.algorithmen-und-problemloesungen.de

Dort finden Sie Erweiterungen, Ergänzungen, Lösungen usw. Bitte schicken Sie Ihre Ideen und Vorschläge an

EMail.

Vielen Dank im Voraus!
Viel Vergnügen beim Lesen und spannendes Lernen!

München, im Juni 2008                                                                                                                                                                                                                                                                                            Doina Logofătu