Hello World

Immer wenn man eine neue Programmiersprache lernt, beginnt man mit dem 'Hallo Welt' Programm.

Das 'Hallo Welt' Programm gibt einfach "Hallo Welt" auf dem Bildschirm aus. Das ist nicht viel, aber schon einer sehr gute Grundlage um darauf aufzubauen!

    #include<iostream>
    using namespace std;

    int main()
    {
      cout<<"Hallo Welt\n";
      cin.get();
    }

Puh, das ist schwer!

Auf die ersten beiden Zeilen werden wir später eingehen, fürs erste lassen wir sie einfach mal stehen und merken uns, dass wir sie für nahezu alle unsere Programme brauchen werden.

cout repräsentiert ein Ausgabeobjekt. Stell dir dies ersteinmal als eine Kiste vor. Alles was wir in diese Kiste reingeben, wird auf der Standardausgabe (im Normalfall der Bildschirm) ausgegeben. Wie das genau vor sich geht ist unwichtig (schließlich hängt dieser Vorgang von dem verwendeten Betriebssystem ab, und da kocht jedes sein eigenes Süppchen) Wichtig ist nur, dass wir uns darauf verlassen können, dass unsere Daten ausgegeben werden. Der <<-Operator dient uns in diesem Fall dazu, etwas in die Kiste zu schieben. In diesem Fall also die Zeichenkette "Hallo Welt\n". Und diese wird dann ausgegeben.

cin repräsentiert ein Eingabeobjekt. Auch dieses können wir uns als Kiste vorstellen. In dieser Kiste liegen alle Eingaben, die von einem User getätigt wurden. Mit dem Befehl von cin.get() holen wir uns das nächste Eingabezeichen aus dieser Kiste. Alternativ könnten wir auch den >>-Operator verwenden. So wie der <<-Operator etwas in das Ausgabeobjekt "reinschiebt", so holt der >>-Operator etwas aus dem Eingabeobjekt heraus.

Tip!!Unter umständen reicht ein cin.get(); nicht aus um das schließen des Fensters zu verhindern. Dann kann man mit cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); den Eingabepuffer löschen.
Kurze Erklärung: cin.clear() versetzt cin wieder in den Ursprungsstatus (zB Fehler werden wieder zurückgesetzt). cin.ignore(cin.rdbuf()->in_avail()); löscht alle Zeichen die noch im Einagebpuffer stehen (wenn man cin.get() schreibt, und jemand gibt 2 Zeichen ein, bleibt 1 Zeichen im Puffer stehen - denn cin.get() liest ja nur eines aus).

Die interessante Nebenerscheinung davon ist, dass der User nun einmal ENTER drücken muss, um unser Programm zu beenden.

Warum \n am Schluss? Ganz einfach: \n ist das Zeichen für Zeilenumbruch. Es gibt noch eine Menge mehr von diesen 'Escape Sequenzen', aber später mehr dazu.

Mit ; werden Anweisungen beendet. D.h. damit sagen wir dem Compiler: "Hey du! Hier ist der Befehl zuende." Der Sinn davon ist der:

    cout<<"Hallo Welt\n";cin.get();

Man kann auch alles in eine Zeile schreiben und der Compiler macht trotzdem keinen Blödsinn. Man sollte aber trotzdem immer schön brav neue Zeilen machen, da der Code sonst schwer lesbar wird.

Alles was zwischen { und } steht ist ein Anweisungsblock (die Klammern gehören auch noch dazu). Ein Anweisungsblock fasst viele (oder auch garkeine, dann ist er ein 'leerer Anweisungsblock' - siehe Unser erstes Programm) Anweisungen zusammen. Damit der Compiler weiß welche Anweisungen zu main() gehören müssen wir ihm dies mitteielen. Dies geschieht über eben solche Anweisungsblöcke.

Ein Anweisungsblock kann auch wieder viele Anweisungsblöcke beinhalten.

Wie wäre es jetzt mit einem Programm, das dich nach dem Wetter fragt und nach einem Druck auf die Enter-Taste meint, dass das Wetter heute schön ist?

Das ist deine erste Aufgabe. Nicht ganz leicht, aber schaffbar.

Hier ist die Lösung

top