Hallo Core'ler,
in diesen Tutorial möchte ich euch erklären wie man eine einfach Ausgabe in der
Konsole programmieren kann. Ich werde zuerst denn Code Posten und dann eine
Erklärung dazu schrieben. Ich werde Versuchen die Erklärung so kurz wie möglich zu halten.
Aber zuerst etwas Allgemeines.
Der Compiler
Den Compiler muss man sich so vorstellen das er denn Quellcode in eine für denn Computer verständliche Sprache umwandelt, da der Computer ja nur 0 und 1 kennt. Zuerst ließt der Compiler alle Prärprozessor Anweisung die mit einem # gekennzeichnet werden. Dann geht er Zeile für Zeile vor und übersetzt denn Code. Damit der Code ohne Fehler compiliert werden kann muss der Quellcode und natürlich der Compiler sich an denn ANSI Standard halten.
Der ANSI Standard
Da es ja verschiedene Betriebssysteme gibt gibt es ja auch verschiedene Compiler die denn Quelltext für die verschiedenen Betriebssysteme Übersetzten müssen. Deswegen wurde der ANSI Standard ( American National Standards Institute ) eingeführt. Wenn ein Compiler und der Programmierer sich an diesen Standard hält kann der Quellcode immer ohne Fehler compiliert werden.
Quellcode:
Ausgabe:
Erklärung:
In Zeile 1 steht [FONT="Courier New"][COLOR="Silver"]#include <iostream>[/COLOR][/FONT]. Alle Anweisungen die mit einem # Anfangen nennt man Prärprozessor Anweisungen. Diese werden von dem Compiler zuerst "gelesen" erst danach geht er Zeile für Zeile vor und wandelt denn Code in eine für denn Computer verständliche Sprache um. Dann folgt ein include <iostream>. Das include bedeutet das eine fremde Datei eingebunden wird. Das iostream steht für Input/Output Stream. Ohne diese wäre kein cout oder cin möglich. Das iostream wird von eckigen Klammern (< >) "umschlungen". Diese muss man benutzten wenn man eine Header Dateien einbindet die nicht selber geschrieben wurde oder separat installiert wurden. In Zeile 3 steht [FONT="Courier New"]using namespace std;[/FONT] Hier wird der Namens Bereich std (Standart) festgelegt. Dies benutzt man wenn man mit mehreren Quellcode Dateien arbeitet. Da man Funktionen und Variablen Namen zuweisen kann, würde es zu Konflikten kommen wenn mehrere Variablen oder Funktionen gleiche Namen hat. Deswegen weißt man ihnen einen Namensbereich zu (in diesem Fall std).
In Zeile 5 steht [FONT="Courier New"][COLOR="Silver"]int main()[/COLOR][/FONT]. Der Integer Datentyp (int) bedeutet in diesem Fall das die Funktion main() einen Wert des
Typs int zurück liefert. Was Datentypen sind und wozu man sie braucht werde ich aber später nochmal erklären. main() ist eine Funktion. Funktionen benutzt man um einen oft genutzten teil zusammen zufassen um ihn nicht immer neu schreiben zu müssen (z.B.: Menüs in Spielen). Dadurch wird der Quellcode übersichtlicher und leichter zu verstehen. Da wir aber kein Meter langen Quellcode haben scheint dies ja eigentlich ziemlich unnötig. Jedes C++ Programm braucht aber eine Funktion die main - Funktion. Diese dient als Einsprungpunkt für das Programm. In denn klammern () werden Parameter ( Werte) übergeben (z.B.: bei einer komplexen Rechnung), Da es aber nur eine Funktion gibt ist das eigentlich überflüssig. Nach dem Funktionsnamen folgt der Code Block der zu der Funktion gehört. Ein Code Block wird mit einer öffnenden geschweiften Klammer eingeführt und mit einer schleißenden geschweiften Klammer geschlossen. Was zwischen denn Klammern steht ist das Herzstück des Quellcodes, da hier das Programm erst los geht.
In Zeile 7 steht [COLOR="SILVER"][FONT="Courier New"]cout << "Hallo Welt!" << endl;[/FONT][/COLOR]. cout (console out) weißt dem Compiler an das etwas ausgegeben werden soll. Danach folgen zwei eckige Klammern ( << ). Alles was danach kommt wird ausgegeben. Text denn man ausgeben will wird in Ausrufungszeichen ( "" ) angegeben. In unserem Fall "Hallo Welt", man kann natürlich dort hinschreiben was man will aber im Laufe der Zeit hat es sich so eingebürgert das man als erstes Programm eine Ausgabe mit Inhalt "Hallo Welt" schreibt. Nach dem Text folgen 2 weitere eckige Klammern und ein endl. Das endl bedeutet Übersetzt end of line, also das hier das Ende der Zeile ist und alles was danach kommt wird in der nächsten Zeile ausgegeben. Am Ende der cout Anweisung steht ein Semikolon ( ; ), dass dem Compiler an weißt das der cout "Befehl" nun beendet ist.
In Zeile 9 steht [COLOR="Silver"][FONT="Courier New"]return 0;[/FONT][/COLOR]. Dies hat mehrere Aufgaben. 1. sagt return 0 dem Compiler das Wert 0 zurück gegeben wird. JEDE Funktion muss einen Wert zurück geben, da sie sonst nicht funktioniert. In diesem Fall sagen wir einfach das der Wert 0 zurück gegeben werden soll. Funktionen werde ich aber in einem anderen Tutorial nochmal genau erklären. Die 2. Aufgabe von return ist, dass es dem Compiler sagt das die Funktion ( in diesem Fall main() ) nun beendet wird.
Falls noch irgend etwas unklar ist bitte ich darum dies hier in denn Thread oder mir PM mitzuteilen.
Mfg Nydn
in diesen Tutorial möchte ich euch erklären wie man eine einfach Ausgabe in der
Konsole programmieren kann. Ich werde zuerst denn Code Posten und dann eine
Erklärung dazu schrieben. Ich werde Versuchen die Erklärung so kurz wie möglich zu halten.
Aber zuerst etwas Allgemeines.
Der Compiler
Den Compiler muss man sich so vorstellen das er denn Quellcode in eine für denn Computer verständliche Sprache umwandelt, da der Computer ja nur 0 und 1 kennt. Zuerst ließt der Compiler alle Prärprozessor Anweisung die mit einem # gekennzeichnet werden. Dann geht er Zeile für Zeile vor und übersetzt denn Code. Damit der Code ohne Fehler compiliert werden kann muss der Quellcode und natürlich der Compiler sich an denn ANSI Standard halten.
Der ANSI Standard
Da es ja verschiedene Betriebssysteme gibt gibt es ja auch verschiedene Compiler die denn Quelltext für die verschiedenen Betriebssysteme Übersetzten müssen. Deswegen wurde der ANSI Standard ( American National Standards Institute ) eingeführt. Wenn ein Compiler und der Programmierer sich an diesen Standard hält kann der Quellcode immer ohne Fehler compiliert werden.
Quellcode:
Ausgabe:
Erklärung:
In Zeile 1 steht [FONT="Courier New"][COLOR="Silver"]#include <iostream>[/COLOR][/FONT]. Alle Anweisungen die mit einem # Anfangen nennt man Prärprozessor Anweisungen. Diese werden von dem Compiler zuerst "gelesen" erst danach geht er Zeile für Zeile vor und wandelt denn Code in eine für denn Computer verständliche Sprache um. Dann folgt ein include <iostream>. Das include bedeutet das eine fremde Datei eingebunden wird. Das iostream steht für Input/Output Stream. Ohne diese wäre kein cout oder cin möglich. Das iostream wird von eckigen Klammern (< >) "umschlungen". Diese muss man benutzten wenn man eine Header Dateien einbindet die nicht selber geschrieben wurde oder separat installiert wurden. In Zeile 3 steht [FONT="Courier New"]using namespace std;[/FONT] Hier wird der Namens Bereich std (Standart) festgelegt. Dies benutzt man wenn man mit mehreren Quellcode Dateien arbeitet. Da man Funktionen und Variablen Namen zuweisen kann, würde es zu Konflikten kommen wenn mehrere Variablen oder Funktionen gleiche Namen hat. Deswegen weißt man ihnen einen Namensbereich zu (in diesem Fall std).
In Zeile 5 steht [FONT="Courier New"][COLOR="Silver"]int main()[/COLOR][/FONT]. Der Integer Datentyp (int) bedeutet in diesem Fall das die Funktion main() einen Wert des
Typs int zurück liefert. Was Datentypen sind und wozu man sie braucht werde ich aber später nochmal erklären. main() ist eine Funktion. Funktionen benutzt man um einen oft genutzten teil zusammen zufassen um ihn nicht immer neu schreiben zu müssen (z.B.: Menüs in Spielen). Dadurch wird der Quellcode übersichtlicher und leichter zu verstehen. Da wir aber kein Meter langen Quellcode haben scheint dies ja eigentlich ziemlich unnötig. Jedes C++ Programm braucht aber eine Funktion die main - Funktion. Diese dient als Einsprungpunkt für das Programm. In denn klammern () werden Parameter ( Werte) übergeben (z.B.: bei einer komplexen Rechnung), Da es aber nur eine Funktion gibt ist das eigentlich überflüssig. Nach dem Funktionsnamen folgt der Code Block der zu der Funktion gehört. Ein Code Block wird mit einer öffnenden geschweiften Klammer eingeführt und mit einer schleißenden geschweiften Klammer geschlossen. Was zwischen denn Klammern steht ist das Herzstück des Quellcodes, da hier das Programm erst los geht.
In Zeile 7 steht [COLOR="SILVER"][FONT="Courier New"]cout << "Hallo Welt!" << endl;[/FONT][/COLOR]. cout (console out) weißt dem Compiler an das etwas ausgegeben werden soll. Danach folgen zwei eckige Klammern ( << ). Alles was danach kommt wird ausgegeben. Text denn man ausgeben will wird in Ausrufungszeichen ( "" ) angegeben. In unserem Fall "Hallo Welt", man kann natürlich dort hinschreiben was man will aber im Laufe der Zeit hat es sich so eingebürgert das man als erstes Programm eine Ausgabe mit Inhalt "Hallo Welt" schreibt. Nach dem Text folgen 2 weitere eckige Klammern und ein endl. Das endl bedeutet Übersetzt end of line, also das hier das Ende der Zeile ist und alles was danach kommt wird in der nächsten Zeile ausgegeben. Am Ende der cout Anweisung steht ein Semikolon ( ; ), dass dem Compiler an weißt das der cout "Befehl" nun beendet ist.
In Zeile 9 steht [COLOR="Silver"][FONT="Courier New"]return 0;[/FONT][/COLOR]. Dies hat mehrere Aufgaben. 1. sagt return 0 dem Compiler das Wert 0 zurück gegeben wird. JEDE Funktion muss einen Wert zurück geben, da sie sonst nicht funktioniert. In diesem Fall sagen wir einfach das der Wert 0 zurück gegeben werden soll. Funktionen werde ich aber in einem anderen Tutorial nochmal genau erklären. Die 2. Aufgabe von return ist, dass es dem Compiler sagt das die Funktion ( in diesem Fall main() ) nun beendet wird.
Falls noch irgend etwas unklar ist bitte ich darum dies hier in denn Thread oder mir PM mitzuteilen.
Mfg Nydn