Nur wenige höhere Programmiersprachen haben es geschafft, über mehrere Jahrzehnte erfolgreich zu sein. Die Sprache C gehört zweifelsfrei dazu und ist im Gegensatz zu anderen Sprachen, die eine vergleichbar lange Zeit überleben konnten, gerade in den letzten Jahren immer beliebter geworden. Und weil sie in der dominierenden objektorientierten Sprache C++ komplett enthalten ist, kann man ihr wohl ein noch langes Leben prophezeien (allerdings gelten in der Informatik Voraussagen schon dann als "Langzeit-Prognose", wenn sie einen Zeitraum von fünf Jahren umfassen). C-Programmierung gilt als…mehr
Nur wenige höhere Programmiersprachen haben es geschafft, über mehrere Jahrzehnte erfolgreich zu sein. Die Sprache C gehört zweifelsfrei dazu und ist im Gegensatz zu anderen Sprachen, die eine vergleichbar lange Zeit überleben konnten, gerade in den letzten Jahren immer beliebter geworden. Und weil sie in der dominierenden objektorientierten Sprache C++ komplett enthalten ist, kann man ihr wohl ein noch langes Leben prophezeien (allerdings gelten in der Informatik Voraussagen schon dann als "Langzeit-Prognose", wenn sie einen Zeitraum von fünf Jahren umfassen). C-Programmierung gilt als schwierig. Ich kann aus eigener Erfahrung in der Lehre bestätigen, daß der Anfänger tatsächlich mehr Schwierigkeiten als mit anderen Programmiersprachen hat. Aber nach einer gewissen "Durststrecke" zahlen sich die Mühen aus. Wenn die Anfangs Schwierigkeiten überwunden sind, können nach vergleichsweise kurzer Zeit schon anspruchs vollere Probleme gelöst werden. Das setzt allerdings voraus, daß auchdie Konzepte dafür gelehrt werden, denn es nützt wenig, sich durch die Problematik der "Pointer" und der "rekursiven Strukturen" hindurchzuquälen, wenn man nicht auch mit den verketteten Listen und den binären Bäumen die Datenstrukturen und dazu die rekursive Programmiertechnik behandelt, die diese Konzepte intensiv benutzen. Schließlich ist der Erfolg beim Erlernen einer Programmiersprache weitgehend auch vom Spaß abhängig, den man bei aller Mühe unbedingt haben sollte. Das schönste Ergebnis, ein funktionierendes Programm aus eigener Fertigung, sollte sich allerdings möglichst auch "so schön" präsentieren, wie es die professionell erzeugte Software tut. Dazu sind Kenntnisse der Windows-Programmierung heute unerläßlich.Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Die Herstellerinformationen sind derzeit nicht verfügbar.
Autorenporträt
Prof. Dr.-Ing. habil. Jürgen Dankert lehrte Technische Mechanik und Informatik an der HAW Hamburg, wo er Dekan des Fachbereichs Maschinenbau und Produktion war.
Inhaltsangabe
1 Betriebssysteme, Programmiersprachen.- 1.1 Betriebssysteme.- 1.2 Programmiersprachen.- 1.3 Empfehlungen für "Einsteiger", "Umsteiger", "Fortgeschrittene".- 2 Hilfsmittel für die C-Programmierung.- 2.1 Compiler, Linker, Standard-Libraries.- 2.2 Editoren.- 2.3 Manuals, Lehrbücher.- 2.4 Benötigt man einen "Debugger"?.- 3 Grundlagen der Programmiersprache C.- 3.1 Wie lernt man eine Programmiersprache?.- 3.2 Vom Problem zum Programm.- 3.3 Das kleinste C-Programm "minimain.c".- 3.4 C-Historie: Das "Hello, World"-Programm "hllworld.c".- 3.5 Arithmetik und "for-Schleife": Programm "hptokw01.c".- 3.6 Einige Grenzwerte der Implementation: Programm "limits.c".- 3.7 Bedingte Anweisung und "Casting": Programm "reihe01.c".- 3.8 Zeitmessung mit clock (): Programm "reihe02.c".- 3.9 Standardfunktionen und "while-Schleife": Programm "valtab01.c".- 3.10 Definition und Aufruf einer Funktion: Programm "valtab02.c".- 3.11 Erster Kontakt mit Pointern: Programm "valtab03.c".- 3.12 Formatgesteuerte Eingabe mit scanf: Programm "valtab04.c".- 3.13 Stabilisierung der Eingabe: Programm "valtab05.c".- 3.14 String-Konstanten als Funktionsargumente: Programm "valtab06.c".- 3.15 Arrays und Strings: Programme "stringl.c" und "syscall.c".- 3.16 Zwischenbilanz.- 4 Arbeiten mit Libraries.- 4.1 Erzeugen einer Library.- 4.2 Einbinden einer persönlichen Library: Programm "valtab07.c".- 4.3 Libraries mit Funktionen, die voneinander abhängig sind.- 4.4 Einbinden von Funktionen aus fremden Libraries.- 5 Fortgeschrittene Programmiertechniken.- 5.1 Noch einmal: Strings und Pointer.- 5.2 Pointer-Arithmetik.- 5.3 Mehrdimensionale Arrays, Pointer-Arrays.- 5.4 Kommandozeilen-Argumente.- 6 File-Operationen undSpeicherplatzverwaltung.- 6.1 Öffnen und Schließen eines Files, Zeichen lesen mit fgetc.- 6.2 Lesen und Schreiben mit fgetc und fputc, temporäre Files.- 6.3 Lesen mit fgets, formatiertes Lesen mit fscanf.- 6.4 Speicherplatz dynamisch allokieren.- 6.5 Speicherplatzverwaltung.- 7 Strukturen, verkettete Listen.- 7.1 Definition von Strukturen, Zugriff auf die Komponenten.- 7.2 Strukturen in Strukturen, Pointer auf Strukturen.- 7.3 Rekursive Strukturen, verkettete Listen.- 7.4 Sortieren mit verketteten Listen: Programm femfile4.c.- 7.5 "Unions" und "Enumerations".- 8 Rekursionen, Baumstrukturen, Dateisysteme.- 8.1 Baumstrukturen.- 8.2 Die Dateisysteme unter UNIX und DOS.- 8.3 Eine UNIX-Besonderheit: Links auf Files und Directories.- 8.4 File-Informationen über die Files eines Directories.- 8.5 Erster rekursiver Funktionsaufruf, Scannen eines Directory-Trees.- 8.6 Selektives Listen der Files eines Directory-Trees: Programm "lst.c".- 8.7 Sortieren mit einem binären Baum: Programm "lstsort.c".- 8.8 Zwischenbilanz.- 9 Grundlagen der Windows-Programmierung.- 9.1 Das Windows-Konzept.- 9.2 Botschaften (Nachrichten, "Messages").- 9.3 Das kleinste Windows-Programm "miniwin.c".- 9.4 Windows-Skelett-Programm "winskel.c".- 9.5 Text- und Graphik-Ausgabe, der "Device context".- 9.6 Maus-Botschaften, Programm "mouse1.c".- 9.7 Textausgabe mit TextOut, die Funktion GetSystemMetrics.- 9.8 Fehlersuche in Windows-Programmen.- 10 Ressourcen.- 10.1 Menü und Message-Box, Programm "menu1.c".- 10.2 Stringtable und Dialog-Box, Programm "dialog1.c".- 10.3 Dialog-Funktion, Dialog-Box, Ressourcen-Editor.- 10.4 Icon und Cursor.- 11 C vertiefen oder C++ lernen?.- 11.1 Empfehlungen für die Vertiefung der C-Kenntnisse.- 11.2 Empfehlungen für das Lernenvon C++.- Anhang A Ein Blick in die Speicherzellen.- A1 Stellenwertsysteme.- A2 Darstellung von Integer-Werten im Rechner.- A3 Darstellung von float- und double-Werten im Rechner.- Anhang B "Stack" und "Heap".- B1 Der Stack.- B2 Der Heap.- Literatur.
1 Betriebssysteme, Programmiersprachen.- 1.1 Betriebssysteme.- 1.2 Programmiersprachen.- 1.3 Empfehlungen für "Einsteiger", "Umsteiger", "Fortgeschrittene".- 2 Hilfsmittel für die C-Programmierung.- 2.1 Compiler, Linker, Standard-Libraries.- 2.2 Editoren.- 2.3 Manuals, Lehrbücher.- 2.4 Benötigt man einen "Debugger"?.- 3 Grundlagen der Programmiersprache C.- 3.1 Wie lernt man eine Programmiersprache?.- 3.2 Vom Problem zum Programm.- 3.3 Das kleinste C-Programm "minimain.c".- 3.4 C-Historie: Das "Hello, World"-Programm "hllworld.c".- 3.5 Arithmetik und "for-Schleife": Programm "hptokw01.c".- 3.6 Einige Grenzwerte der Implementation: Programm "limits.c".- 3.7 Bedingte Anweisung und "Casting": Programm "reihe01.c".- 3.8 Zeitmessung mit clock (): Programm "reihe02.c".- 3.9 Standardfunktionen und "while-Schleife": Programm "valtab01.c".- 3.10 Definition und Aufruf einer Funktion: Programm "valtab02.c".- 3.11 Erster Kontakt mit Pointern: Programm "valtab03.c".- 3.12 Formatgesteuerte Eingabe mit scanf: Programm "valtab04.c".- 3.13 Stabilisierung der Eingabe: Programm "valtab05.c".- 3.14 String-Konstanten als Funktionsargumente: Programm "valtab06.c".- 3.15 Arrays und Strings: Programme "stringl.c" und "syscall.c".- 3.16 Zwischenbilanz.- 4 Arbeiten mit Libraries.- 4.1 Erzeugen einer Library.- 4.2 Einbinden einer persönlichen Library: Programm "valtab07.c".- 4.3 Libraries mit Funktionen, die voneinander abhängig sind.- 4.4 Einbinden von Funktionen aus fremden Libraries.- 5 Fortgeschrittene Programmiertechniken.- 5.1 Noch einmal: Strings und Pointer.- 5.2 Pointer-Arithmetik.- 5.3 Mehrdimensionale Arrays, Pointer-Arrays.- 5.4 Kommandozeilen-Argumente.- 6 File-Operationen undSpeicherplatzverwaltung.- 6.1 Öffnen und Schließen eines Files, Zeichen lesen mit fgetc.- 6.2 Lesen und Schreiben mit fgetc und fputc, temporäre Files.- 6.3 Lesen mit fgets, formatiertes Lesen mit fscanf.- 6.4 Speicherplatz dynamisch allokieren.- 6.5 Speicherplatzverwaltung.- 7 Strukturen, verkettete Listen.- 7.1 Definition von Strukturen, Zugriff auf die Komponenten.- 7.2 Strukturen in Strukturen, Pointer auf Strukturen.- 7.3 Rekursive Strukturen, verkettete Listen.- 7.4 Sortieren mit verketteten Listen: Programm femfile4.c.- 7.5 "Unions" und "Enumerations".- 8 Rekursionen, Baumstrukturen, Dateisysteme.- 8.1 Baumstrukturen.- 8.2 Die Dateisysteme unter UNIX und DOS.- 8.3 Eine UNIX-Besonderheit: Links auf Files und Directories.- 8.4 File-Informationen über die Files eines Directories.- 8.5 Erster rekursiver Funktionsaufruf, Scannen eines Directory-Trees.- 8.6 Selektives Listen der Files eines Directory-Trees: Programm "lst.c".- 8.7 Sortieren mit einem binären Baum: Programm "lstsort.c".- 8.8 Zwischenbilanz.- 9 Grundlagen der Windows-Programmierung.- 9.1 Das Windows-Konzept.- 9.2 Botschaften (Nachrichten, "Messages").- 9.3 Das kleinste Windows-Programm "miniwin.c".- 9.4 Windows-Skelett-Programm "winskel.c".- 9.5 Text- und Graphik-Ausgabe, der "Device context".- 9.6 Maus-Botschaften, Programm "mouse1.c".- 9.7 Textausgabe mit TextOut, die Funktion GetSystemMetrics.- 9.8 Fehlersuche in Windows-Programmen.- 10 Ressourcen.- 10.1 Menü und Message-Box, Programm "menu1.c".- 10.2 Stringtable und Dialog-Box, Programm "dialog1.c".- 10.3 Dialog-Funktion, Dialog-Box, Ressourcen-Editor.- 10.4 Icon und Cursor.- 11 C vertiefen oder C++ lernen?.- 11.1 Empfehlungen für die Vertiefung der C-Kenntnisse.- 11.2 Empfehlungen für das Lernenvon C++.- Anhang A Ein Blick in die Speicherzellen.- A1 Stellenwertsysteme.- A2 Darstellung von Integer-Werten im Rechner.- A3 Darstellung von float- und double-Werten im Rechner.- Anhang B "Stack" und "Heap".- B1 Der Stack.- B2 Der Heap.- Literatur.
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497
USt-IdNr: DE450055826