C++ Kurs

Aufbau eines C++ Programms

Die Themen:

Wichtiger Hinweis
Die main() Funktion
Allgemeine Syntax einer Anweisung
Source-Code Formatierung

Wichtiger Hinweis

Bevor wir in die C++ Programmierung so richtig einsteigen, eines gleich vorne weg:

Die Programmiersprache C++ unterscheidet streng zwischen Klein- und Großschreibung! So ist z.B. die Funktion sin(..) zur Sinusberechnung etwas anderes als die Funktion Sin(...) (die es so standardmäßig nicht gibt). Beachten Sie dies bitte unbedingt, wenn Sie Ihr Programm eingeben.

Die main() Funktion

Fangen wir gleich mit einer grundlegenden Frage an, wenn es ums Programmieren geht: welches ist denn letztendlich die erste, von Ihnen geschriebene, Anweisung die in einem Programm ausgeführt wird? Nun, jedes C++ Programm muss eine Funktion namens main(...) enthalten.


int main()   <-- hier beginnt jedes C++ Programm!
{
  ...hier stehen nachher Anweisungen
}

Oben sehen Sie den allgemeinen Aufbau der Funktion main(...). Nach dem Funktionskopf int main(...) folgt ein Paar geschweifter Klammern. Und innerhalb dieses Klammerpaares stehen die Anweisungen, die das Programm ausführen soll  Dieses 'kleine Programm' oben führt natürlich noch nichts aus, da es außer der main(...)-Funktion noch keine weiteren Anweisungen enthält.

Es gibt noch eine zweite Form der main(...)-Funktion, die es erlaubt, dem Programm beim Start zusätzliche Angaben (Parameter) mitzugeben. Diese können dann innerhalb von main(...) ausgewertet werden. Wenn Sie mehr darüber erfahren möchten, klicken Sie das Symbol links an.

Allgemeine Syntax einer Anweisung

Eine Anweisung besteht im Allgemeinen aus einem Ausdruck, dessen Ergebnis dann in der Regel irgendwie verarbeiten wird.


Anweisung über mehrere Zeilen:
value = var1 * 3.1416 +
        var2 * var2;
Mehrere Anweisungen in einer Zeile:
var1 = 10;  var2 = 0;

Im Beispiel oben wird das Ergebnis des Ausdrucks var1 * ...; einer Variablen zugewiesen. Jede Anweisung wird in der Regel mit einem Semikolon abgeschlossen. Erst dieses Semikolon teilt dem Compiler das Ende einer Anweisung mit! Daraus folgt, dass eine Anweisung sich auch über mehrere Zeilen erstrecken kann, oder auch dass mehrere Anweisungen innerhalb einer Zeile stehen dürfen. Der Zeilenumbruch spielt für den Compiler keine Rolle, er dient einzig und allein dazu, ein Programm lesbar zu gestalten. Mehr zur Formatierung eines C++ Programms nachher gleich noch.

Sie sollten allerdings mehrere Anweisungen innerhalb einer Zeile vermeiden wenn Sie beabsichtigen, das Programm mit einem Debugger im Einzelschritt-Modus auszuführen. Debugger durchlaufen in der Regel ein Programm immer zeilenweise. Falls mehrere Anweisungen nun in einer Zeile stehen, so werden alle Anweisungen innerhalb dieser Zeile auf einmal ausgeführt, was das Suchen nach Fehlern erschweren kann. Für den Ablauf des übersetzten Programms ist es letztendlich unerheblich, ob Sie mehrere Anweisungen innerhalb einer Zeile eingeben oder für jede Anweisung eine getrennte Zeile verwenden.

Und nochmals weil's so wichtig ist:

Vergessen Sie nie am Ende einer Anweisung das Semikolon! Wenn Sie es einmal vergessen haben, so meldet Ihnen der Compiler unter Umständen eine ganze Reihe von Fehlern, da er das Ende der Anweisung nicht erkennen kann!

Wie Sie später noch sehen werden, gibt es durch aus auch noch Anweisungen, die nicht mit einem Semikolon abgeschlossen werden. Dies sind aber Anweisungen, die durch einen Block {...} begrenzt werden. Mehr dazu später.

Source-Code Formatierung

Eigentlich könnten wir hier unsere erste Lektion abschließen. Da wir aber lesbare Programme schreiben wollen, hier noch einige Worte zur Formatierung des Source-Codes.

Der C++ Compiler lässt eine formatfreie Eingabe des Source-Code zu. So lässt sich das nachfolgend Programm zwar fehlerfrei übersetzen, ist jedoch schwer lesbar.


#include <iostream>
using namespace std;
short var1; void MyFunc();
int main()
{
int var2 = 10;
if (var2==10)
{ var1=1; }
cout << "var = " << var1 << endl;
}

Damit Sie ein Programm auch nach einiger Zeit noch ohne Schwierigkeiten lesen können, sollten Sie sich an folgende 3 Regeln halten:


#include <iostream>
using namespace std;

short var1;
void MyFunc();

int main()
{
   int var2 = 10;
   if (var2==10)
   {
      var1=1;
   }
   cout << "var = " << var1 << endl;
}

Und diese "Programm" sieht doch schon um einiges besser aus als das völlig unformatierte.

Aber es nicht noch nicht gut genug! Was hier noch fehlt, das erfahren Sie in der nächsten Lektion.