C++-Programmierung: Das erste Programm

Aus Wikibooks
Alte Seite
Diese Seite gehört zum alten Teil des Buches und wird nicht mehr gewartet. Die Inhalte sollen in das neue Buch einfließen: C++-Programmierung/ Inhaltsverzeichnis.
Eine aktuelle Seite zum gleichen Thema ist unter C++-Programmierung/ Einführung in C++/ Hallo, du schöne Welt! verfügbar.

Jede Einführung in eine Programmiersprache beginnt überlichweise mit einem Hello World-Programm - so auch diese. Dieses Programm soll dem Leser einen ersten Einblick in das erlauben, was ihm in der jeweiligen Sprache begegnen wird.

Das erste Programm in C++[Bearbeiten]

Das folgende C++-Programm gibt den Text 'Hello World auf dem Bildschirm aus.

#include <iostream>

using namespace std;

int main()
{
   cout << "Hallo Welt" << endl;

   return 0;
}

Erläuterung[Bearbeiten]

Oben steht der Quelltext des Programms, aus dem der Compiler eine ausführbare Programmdatei erzeugen kann.

Die Textzeilen #include <iostream> und #include <ostream> erlauben den Zugriff auf die Ein- und Ausgabe-Bibliothek. Darin werden Mittel zur Verfügung gestellt, die in dem Programm für die Ausgabe gebraucht werden. Mehr dazu erfahren Sie gleich. Bei den meisten Compilern reicht hierfür übrigens bereits die Zeile #include <iostream>.

Die Zeile // das erste Programm stellt einen Kommentar dar. Der Kommentar macht eigentlich nichts. Er hat nur den Zweck einer Erläuterung oder einer Gedächtnisstütze für den Programmierer. So ein Kommentar beginnt mit zwei aufeinanderfolgenden Schrägstrichen // und reicht bis zum Zeilenende. Es gibt neben dem // Kommentar auch noch den /* */ Kommentar. Dieser beginnt mit /*, endet mit */ und kann auch über mehrere Zeilen gehen.

Die Zeile int main() leitet die Definition der Funktion main ein. Jedes C++-Programm enthält eine Funktion namens main. Sie bildet den Einsprungpunkt für das Programm. Im Funktionsrumpf von main wird festgelegt, was die Funktion machen soll. Der Funktionsrumpf ist durch die geschweiften Klammern { und } eingerahmt.

Die Zeile std::cout << "Hallo Welt!" << std::endl; ist eine Anweisung zur Ausgabe des Textes Hallo Welt!. Sehen wir uns die Bestandteile der Anweisung im Einzelnen an:

  • Zunächst steht dort std::cout, das Objekt für die sogenannte Standardausgabe. Damit ist das Ziel gemeint, auf dem die Zeichen ausgegeben werden; üblicherweise ist dies der Bildschirm des Computers.
  • Bei den Zeichen << handelt es sich um einen Operator. Damit wird der nachfolgende Text auf die Ausgabe gelenkt.
  • In diesem Fall wird also "Hallo Welt!" nach std::cout gelenkt. Dabei dienen die beiden Anführungszeichen " zur Kennzeichnung von Anfang und Ende des Textes. Die Anführungszeichen sind Bestandteil der C++-Syntax und werden nicht mit ausgegeben.
  • Es folgt wieder der Operator <<, der die nachfolgenden Bestandteile auf die Ausgabe lenkt. Sie können sich das so vorstellen, dass die Bestandteile durch den Operator << miteinander verbunden werden.
  • Mit std::endl wird ein Zeilenvorschub ausgegeben und die Ausgabe eventuell gepufferter Zeichen bewirkt.
  • Das Semikolon ; schließt die Anweisung ab. Es ist in C++ kein Anweisungstrenner sondern Bestandteil der Anweisung, d.h. es muss am Ende jeder Anweisung stehen.

return 0; legt den Rückgabewert der Funktion fest. In der main-Funktion veranlasst dieser Befehl das Programm dazu, sich mit Code 0 zu beenden. Üblicherweise bedeutet der Code 0, dass das Programm „erfolgreich“ beendet wurde, andere Werte werden verwendet, um einen Fehler im Programmablauf anzuzeigen. Wie auf den Rückgabewert reagiert werden soll, ist von C++ nicht festgelegt und hängt vom Betriebssystem ab. Bei Compilern, welche die Sprache C++ gemäß dem ISO-Standard implementieren, darf return 0; auch weggelassen werden.

Das Objekt für die Standardausgabe std::cout, der Operator << und der Manipulator für den Zeilenvorschub std::endl stammen aus der Ein-Ausgabe-Bibliothek. Der Zugriff auf std::cout wird durch die Zeile #include <iostream> ermöglicht. Der Ausgabeoperator << und der Manipulator für den Zeilenvorschub std::endl werden durch die Zeile #include <iostream> zur Verfügung gestellt. Die Definition dieser Elemente befindet sich im Namensraum der Standardbibliothek, daher wird den Objekten std:: vorangestellt.

Beachten Sie, dass C++ zwischen Klein- und Großschreibung unterscheidet! Wenn Sie also beispielsweise Main statt main schreiben, wird der Compiler dies zurückweisen, und das Programm lässt sich nicht kompilieren. Wenn man z.B. Die Variable "Hallo" erzeugt ist dies eine andere Variable wie z.B. "hallo" oder "haLLo".

Aufgaben[Bearbeiten]

  • Versuchen Sie, das obige Programm zu kompilieren und auszuführen.
    • Wenn Sie mit dem Betriebssystem Linux arbeiten, steht Ihnen der GNU-Compiler gcc zur Verfügung, den Sie mit g++ aufrufen. Eine gute Kurzanleitung für diesen Compiler finden Sie hier. Ausführliche Informationen gibt es mit den Linux-üblichen Hilfebefehlen, also mit man gcc oder info gcc.
    • Für MS Windows können Sie sich unter www.MinGW.org eine Variante des GNU-Compilers für Windows kostenlos herunterladen. Dort erhalten Sie auch Informationen, wie Sie den Compiler installieren und starten. Unter bloodshed.net/dev ist die IDE Dev C++ zu finden, welche ebenfalls den MinGW Compiler benutzt. Weitere Informationen erhalten Sie auch im Abschnitt Informationen zu verschiedenen Compilern.
    • Für Mac OS X können Sie sich die aktuellen Developer Tools auf developer.apple.com herunterladen.
  • Verändern Sie das Programm. Ändern Sie den Quelltext, übersetzen Sie ihn neu, und probieren Sie aus, was passiert. Zum Beispiel können Sie einen anderen Text eingeben. Oder sehen Sie, was dabei herauskommt, wenn Sie die Anweisung mehrfach hintereinander ausführen.