 |
|
 |
 |
|
C - M+T Easy . leicht, klar, sofort
|
Dieses Buch richtet sich an den absoluten Anfänger in Sachen Programmierung. Damit können Sie sich ein Fundament für tiefergründige Themen aufbauen. Wollen Sie nun tiefer in die Sprache C eintauchen, bspw. mit dem Buch "C von A bis Z" oder in andere Programmiersprachen wie bspw. C++ oder Java einsteigen, können Sie dies nach diesem Buch ohne Bedenken machen. Die Programmiersprache C eignet sich immer noch als Grundlage für weitere Programmiersprachen.
Kurzbeschreibung der einzelnen Kapitel
TITEL
C - M+T Easy . leicht, klar, sofort
(14,95 Euro)

Autor: Jürgen Wolf
Kurzbeschreibung:
Zu jedem Thema ein ausführbares Listing
über 100 Abbildungen wie Screenshots und logische Programmablaufpläne
Am Ende von jedem Kapitel Aufgabenstellungen mit Lösungen am Ende des Buchs
16 Kapitel - (336 Seiten)
|
Inhaltsbeschreibung:
- Kapitel 1 : Schnelleinstieg
- Kapitel 2 : Hier geht es darum, dem Leser zu erklären, was ein Programm ist und wie der Computer dieses Programm intern verwaltet.
- Kapitel 3 : In diesem Kapitel wird dem Anfänger gezeigt, wie man mit einem Compiler, Programme erstellen kann.
Dies wird anhand des kostenlos erhältlichen Bloodshed-Dev-C++ Compilers für MS-Windows (mit deutscher Oberfläche) und dem gcc-Compiler für Linux erklärt. Gerade in diesem Fall werden nämlich Anfänger häufig sich selbst überlassen.
- Kapitel 4 : In diesem Kapitel wird Schritt für Schritt erklärt wie C-Programme in der Regel aufgebaut sind.
- Kapitel 5 : Als
nächstes geht es um die Datenverarbeitung mit Variablen. Alle Vorhandenen Datentypen und Rechenoperatoren werden recht
detailliert erklärt. Es werden einfache Berechnungen mit diesen Datentypen durchgeführt. Ebenso die Laufzeitbibliothek <math.h>, welche
nützliche mathematische Funktionen enthält, wird in der Praxis erklärt.
- Kapitel 6 : Hier wird die formatierte Eingabe von der Tastatur und die formatierte Ausgabe auf dem Bildschirm behandelt.
- Kapitel 7 : In diesem Kapitel lernt der Leser, wie man den
Programmfluss mit sogenannten Kontrollstrukturen steuern kann. Dabei werden alle Konstrukte von
Verzweigungen und Schleifen behandelt.
- Kapitel 8 :
Jetzt lernt der Leser, was eine Funktion ist und wie diese definiert wird. Vor allem aber, wie man für ein bestimmtes Problem, das es zu Lösen gilt, eigene Funktionen bzw. Teilfunktionen schreiben kann.
- Kapitel 9 : In diesem Kapitel werden die
zusammengesetzten Datentypen, wie Arrays und Strings, behandelt. Dabei lernen Sie, eine geordnete Folge von Werten eines bestimmten Datentyps zu speichern und zu bearbeiten.
Dazu werden auch einige häufig verwendete Funktionen der Laufzeitbibliothek <string.h>, für die Bearbeitung von Strings (Zeichenketten), behandelt.
- Kapitel 10: Darin geht es um die Zeiger (engl. Pointer). Dies ist ein
recht gefürchtetes und häufig missverstandenes Thema der C-Programmierung. Das die Zeiger gar nicht so kompliziert sind, wie man denkt, beweist dieses Kapitel.
- Kapitel 11: In Kapitel 9 wurden zusammengesetzte Datentypen vom selben Typ durchgenommen.
Hier erfahren Sie, wie Sie mit Hilfe von Strukturen, zusammengesetzte Datentypen von unterschiedlichen Typen
realisieren können.
- Kapitel 12: Eine grundlegende Bedeutung in der C-Programmierung, hat die dynamische Speicherreservierung zur Laufzeit eines Programms. Wie dies funktioniert und was Sie dabei beachten müssen, erfahren Sie in diesem Kapitel.
- Kapitel 13: Hier wird es ernst.
Es geht um dynamische Datenstrukturen. Dabei werden Sie alles komplizierte in C auf einmal verwenden. Nämlich die Zeiger,
Strukturen und die dynamische Speicherverwaltung. Als Beispiel werden Sie dabei ein umfangreiches Lagerverwaltungs-Programm schreiben. Aber keine Sorge, ich habe das Thema mit Hilfe von vielen Abbildungen und Schritt-für-Schritt Erklärungen so einfach wie möglich gehalten.
- Kapitel 14: In diesem Kapitel geht es ganz um die Datei-Ein/Ausgabe. Also, wie Sie ein Programm auf einen Datenträger speichern und wieder laden können. Am Schluss
des Kapitels wenden Sie diese Kenntnisse an dem Lagerverwaltungs-Programm von Kapitel 14 an.
- Kapitel 15: Was so alles passiert, wenn ein Programm übersetzt und gelinkt wird, lernen Sie in diesem Kapitel. Vor allem, wie Sie dabei eingreifen können. Sie lernen, wie Sie Makros und Konstanten
verwenden können. Ebenso wie ein Quellcode in eine andere Datei ausgelagert werden kann.
- Kapitel 16: Im letzten Kapitel dieses Buches geht um den weiteren Verlauf
Ihrer Programmierkarriere. Speziell darum, was Sie nach diesem Buch als nächstes lernen können. Schließlich haben Sie sich die Grundlage einer sehr guten Programmiersprache angeeignet.
- Anhang A : Der ASCII-Zeichensatz
- Anhang B : Glossar
- Anhang C : Lösungen zu den Aufgaben der einzelnen Kapitel
Bestellen bei
Lehmanns Fachbuchhandel online
Amazon.de
Markt und Technik
|
FAQ - Häufig gestellt Fragen
Der Text in Seite 32 ist etwas kurz gehalten. Auf der angegebenen Internet-Seite gibt es mind. 4 Compiler mit etwa 20 komponenten: Was soll ich nun herunterladen und wie installieren?
Ich empfehle Ihnen diese Version des Compilers:
Dev-C++ 5.0 beta 7 (4.9.7.0) (10 MB) with Mingw/GCC 2.95.3
da es mit der neueren Version mit dem gcc 3.20 noch so seine
Probleme gibt. Und hier auch gleich der direkte Link zum
Download:
http://mapage.noos.fr/dev5/devcpp4970-gcc295.exe
Danach folgt der typische Vorgang des Download:
Zuerst erfolgt der Hinweis, nicht auf eine bereits bestehende Installation
des Dev-C++ darüber zu installieren. Sofern eine alte Version vorhanden ist
muss diese zuvor De-installiert werden.
Nachdem der OK-Button gedrückt wurde erfolgt die GNU General Public License,
welche Sie mit dem "I Agree"-Button zustimmen.
Danach erscheint die Paketauswahl, welche Sie auf "Typical" stehen lassen
könnne und mit "Next" weiterklicken.
Jetzt wählen Sie nur noch den Pfad der Installation aus, welchen man auch
in der Vorgabe belässt.
Jetzt nur noch auf "Install" drücken und die Installation des Compilers
ist soweit fertig.
Beim starten oder danach, werden Sie noch noch der Sprache der Entwicklungs-
umgebung gefragt, welche Sie höchstwahrscheinlich auf "German" einstellen werden.
Nun müsste die Installation fertig sein und Sie können loslegen.
Auf der Seite 76 beginnt ein Programm mit der Wegberechnung mit der Quadratwurzel (Funktion sqrt()).
Warum kann ich es auf Linux nicht kompilieren?
Zu dem Problem mit der Bibliothek math.h unter Linux habe ich etwas
im Kapitel "5.13 Mathematische Funktionen" in dem Kästchen "Hinweis"
erwähnt:
|
Hinweis |
|
Damit Linux-User die Laufzeitbibliothek math.h ebenfalls verwenden können, müssen Sie diese Bibliothek mit dem Compilerflag -lm hinzulinken: gcc -o programm programm.c -lm |
Updates zum Buch
Bei der nächsten Auflage werden die folgenden Fehler im Buch behoben sein:
- zum Programm auf S.73:
Ich vermute , Sie wollen die mittlere Leistung des Autors berechnen, in dem Sie die kine-
tische Energie durch die Zeit dividieren. Dies ist eigentlich nur korrekt, wenn der Körper
überer die gesamte Distanz kontinuierlich beschleunigt und erst im letzten Moment seine
Endgeschwindigkeit erreicht. Die Endgeschwindigkeit, welche man zum Berechnen der ki-
netischen Energie zugrunde legen musste, wäre aber dann der doppelte Wert Ihrer Durch-
schnittsgeschwindigkeit.
Selbst wenn Sie aber Ihren Ansatz weiter verfolgen, haben Sie trotzdem im Programm
noch einen Fehler: Sie dividieren nämlich die kinetische Energie nicht durch die Zeit
sondern durch die Geschwindigkeit.
- S.120:
Die Zeile int zahl; sollte blau sein.
- Seite 123:
Da scheint irgendwie das Programm von Seite 126 auf die Seite 123 gekommen sein (nur ohne else if()).
Ursprünglich sollte sich hier folgendes Listing befinden:
#include <stdio.h>
int main ()
{
int zahl;
printf("Bitte eine Zahl eingeben: ");
scanf("%d",&zahl);
if (zahl<=50)
{
if (zahl==50)
{
printf("Die eingegebene Zahl ist gleich 50\n");
}
else
{
printf("Die eingegebene Zahl ist kleiner als 50\n");
}
}
else
{
printf("\n\t Die eingegebene Zahl ist größer als 50\n");
}
printf("Programmende\n");
return 0;
}
- S.133:
Auf der Seite 133 in der 2. Übersichtstabelle über Inkrement und Dekrement
ist bei der "Bedeutungsspalte" etwas durcheinander gekommen.
Richtige Reihenfolge:
var++ Inkrement in Postfix-Schreibweise
++var Inkrement in Präfix-Schreibweise
var-- Dekrement in Postfix-Schreibweise
--var Dekrement in Präfix-Schreibweise
Die mittleren Inkrement und Dekrement waren vertauscht worden.
Die Ausgabe des Programms stimmt nicht mit dem Quelltext überein.
- S.140:
Die Ausgabe des Programms stimmt nicht mit dem Quelltext überein.
- S.169:
Abschnitt 5: Zweites "Kreisfläche" sollte "Kreisumfang" heißen.
void ergebnis_ber(float erg, int welche)
{
if(welche == 1)
printf("Kreisflaeche : %.2f\n",erg);
else if(welche == 2)
printf(Kreisdurchmesser : %.2f\n",erg);
else if(welche == 3)
printf("Kreisumfang : %.2f\n",erg);
else
printf("Fehler beim Aufruf der Funktion\n");
}
- S.172:
Drittletzte Zeile und letzte Zeile. In den o. g. Zeilen ist aus dem vorher kursiv geschriebenen pi (sechte Zeile von unten) ein p geworden. Sollte natürlich pi heißen.
- S.187:
In der Include-Anweisung wurde hinter stdio.h die schließende Klammer vergessen (>).
- S.194:
Im oberen Quelltext wird die Stringvariable name mit 50 Zeichen (name [50]) deklariert
im unteren mit 80 (name[80]). Die Deklaration mit 80 Zeichen ist korrekt.
Außerdem wird der Name string verwendet. Da Anjuta Syntaxhighlightning beherrscht
und es in C++ auch einen Typ string gibt, wird diese Variable in manchen Editoren im Quelltext
hervorgehoben.
- S.220:
Rechtschreibfehler: Bei der Artikelbezeichnung stehen Sie aber schon vor dem
Problem, dass es sich hier bereits um ein Array handeln (handelt).
- S.226:
Im Quelltext fehlt in der printf-Anweisung hinter Artikel der Zeilenumbruch.
- S.229:
Hinter einigen Zeilen steht am Ende einiger Zeilen eine 8. Hier sollte ein Pfeil stehen, der symbolisiert, dass die Programmzeile weitergeht. Dieser ist nicht in der richtigen Schriftart gedruckt worden.
- S.229:
bei case 2 folgende Zeile:
if(nummer > count || nummer < 0)
richtig wäre aber
if(nummer >= count || nummer < 0)
- S.234:
Siehe Fehler von Seite 226 und Seite 229
- S.242:
Warum soll das Programm hier aus geführt werden?
- S.271:
Hier sollte auch die Änderung bei while(abfrage != 5) farbig hervorgehoben sein.
- S.281:
In der Zeile printf("Konnte Datei... fehlt das Komma und die Variable filename.
- S.282:
Die Variable name ist der Ausgabe des Vornamens zugeordnet, die Variable vname der
Ausgabe des Nachnamens. Dies sollte natürlich umgekehrt sein.
- S.285/286:
Es ist nicht unbedingt ein Fehler, aber wenn ich es ein paar Seite voher selbst gepredigt habe,
muss ich es wohl auch einhalten. Beim Quellcode sollte der Stream mit fclose() wieder geschlossen
werden.
|
|
 |
 |
 |