C++ für Dummies
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
8. Auflage 2020
© 2020 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim
All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with John Wiley and Sons, Inc.
Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto: dTosh – stock.adobe.com
Korrektur: Claudia Lötschert
Print ISBN: 978-3-527-71747-7
ePub ISBN: 978-3-527-82745-9
Ich habe bereits ein paar Einsteigerbücher zu C++ geschrieben. Und davon wurden auch einige verkauft. Schauen Sie doch mal in Ihrem Bücherregal nach. Vielleicht waren Sie einer der Käufer.
Ich habe meine alten Manuskripte zugrunde gelegt, denn es war ja nicht alles schlecht. Und dann habe ich sie überarbeitet und noch einmal überarbeitet und ein weiteres Mal überarbeitet. Mein Lektor Marcel Ferner hat unglaubliche Geduld mit mir gehabt. Vielen Dank dafür.
Der Grund für die viele Arbeit war, dass ich wollte, dass das Buch möglichst leicht verständlich ist und möglichst auch etwas Spaß macht. Dafür ist es vielleicht nicht mehr so akademisch wertvoll. Aber was soll's. Ich kenne zufällig ein paar Akademiker und weiß, dass sie durchaus leicht verständliche Bücher schätzen.
Es gibt da diverse Schriftvariationen, die man verwenden kann, um ein paar Dinge hervorzuheben. Ich hatte hier folgende Ideen:
www.informationen.de/im/internet
.Befehle
und Schlüsselwörter
haben diese etwas langweilige Schrift.Namen
. Diese Namen werden auch als Bezeichner
bezeichnet. Das zeichnet sie aus.Ich gehe nicht davon aus, dass Sie bereits irgendeine Programmiersprache beherrschen. Ich setze voraus, dass Sie wissen, was ein Computer ist, und dass Sie damit grundlegend umgehen können.
Das Buch wird Ihnen allerdings nur etwas nützen, wenn Sie selbst programmieren. Dazu habe ich ein paar Übungen ersonnen. Es ist wie beim Schnitzen, beim Malen, beim Singen oder Musizieren. Wenn Sie das Buch nur lesen, mögen Sie viel erfahren, wie es wäre, wenn man programmieren könnte. Aber lernen werden Sie es nur, indem Sie es selbst tun.
Sie finden bei einigen Listings hinter den Beschriftungen in Klammern einen Dateinamen, der darauf hinweist, dass es diese Listings als Quellcode zum Download gibt. Ich habe sie in einer ZIP-Datei gesammelt, die Sie aus dem Internet unter einer der folgenden URLs herunterladen können:
http://wiley-vch.de/ISBN9783527717477
http://www.willemer.de/cpp4dummies
Die Downloads sollen Ihnen das Tippen und die Suche der Tippfehler ersparen. Ich habe sogar Musterlösungen für die Übungen geschrieben, obwohl ich immer noch nicht sicher bin, ob das eine gute Idee war. Denn wenn Sie nicht selbst auf die Lösung kommen, bringt Sie die Musterlösung nicht viel weiter. Also meine Empfehlung ist: Vergessen Sie die Musterlösungen. Vielleicht habe ich sogar Fehler hineingebaut.
Hier sehen Sie im Überblick, was Sie in diesem Buch lernen können.
Als ich dieses Buch schrieb, durfte ich mir ein paar Symbole aussuchen, die Sie nun immer wieder sehen werden. Sie müssen sie nicht auswendig lernen. Sie werden vermutlich schon am Inhalt merken, was sie bedeuten. Aber damit alles seine Ordnung hat, stelle ich Ihnen die Symbole kurz vor.
Die Formalitäten sind erledigt. Nun werden Sie Ihren Computer satteln und damit in die wunderbare Welt der Programmierung reiten. Dabei wird Ihr PC Dinge kennenlernen, die er nie zuvor gesehen hat.
Falls Sie dieses Buch richtig gut finden, senden Sie eine Mail an den Verlag, schreiben Sie eine Rezension für Amazon und informieren Sie das Fernsehen.
Falls das Buch nicht so toll finden, schicken Sie eine Mail an cppfuerdummies@willemer.de
. Ich werde sie lesen, und sobald ich die Schmach überwunden habe, dass ein Leser mich nicht verstanden hat, werde ich Ihnen antworten. Sie dürfen an diese Adresse aber selbstverständlich auch dann schreiben, wenn Sie an dem Buch Gefallen gefunden haben.
Norgaardholz
Arnold Willemer
Teil I
Kapitel 1
IN DIESEM KAPITEL
Es spricht einiges dafür, dass Sie dieses Buch lesen, um zu lernen, wie Sie Ihren Computer in C++ programmieren können. So etwas geschieht in folgenden Schritten:
Sie werden einen Compiler brauchen. Davon gibt es jede Menge für alle möglichen Betriebssysteme. Ihr Chef wird Ihnen sicher gern auf Ihrem Arbeitsplatz einen Compiler zur Verfügung stellen. Sollten Sie keinen so fürsorglichen Chef haben, der sich so rührend um Sie kümmert, sollten Sie Kapitel 24 lesen. Ich warte hier solange auf Sie. Dann können wir anfangen.
Ein C++-Programm besteht mindestens aus der Funktion main
. Keine Sorge, was eine Funktion ist, wird in Kapitel 7 genau erklärt. In jedem C++-Programm muss irgendwo der Name main
mit einem Klammernpaar stehen, dem die Silbe int
voransteht.
In manchen Fällen stehen zwischen den Klammern ein paar kryptisch anmutende Zeichen. Lassen Sie sich nicht verwirren. Was diese Zeichen zwischen den Klammern bewirken, werden Sie noch rechtzeitig erfahren.
Die Hauptfunktion beginnt direkt nach einer öffnenden geschweiften Klammer und endet mit der passenden schließenden Klammer. Was dazwischen steht, nennt man einen Block. In diesem Block zwischen den geschweiften Klammern stehen Anweisungen für den Computer. Sie werden nacheinander ausgeführt.
Wenn wir schon einmal ein Programm haben, das nichts tut, wollen wir es auch um Befehle erweitern, die nichts tun: Kommentare. Sie dienen zur Dokumentation des Programms. Unverständliche Programme werden zu Fehlern führen. Gute Kommentare helfen beim Verständnis.
Sie sehen, es gibt zwei Arten von Kommentaren.
/* und */ umschließen einen Kommentar. Sie können die Kommentarklammern allerdings leider nicht verschachteln. Mit dem ersten Auftreten der Kombination /* beginnt der Kommentar. Er endet mit dem ersten Auftreten der Kombination */. Dazwischen liegende Kommentaranfangzeichen gehören zum Kommentar. Der Compiler wird den folgenden Text als Programm ansehen und versuchen, ihn zu übersetzen.
Die Kommentare sollen dokumentieren, warum das Programm so und nicht anders geschrieben wurde, und richten sich an Programmierer. Dies können Kollegen sein, die Ihr Programm korrigieren oder erweitern sollen. Aber noch öfter helfen Sie sich selbst damit. In der Praxis ist es so, dass Sie vermutlich auch herangezogen werden, wenn eines Ihrer Programme nicht korrekt läuft oder ergänzt werden soll. Da Sie zwischendurch andere Programme geschrieben haben werden, vielleicht geheiratet haben, umgezogen sind und noch drei weitere Programmiersprachen gelernt haben, werden Sie dankbar sein, wenn Sie in den Programmen ausführliche Hinweise finden, wie und warum es so funktioniert oder zumindest funktionieren soll.
Das erste Fachbuch über C zeigte als erstes Programm eines, das »Hello World!« auf dem Bildschirm ausgab. Seither grüßen fast alle Programmierbücher erst einmal die Welt. Ich finde, dass Munkbrarup in den Fachbüchern dieser Welt zu kurz kommt.
In der ersten Zeile sehen Sie die Anweisung an den Compiler, die Datei iostream an dieser Stelle einzufügen. Solche #include
-Anweisungen führen dazu, dass das Programm die Funktionen einer Bibliothek kennenlernt. Das Grußprogramm findet dort heraus, wer eigentlich std::cout
ist.
Nachdem der Compiler nun weiß, wer std::cout
ist, wollen Sie es vermutlich auch wissen.
cout
steht für »character out«. Es handelt sich um den Ausgang, zu dem die Zeichen auf den Bildschirm geschickt werden. Und damit sie den Weg auch sicher finden, weisen zwei Kleinerzeiichen dem Gruß an Munkbrarup den Weg.std
ist ein Namensraum und besagt, dass cout
unter dem Suchbegriff std
zu finden ist.::
ist der Trenner zwischen Namensraum und Bezeichner.Am Ende der Zeile finden Sie mit std::endl
noch das Zeilenendezeichen. Damit werden nachfolgende Ausgaben in die nächste Zeile geschickt.
Ansonsten sind die Anführungszeichen noch bemerkenswert. Sie umrahmen jedes Literal einer Zeichenkette. Damit weiß der Compiler, dass Hallo und Munkbrarup keine Befehle sind, sondern zu einem Text zusammengefasst werden sollen.
Die Symbole in iostream beginnen mit std::
. Das bedeutet, dass sich cout
und endl
im Namensraum std
befindet. Sie können sich das Eintippen von std::
sparen, wenn Sie mit der Anweisung using namespace
den Namensraum std
einbinden.
Sie können nun zwischen die Anführungszeichen (beinahe) beliebige Texte setzen. Aber noch interessanter ist es, Zahlen einzusetzen. Wenn Sie zwischen die Zahlen noch Operatoren wie das Plus- oder Minuszeichen setzen, kann Ihr Programm sogar rechnen.
Wenn Sie das Programm übersetzen und starten, wirft es die Zahl 2241 auf dem Bildschirm aus. Da es auf Tastaturen keinen mittigen Punkt gibt, behelfen sich die meisten Programmiersprachen mit einem Stern als Operator für die Multiplikation. Für die Division hat sich der Schrägstrich durchgesetzt. Auch die Klammern können Sie genau wie in der Mathematik üblich einsetzen.
Sogar Nachkommastellen sind möglich, sofern Sie damit zurechtkommen, dass das Komma ein Punkt ist.
So wie nur selbst essen fett macht, lernen Sie das Programmieren nur dadurch, dass Sie es selbst tun. Aus diesem Grund habe ich mir einige Aufgaben ausgedacht. Aber werden Sie kreativ und verwirklichen Sie auch eigene Programmideen!