Dein erstes Programm – Zeichen für Zeichen
Speichere dieses Beispiel als main.cpp. Es ist vollständig: Du brauchst keine weiteren eigenen Quelldateien.
Dein erstes Programm – Zeichen für Zeichen#
Einführung · Lektion 3 von 60
Voraussetzungen: Werkzeuge. Lernziel: Du kannst ein vollständiges Programm übersetzen und seine Bestandteile erklären.
Speichere dieses Beispiel als main.cpp. Es ist vollständig: Du brauchst keine weiteren eigenen Quelldateien.
1#include <iostream>2 3int main() {4 std::cout << "Hallo Welt!\n";5 return 0;6}Die Ausgabe lautet:
1Hallo Welt!Die erste Zeile#
#include <iostream> macht die Deklarationen für die verwendete Ein- und Ausgabe verfügbar. Eine Deklaration stellt einen Namen und seine Eigenschaften vor. iostream ist ein Header, eine Datei mit Informationen für den Compiler. #include ist eine Präprozessoranweisung: Sie wird bei der Vorbereitung des Quelltexts verarbeitet. Hinter diese Zeile gehört kein Semikolon.
Die Funktion#
int main() beginnt die Definition der Funktion main. Eine Definition legt etwas vollständig fest, hier den Funktionskörper. int ist ein Datentyp für ganze Zahlen und beschreibt hier den Rückgabetyp: Die Funktion liefert am Ende eine ganze Zahl zurück.
Die runden Klammern () enthalten hier keine Parameter. Ein Parameter ist ein benannter Eingabewert einer Funktion. Die geschweiften Klammern { und } umschließen einen Block, also zusammengehörigen Code. Der Block von main heißt Funktionskörper.
Die Ausgabeanweisung#
std::cout bezeichnet den Standardausgabestrom. Ein Strom oder Stream ist eine Folge übertragener Zeichen beziehungsweise Daten. std ist ein Namensraum, der zusammengehörige Namen gruppiert. :: heißt Bereichsauflösungsoperator: Er sagt hier, dass cout zu std gehört.
<< übergibt den Text an den Ausgabestrom. Ein Operator ist ein Zeichen oder eine Zeichenfolge für eine Operation. Die doppelten Anführungszeichen kennzeichnen ein Stringliteral, also fest in den Quelltext geschriebenen Text. \n steht darin für einen Zeilenumbruch.
Das ; beendet diese Anweisung, einen auszuführenden Programmschritt. Ein Zeilenwechsel im Quelltext ersetzt das Semikolon nicht.
Das Programmende#
return 0; beendet main erfolgreich. return ist ein Schlüsselwort, ein von C++ reserviertes Wort. Die 0 ist ein Zahlenliteral. Die Zahl wird an die aufrufende Umgebung zurückgegeben; sie wird nicht auf dem Bildschirm ausgegeben.
Einrückungen machen den Aufbau lesbar. Verwende beispielsweise vier Leerzeichen innerhalb eines Blocks. Der Compiler orientiert sich bei diesem Beispiel an Klammern und Semikolons, nicht an der optischen Einrückung.
Typische Stolperstellen#
Main und main sind verschiedene Namen: C++ unterscheidet Groß- und Kleinschreibung. Typografische Anführungszeichen wie „Text“ sind keine gültigen Begrenzungszeichen für Stringliterale. Fehlt ein ;, kann der Compiler die nächste Zeile markieren, obwohl die Ursache davor liegt.
Übung#
Gib unter der Begrüßung Ich lerne C++. aus.
Lösung
Ergänze vor return die Anweisung std::cout << "Ich lerne C++.\n";. Übersetze neu und starte die neue ausführbare Datei. Wenn noch der alte Text erscheint, prüfe, ob du die Datei gespeichert hast und der Build erfolgreich war.
Ein kontrollierter Fehler zum Ausprobieren#
Speichere zuerst die funktionierende Fassung. Entferne dann nur das Semikolon hinter der Ausgabeanweisung und übersetze erneut. Der genaue Wortlaut der Fehlermeldung hängt vom Compiler ab. Suche darin nach Dateiname, Zeilennummer und dem Hinweis auf ein erwartetes Semikolon.
Prüfe die markierte Zeile und die Zeile davor.
Setze das Semikolon wieder ein.
Speichere die Datei.
Übersetze erneut und starte erst nach einem erfolgreichen Build.
Wenn der Build fehlschlägt, kann noch eine alte ausführbare Datei vorhanden sein. Deren Ausgabe beweist nicht, dass der neue Quelltext funktioniert.
Quelltext, Übersetzen, Starten#
Schritt | Was du bearbeitest oder startest | Ergebnis |
|---|---|---|
Schreiben | main.cpp im Editor | Gespeicherter Quelltext |
Übersetzen | Compiler mit dieser Datei aufrufen | Neue ausführbare Datei oder Fehlermeldung |
Starten | Die erfolgreich gebaute Programmdatei | Hallo Welt! in der Konsole |
Selbstprüfung#
Warum sind return und cout nicht dasselbe?
std::cout schreibt Text in den Ausgabestrom. return 0; beendet main und meldet Erfolg an die aufrufende Umgebung. Ohne std::cout erscheint in diesem Programm kein Begrüßungstext. Ohne explizites return 0; gilt bei Erreichen des Endes von main trotzdem die besondere Regel für erfolgreiche Rückkehr; für beliebige andere Funktionen mit Rückgabewert gilt diese Ausnahme nicht.
Weiterlernen#
Zurück: Editor, Compiler und Terminal einrichten · Kursübersicht · Weiter: Kommentare und lesbarer Quelltext
Kommentare 0
Kommentare sind für diese Seite deaktiviert.