
C programmieren lernen für Dummies
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Person
Content
- Intro
- Titelseite
- Impressum
- Inhaltsverzeichnis
- Über den Autor
- Einführung
- Ist die Sprache C wichtig?
- Der Ansatz dieses Buchs
- Wie dieses Buch vorgeht
- Symbole in diesem Buch
- Gedanken zum Schluss
- Teil I: Mit der Programmierung in C beginnen
- Kapitel 1 Ein schneller Start für die Ungeduldigen
- Was Sie zum Programmieren benötigen
- Tools zum Programmieren besorgen
- Eine Entwicklungsumgebung (HREFE) besorgen
- Die IDE Code::Blocks betrachten
- Code::Blocks installieren
- Eine Reise durch den Arbeitsbereich von Code::Blocks
- Ihr erstes Projekt
- Ein neues Projekt erstellen
- Den Quelltext überprüfen
- Das Projekt erstellen und laufen lassen
- Speichern und schließen
- Kapitel 2 Die Sache mit dem Programmieren
- Die Geschichte des Programmierens
- Ein Überblick über die frühe Geschichte des Programmierens
- Die Einführung der Programmiersprache C
- Der Prozess des Programmierens
- Das Programmieren verstehen
- Quellcode schreiben
- In Objektcode verwandeln
- Mit der Bibliothek von C verknüpfen
- Durchlaufen und testen
- Kapitel 3 Die Anatomie von C
- Teile der Programmiersprache C
- Schlüsselwörter
- Funktionen
- Operatoren
- Variablen und Werte
- Anweisungen und Strukturen
- Kommentare
- Ein typisches Programm in C betrachten
- Programmstrukturen in C verstehen
- Die Funktion main( ) bestimmen
- Etwas an das Betriebssystem zurückgeben
- Eine Funktion hinzufügen
- Teil II: Das kleine Einmaleins der C-Programmierung
- Kapitel 4 Versuch und Irrtum
- Zeug auf dem Bildschirm anzeigen
- Eine witzige Botschaft anzeigen
- Die Funktion puts() einführen
- Weiteren Text hinzufügen
- Eine Anweisung auskommentieren
- Mit Absicht Mist bauen
- Mehr Anzeigeblödsinn
- Text mithilfe von printf() anzeigen
- Die Funktion printf() einführen
- Den Zeilenvorschub verstehen
- Escape-Sequenzen einsetzen
- Nochmal mit Absicht Mist bauen
- Kapitel 5 Werte und Konstanten
- Ein Treffpunkt für verschiedene Werte
- Werte verstehen
- Werte mithilfe von printf() anzeigen
- Die zusätzlichen Nullen beachten
- Der Computer macht die Mathematik
- Einfache Arithmetik ins Spiel bringen
- Die Sache mit den ganzen Zahlen und den Gleitkommazahlen überdenken
- Immer das Gleiche
- Den gleichen Wert immer wieder verwenden
- Konstanten einführen
- Konstanten verwenden
- Kapitel 6 Ein Abstellplatz
- Werte, die variieren
- Ein schnelles Beispiel erstellen
- Typen von Variablen einführen
- Variablen verwenden
- Variabler Wahnsinn
- Charakteristischere Variablentypen verwenden
- Mehrere Variablen erzeugen
- Einen Wert bei der Erzeugung zuordnen
- Variablen wiederverwenden
- Kapitel 7 Eingabe und Ausgabe
- Ein- und Ausgabe von Zeichen
- Eingabe- und Ausgabegeräte verstehen
- Zeichen mit getchar() abrufen
- Die Funktion putchar() verwenden
- Mit Zeichen-Variablen arbeiten
- Text-Ein- und Ausgabe, aber meistens Eingabe
- Strings speichern
- Die Funktion scanf() einführen
- Einen String mit scanf() lesen
- Werte mit scanf() lesen
- fgets() zur Texteingabe verwenden
- Kapitel 8 Entscheidungsfindung
- Was wäre, wenn?
- Einen einfachen Vergleich anstellen
- Das Schlüsselwort if einführen
- Werte auf verschiedene Arten vergleichen
- Den Unterschied zwischen = und == kennen
- Vergessen, wo das Semikolon stehen muss
- Mehrere Entscheidungen
- Unübersichtlichere Entschehrefungen fällen
- Eine dritte Möglichkeit hinzufügen
- Mehrere Vergleiche mithilfe der Logik durchführen
- Einen logischen Vergleich erstellen
- Einige logische Operatoren hinzufügen
- Der alte Trick mit der switch-case-Anweisung
- Multiple-Choice-Entschehrefungen treffen
- Die switch-case-Struktur verstehen
- Keine Pausen einlegen
- Das verrückte Werkzeug ?:
- Kapitel 9 Schleifen, Schleifen, Schleifen
- Ein kleines Déjà-Vu
- Der Kick der Schleifen
- Etwas x-mal machen
- Die Schleife for einführen
- Mit der Anweisung for zählen
- Buchstabenschleifen durchlaufen
- Schleifen verschachteln
- Die Freuden der while-Schleife
- Eine while-Schleife strukturieren
- Die do-while-Schleife verwenden
- Und noch mehr zum Thema Schleifen
- Endlosschleifen
- Endlosschleifen absichtlich verwenden
- Aus einer Endlosschleife entkommen
- Eine Schleife vermasseln
- Kapitel 10 Mit Funktionen Spaß haben
- Anatomie einer Funktion
- Eine Funktion erstellen
- Prototyping (oder nicht)
- Funktionen und Variablen
- Variablen in Funktionen verwenden
- Einen Wert an eine Funktion übergeben
- Mehrere Werte zu einer Funktion schicken
- Funktionen erzeugen, die Werte zurückgeben
- Vorzeitig zurückgeben
- Teil III: Auf dem vorhandenen Wissen aufbauen
- Kapitel 11 Das unvermeidliche Mathematikkapitel
- Mathematische Operatoren außerhalb der Unendlichkeit
- Inkrementieren und Dekrementieren
- Die Operatoren ++ und - - voranstellen
- Den Rest (Modulo) entdecken
- Mit Zuweisungsoperatoren Zeit sparen
- Der Wahnsinn: Mathematische Funktionen
- Gebräuchliche mathematische Funktionen erkunden
- Die Trigonometrie erlehrefen
- Es ist absolut zufällig
- Zufallszahlen ausspucken
- Die Zahlen noch zufälliger machen
- Die heilige Rangordnung
- In die richtige Reihenfolge bringen
- Mithilfe von Klammern die Rangordnung ändern
- Kapitel 12 Her mit den Arrays
- Schauen Sie sich das Array an
- Arrays vermehrefen
- Arrays verstehen
- Initialisierung eines Arrays
- Mit char-Arrays (Strings) spielen
- Mit leeren char-Arrays arbeiten
- Arrays sortieren
- Mehrdimensionale Arrays
- Ein zwehrefimensionales Array
- Mit drehrefimensionalen Arrays ausflippen
- Ein initialisiertes mehrdimensionales Array deklarieren
- Arrays und Funktionen
- Ein Array an eine Funktion übergeben
- Eine Funktion gibt ein Array zurück
- Kapitel 13 Mit Text Spaß haben
- Funktionen zum Verändern von Zeichen
- CTYPEs einführen
- Zeichen testen
- Zeichen ändern
- Massenweise Stringfunktionen
- Stringfunktionen betrachten
- Text vergleichen
- Strings erstellen
- Mit der Formatierung printf() Spaß haben
- Gleitkommazahlen formatieren
- Die Ausgabebreite festlegen
- Die Ausgabe ausrichten
- Sanft den Fluss hinab
- Das Flussprinzip veranschaulichen
- Mit dem Flussprinzip arbeiten
- Kapitel 14 Die multivariablen Strukturen
- Hallo Struktur
- Die Vielfachvariable einführen
- struct verstehen
- Eine Struktur füllen
- Arrays aus Strukturen erzeugen
- Sonderbare Strukturkonzepte
- Strukturen in Strukturen packen
- Eine Struktur an eine Funktion weitergeben
- Kapitel 15 Das Leben in der Kommandoeingabezeile
- Ein Bildschirmfenster hervorzaubern
- Ein Bildschirmfenster öffnen
- Im Textmodus Code starten
- Die Argumente der Funktion main()
- Die Kommandozeile lesen
- Die Argumente von main() verstehen
- Zeit zum Aussteigen
- Das Programm verlassen
- Ein anderes Programm starten
- Kapitel 16 Variabler Blödsinn
- Variablenkontrolle
- Typumwandlung bis zur Ungläubigkeit
- Neue Dinge mit typedef erzeugen
- Statische Variablen erzeugen
- Variablen - Variablen überall
- Globale Variablen verwenden
- Eine globale Strukturvariable
- Kapitel 17 Binärer Wahnsinn
- Binäre Grundlagen
- Die Zweiheit verstehen
- Binäre Werte anzeigen
- Die Manipulation von Bits
- Den bitweise arbeitenden Operator | verwenden
- & bitweise verwenden
- Ausschließlich mit dem exklusiven ODER (XOR) arbeiten
- Die Operatoren ~ und ! verstehen
- Binäre Werte verschieben
- Die Funktion binbin() erklären
- Viel Freude mit Hex
- Teil IV: Für Fortgeschrittene
- Kapitel 18 Einführung in Pointer
- Das größte Problem bei Pointern
- Die Größe des Variablenspeichers abschätzen
- Die Speicherung von Variablen verstehen
- Die Größe einer Variablen auslesen
- Die Adresse einer Variablen überprüfen
- Die Informationen zur Speicherung von Variablen zusammenfassen
- Das scheußlich komplexe Thema der Pointer
- Pointer einführen
- Mit Pointern arbeiten
- Kapitel 19 Tief im Pointer-Land
- Pointer und Arrays
- Die Adresse eines Arrays erhalten
- Pointer-Mathematik in einem Array
- Die Array-Notation durch Pointer ersetzen
- Strings sind Pointer-Dinge
- Zum Anzeigen eines Strings Pointer verwenden
- Einen String durch die Verwendung eines Pointers deklarieren
- Ein Array aus Pointern erstellen
- Strings sortieren
- Pointer in Funktionen
- Einen Pointer an eine Funktion weitergeben
- Von einer Funktion einen Pointer zurückbekommen
- Kapitel 20 Verkettete Listen
- Her mit dem Speicher!
- Die Funktion malloc() einführen
- Strings speichern
- Speicherplatz frei geben
- Erfassen Sie diese Verkettung
- Platz für eine Struktur zuteilen
- Eine verkettete Liste erzeugen
- Eine verkettete Liste bearbeiten
- Eine verkettete Liste speichern
- Kapitel 21 Es wird Zeit
- Wie spät ist es?
- Den Kalender verstehen
- Mit der Zeit in C arbeiten
- Zeit zu programmieren
- Die Uhr kontrollieren
- Einen Zeitstempel betrachten
- Den Zeitstring aufschnehrefen
- Schlummern
- Teil V: Und der ganze Rest
- Kapitel 22 Dauerhafte Speicherfunktionen
- Sequenzieller Dateizugriff
- Den Zugriff auf Dateien in C verstehen
- Text in eine Datei schreiben
- Text aus einer Datei auslesen
- Text an eine Datei anhängen
- Binäre Daten schreiben
- Mit Dateien mit binären Daten arbeiten
- Direktzugriffsdateien
- Eine Struktur in eine Datei schreiben
- Lesen und zurückspulen
- Eine bestimmte Aufzeichnung finden
- Eine verkettete Liste in einer Datei speichern
- Kapitel 23 Verwaltung von Dateien
- Verzeichnis-Wahnsinn
- Ein Verzeichnis aufrufen
- Weitere Informationen über Dateien sammeln
- Dateien von Verzeichnissen trennen
- Den Verzeichnisbaum erkunden
- Rund um Dateien
- Eine Datei umbenennen
- Eine Datei kopieren
- Eine Datei löschen
- Kapitel 24 Projekte für Fortgeschrittene und Hartgesottene
- Ein aus zahlreichen Modulen bestehendes Monster
- Zwei Quelltextdateien verbinden
- Variablen, die von mehreren Modulen gemeinsam genutzt werden
- Eine benutzerdefinierte Header-Datei erstellen
- Mit anderen Bibliotheken verbinden
- Chapter 25 Programmfehler raus!
- Debugger von Code::Blocks
- Die Einstellung Debugging
- Der Debugger bei der Arbeit
- Einen Haltepunkt markieren
- Variablen ansehen
- Probleme durch die Verwendung von printf() und puts() lösen
- Probleme dokumentieren
- Kommentare für Ihr zukünftiges Ich speichern
- Verbesserte Fehlermeldungen
- Teil VI: Der Top-Ten-Teil
- Kapitel 26 Zehn gängige Schnitzer
- Bedingungsfehler
- == vs =
- Gefährliche Semikolons in Schleifen
- Kommata in for-Schleifen
- Fehlende Pause in einer switch-Struktur
- Fehlende runde und geschweifte Klammern
- Beherzigen Sie diese Warnung
- Endlosschleifen
- Patzer bei scanf()
- Fließende Eingabebeschränkungen
- Anhang A: ASCII-Codes
- Anhang B: Schlüsselwörter
- Anhang C: Operatoren
- Anhang D: Typen von Variablen
- Anhang E: Escape-Sequenzen
- Anhang F: Umwandlungszeichen
- Anhang G: Rangordnung
- Stichwortverzeichnis
- Wiley End User License Agreement
Einführung
Sagen Sie »Hallo, Welt« zu C programmieren lernen für Dummies, einem Buch, das Sie von einem wohlmeinenden, einfühlsamen menschlichen Wesen in ein bewundertes Mitglied der Untergrund-Nerd-Subkultur verwandeln wird, dem Programmierer.
Ja, das ist eine tolle Sache.
Wenn Sie lernen in C zu schreiben, werden Sie der unbeschränkte Herrscher über eine Vielzahl elektronischer Spielereien. Sie können Ihre eigenen Programme erstellen und Computern, Tablets und Handys Ihre Launen und Wünsche aufzwingen. Und die Elektronik gehorcht pflichtgetreu. Mit den Informationen aus diesem Buch können Sie den Programmierkurs schaffen, Ihre Freunde beeindrucken, von Hollywood bewundert werden oder selbst eine eigene Software-Firma starten. Sie sehen, Programmieren lernen ist wohlinvestierte Zeit.
Dieses Buch hilft Ihnen zu lernen, wie man verständlich und mit Spaß programmiert. Sie benötigen keine Programmiererfahrung - Sie müssen nicht einmal neue Software erwerben. Alles, was Sie brauchen, ist der Wunsch, in C zu programmieren, und die Fähigkeit, dabei Spaß zu haben.
Ist die Sprache C wichtig?
Im Abstand von wenigen Jahren taucht immer wieder das Argument auf, das Lernen von C führe zu nichts. Es gebe neuere und bessere Programmiersprachen und es sei sehr viel besser, diese zu lernen und seine Zeit nicht mit C zu verschwenden.
Papperlapapp!
In einem gewissen Sinn ist C das Latein der Programmiersprachen. Fast jede neuaufkommende Sprache baut auf der Syntax von C auf. Die Schlüsselwörter von C und selbst bestimmte Funktionen haben ihren Weg in andere Sprachen gefunden, von C++ über Java bis zu Python oder wie die gerade angesagte Sprache auch heißen mag.
Mein Standpunkt ist: Wenn man einmal C gelernt hat, sind all diese anderen Programmiersprachen leicht. In der Tat setzen viele der Bücher, die diese anderen Sprachen lehren, beim Start einige Grundlagen von C voraus. Das kann für jeden Anfänger manchmal frustrierend sein - es sei denn, er kennt C bereits.
Daher ist, egal was die Koryphäen und selbst ernannten Experten auch sagen, C immer noch wichtig. Die Programmierung von Mikrokontrollern, Betriebssystemen und wichtigen Softwarepaketen erfolgt immer noch mit dem guten alten C. Sie verschwenden Ihre Zeit also nicht!
Der Ansatz dieses Buchs
Als Programmierer habe ich mich durch sehr, sehr viele Programmierbücher gequält. Ich weiß ziemlich gut, was ich nicht mehr sehen möchte, aber bedauerlicherweise immer wieder sehe: Der Autor schreibt seitenlange Codes oder prahlt mit seiner Kenntnis, um seine Freak-Freunde zu beeindrucken, nicht aber, um irgendetwas zu lehren. Von diesen Schulungsbüchern gibt es viel zu viele; wahrscheinlich haben Sie aus genau dem Grund dieses Buch gewählt.
Mein Ansatz in diesem Buch ist ziemlich einfach: Kurze Programme. Darstellungen, die den Kern treffen. Viele Beispiele. Sehr viele Übungen.
Der beste Weg, etwas zu lernen, ist es anzuwenden. Jeder in diesem Buch vorgestellte Begriff wird von einem Beispielcode begleitet. Die Programme sind so kurz, dass Sie sie schnell eintippen können - und ich empfehle nachdrücklich, dass Sie dies auch tun. Dann können Sie das Programm erstellen und laufen lassen, um zu sehen, wie es arbeitet. Diese sofortige Rückmeldung ist nicht nur befriedigend, sondern auch ein ausgezeichnetes Mittel zum Lernen.
Falls ich Sie nicht überzeugen konnte: Die Codefiles dieses Buchs finden Sie hier: http://www.wiley-vch.de/publish/dt/books/ISBN3-527-71342-5
Beispielprogramme werden von Übungen abgelöst, die Sie bearbeiten sollten, um Ihre Fähigkeiten zu testen und Ihr Wissen zu erweitern. Mögliche Lösungen der Übungen finden Sie (in englischer Sprache) auf dieser Internetseite: http://www.c-for-dummies.com/begc4d/exercises
Wie dieses Buch vorgeht
Dieses Buch behandelt die Programmiersprache C. Es geht von der Annahme aus, dass Sie nur wenig oder überhaupt nichts über das Programmieren wissen und es endet mit einigen fortgeschrittenen Möglichkeiten der Programmiersprache C.
Um in C zu programmieren, benötigen Sie einen Computer. Für dieses Buch ist es unerheblich, welchen Computer Sie besitzen. Es kann ein Windows-PC sein, ein MacIntosh, aber auch ein Linux-System. Grundlage für die gesamte Programmierung in diesem Buch ist die Installation und Nutzung der integrierten Entwicklungsumgebung (IDE) von Code::Blocks. Die dazu erforderlichen Schritte werden in Kapitel 1 erläutert.
Dieses Buch verliert keine Zeit, Sie gehen schon in Kapitel 1 an den Start. Aber nichts wird ohne eine ausführliche Erläuterung eingeführt, obwohl es aufgrund der Eigenart der Programmierung einige Ausnahmen gibt (diese sind allerdings sorgfältig im Text aufgeführt). Abgesehen davon entwickelt sich der Stoff von Anfang bis zum Ende des Buchs. Dies ist daher auch die beste Art, das Buch zu lesen.
C-Schlüsselwörter und Funktionen sind in einem Monofont gesetzt, wie etwa printf() oder break. Einige Schlüsselwörter, beispielsweise for oder if, können einen Satz sehr komisch klingen lassen; aus diesem Grund werden diese Worte in Monofont gesetzt.
Auch Filenamen erscheinen in Monofont: program.exe.
Wenn Sie etwas eingeben sollen, erscheint der Text ebenfalls in Monofont. Beispielsweise meint »Geben Sie den blorfus-Befehl ein«, dass Sie auf der Tastatur blorfus eingeben sollen. Außerdem werden Sie aufgefordert, wenn Sie drücken sollen (wenn überhaupt).
Programmbeispiele werden als Ausschnitte auf der Seite dargestellt, also beipielsweise:
if( i == 1) printf("Punkt gewonnen");Sie brauchen ein Beispiel nicht einzutippen, es sei denn, Sie werden dazu aufgefordert.
Vollständige Programmlistings sind in den einzelnen Kapiteln durchnummeriert, wie das folgende Beispiel zeigt:
Listing 1.1: Das Code::Blocks-Gerüst
#include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return(0); }Da die Seitenbreite dieses Buchs begrenzt ist, kann es vorkommen, dass ein Text umbrochen wird und in die nächste Zeile reicht. Sie müssen das bei der Eingabe nicht nachahmen; zudem weise ich Sie jedes Mal auf einen solchen Fall hin.
Die Listings in diesem Buch enthalten keine Zeilennummern, aber vom Code::Blocks-Editor werden sie angegeben (wie auch von den meisten anderen gebräuchlichen Editoren). Im Buch wird auf die Nummern der Zeilen in den Listings Bezug genommen. In diesem Fall sollten Sie die Zeilennummern des Editors verwenden.
Die Übungen sind kapitelweise durchnummeriert. Die dritte Übung in Kapitel 13 heißt dementsprechend Übung 13.3. Im Text werden Sie aufgefordert, bestimmte Übungen zu bearbeiten, beispielsweise:
Übung 1.1: Geben Sie den Quelltext von Listing 1.1 in den Code::Blocks-Editor ein. Speichern Sie ihn unter dem Filenamen ex0101. Erstellen und laufen lassen.
Die Lösungen aller Übungen finden Sie (in englischer Sprache) im Internet:
http://www.c-for-dummies.com/begc4d/exercises
Symbole in diesem Buch
Das Erinnerungs-Symbol kennzeichnet Informationen, die Sie sich merken sollten. Natürlich empfehle ich Ihnen, so viel wie möglich zu behalten, aber den mit diesem Symbol markierten Stoff dürfen Sie auf keinen Fall vergessen.
Dieses Tipp-Symbol enthält eine Empfehlung, einen Trick oder etwas besonders Verrücktes, das Ihnen weiterhilft.
Dieses Symbol kennzeichnet etwas, was Sie unbedingt vermeiden sollten. Es enthält einen Hinweis, der auch ein Tipp-Symbol tragen könnte, aber wenn Sie ihn missachten, hat das hier üble Folgen.
Sehen Sie der Wahrheit ins Auge: Jede Art der Programmierung ist technischer Natur. Ich verwende dieses Symbol für technische Leckerbissen, Nebensächlichkeiten und Anekdoten. Nennen Sie es »Stoff für Nerds«.
Gedanken zum Schluss
Ich liebe es zu programmieren. Es ist ein Hobby, ich empfinde es als ziemlich spannend, frustrierend und bereichernd. Ich gehe davon aus, dass diese Einschätzung nicht nur von einigen wenigen geteilt wird. Natürlich kann es auch sein, dass Sie ein sich quälender Student sind oder Karriere machen möchten. Wie auch immer: Haben Sie Spaß beim Programmieren. Wenn Sie sich das Programm, das Sie auf dem Schirm schreiben wollen, vorstellen können, können Sie es auch realisieren. Das mag länger dauern als Ihnen lieb ist, aber es wird werden.
Bearbeiten Sie bitte die Übungen in diesem Buch. Denken Sie sich neue aus, die das Thema variieren. Arbeiten Sie beständig an diesen Aufgaben, bis Sie sie gelöst haben. Ein faszinierender Aspekt...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.