Zusammenfassung
Diese Lektion zerlegt das minimale C++-Programm in seine Teile und erklärt die Rolle jedes einzelnen. Die Include-Direktive gibt an, von welchen Teilen der Bibliothek das Programm abhängt, und jede Komponente verlangt ihren eigenen Header, auch wenn ein anderer ihn manchmal „über Umwege“ mitbringt; die Funktion main ist der Einstiegspunkt, und ihr Rückgabewert ist der Exit-Code, den das System erhält; der Namensraum std versammelt die Namen der Bibliothek, und der Kurs schreibt sie immer mit ihrem Präfix; Anweisungen enden mit einem Semikolon, geschweifte Klammern fassen Anweisungen zu Blöcken zusammen, und Kommentare erklären, was der Code nicht von selbst sagt. Die Lektion schließt mit der Stilrichtlinie, der der Kurs in allen seinen Programmen folgt, und mit der Art, fremden Code zu lesen, der std::cout und std::endl verwendet.
Lernziele
- In einem Programm die Include-Direktive, die Funktion
main, die Anweisungen, die Blöcke und die Kommentare erkennen und die Rolle jedes dieser Teile erklären. - Erklären, was
#includebewirkt und warum jede Komponente der Bibliothek ihren eigenen Header verlangt, auch wenn das Programm mit einem bestimmten Compiler ohne ihn kompiliert. - Ein Programm mit Strukturfehlern (nicht geschlossene Klammer, fehlendes Semikolon, fehlender Header) anhand der Meldungen des Compilers korrigieren, die von der ersten an gelesen werden.
- Ein Programm nach der Stilrichtlinie des Kurses umschreiben und jede Änderung begründen.
Das minimale Programm
In der vorigen Lektion wurde ein Programm kompiliert und ausgeführt, ohne es zu untersuchen. Jetzt wird es Zeile für Zeile gelesen, denn jede Zeile antwortet auf eine andere Anforderung: eine auf die der Sprache, eine andere auf die des Betriebssystems, wieder eine andere auf die dessen, der den Code liest. Das Programm ist dieses.
// Erstes Programm: schreibt eine Zeile und endet.#include <print>int main(){ std::println("Hallo, Welt");}Hallo, WeltDie erste Zeile ist ein Kommentar: Er beginnt mit zwei Schrägstrichen und reicht bis zum Ende der Zeile, und der Compiler verwirft ihn; er ist für den geschrieben, der das Programm liest. Die zweite ist eine Include-Direktive: Sie verlangt, dass vor dem Kompilieren der Header <print> eingefügt wird, in dem die Standardbibliothek std::println deklariert. Die Leerzeile hat keinerlei Wirkung; sie trennt die Vorbereitung des Programms von seinem Inhalt. Die vierte Zeile eröffnet die Funktion main, den Ort, an dem die Ausführung beginnt, und die Klammer der fünften eröffnet ihren Block, der in der letzten Zeile geschlossen wird. Im Block steht eine einzige Anweisung, abgeschlossen mit einem Semikolon: der Aufruf von std::println, der den Text zwischen den Anführungszeichen und danach einen Zeilenumbruch schreibt.
Es ist zu beachten, dass das Programm keine Anweisung zum Beenden enthält. Erreicht die Ausführung die schließende Klammer von main, so endet sie, und das Programm teilt dem System mit, dass alles gut gegangen ist; wie, wird sich weiter unten zeigen. Daraus folgt, dass fünf Teile für ein vollständiges Programm genügen: Kommentare, Direktiven, die Funktion main, Blöcke und Anweisungen. Im Folgenden werden sie in dieser Reihenfolge untersucht, mit Ausnahme der Kommentare, die zusammen mit den Anweisungen und den Blöcken behandelt werden.
Im Begrüßungsprogramm ist die Direktive die Zeile 2; die Funktion main belegt die Zeilen 4 bis 7; ihr Block reicht von der Klammer in Zeile 5 bis zu der in Zeile 7; die einzige Anweisung ist die Zeile 6, und der einzige Kommentar die Zeile 1. Löscht man den Kommentar, so wird das Programm ebenso kompiliert und erzeugt dieselbe Ausgabe; löscht man irgendeinen der anderen Teile, so lässt es sich nicht mehr kompilieren oder ist kein Programm mehr.
Inhalt wird geladen…
Abgeschlossen
Melde dich an, um deinen Fortschritt zu speichern