Das Standard–Minimal–Programm:
In C++:
// Hello-world C++ Version
#include <iostream> // pre-prozessor command
using namespace std; // declare namespace
int main() // function definition
{
cout << "Hello world" << endl;
return(0);
}
- Preprocessor command, spezifiziert
header–file für
I/O Funktion Definition.
- Function definition:
main().
Funktionen brauchen Typ (
int) und Klammern ().
Der Name
main ist speziell Hauptprogramm.
- Geschweifte Klammern
{...} schliessen
Block von Code und Deklarationen ein.
- In C++ wird I/O über sogenannte Streams gemacht:
cout <<"Hello...".
Dabei ist
cout output stream Objekt für die Standard-Ausgabe. Wird in
header–file iostream deklariert
(s.o.).
- Semikolon
; wichtig, schliesst jede Anweisung
(=Statement) ab.
Zeilenende spielt keine Rolle, ein Statement kann sich über
beliebig viele Zeilen erstrecken.
- I.a. geben Funktionen einen Wert zurück. Hier wird einfach
mit
return(0) der
int Wert
0
zurückgegeben.
- Kommentare alles nach
// bis Zeilenende
- namespace Deklaration bei aktuellen C++ Compilern nötig, definiert
Namensraum
der verwendeten Funktionen, falls nicht explizit angegeben.
Später
Erweiterte hello-world Variante:
// Hello-world with name
#include <iostream> // pre-prozessor command
using namespace std; // declare namespace
int main() // function definition
{
cout << "Your name please: ";
string name; // define string object name
cin >> name; // read string from input
cout << "Hello " + name + ", nice to meet you!" << endl;
return(0);
}
Editieren, z.B.:
kate Hello.C
oder:
gedit Hello.C
(Tip: cut & paste mit Maus aus Firefox Browser)
(
kate bzw.
gedit funktionieren nur für grafischen Desktop (X2GO). Vorgehen für JupyterHUB siehe unten)
Kompilieren:
g++ -o Hello Hello.C
Ausführen:
./Hello
Was macht der Compiler ?
Was macht der Interpreter ?
Im Prinzip dasselbe, der Unterschied ist:
- Compiler übersetzt einmal alles und schreibt Ergebnis
(=.o-File/Executable) in neues File. Anschliessend wird Executable
gestartet:
unabhängig von Compiler.
- Interpreter übersetzt einzelne Anweisung und führt sie
sofort aus, d.h. Programm wird vom Interpreter gestartet.
Konventionen (nicht generell aber für Kurs):
- C source files Endung
.c
- C++ source files Endung
.C, .cpp
- C/C++ header files Endung
.h