C++-Programmierung/ Einführung in C++/ Zusammenfassung
Aus Wikibooks
Ein C++-Programm beginnt mit der Hauptfunktion main().
Inhaltsverzeichnis |
[Bearbeiten] Ein- und Ausgabe
Die Ein- und Ausgabe erfolgt in C++ über Streams, mehr dazu erfahren Sie in einem der folgenden Abschnitte. Um die Ein- und Ausgabe zu nutzen müssen Sie die Headerdatei iostream einbinden. Die Streamobjekte cin und cout liegen im Namensraum std. Auf Elemente innerhalb eines Namensraums wird mit dem Bereichsoperator :: zugegriffen.
int main(){
std::cout << "Das wird Ausgegeben.\n";
int wert;
std::cin >> wert;
std::cout << "Wert ist: " << wert << std::endl;
}
endl fügt einen Zeilenumbruch ein und leert anschließend den Ausgabepuffer.
Mit der using-Direktive könne auch alle Elemente eines Namensraums verfügbar gemacht werden.
using namespace std;
int main(){
cout << "Das wird Ausgegeben.\n";
int wert;
cin >> wert;
cout << "Wert ist: " << wert << endl;
}
[Bearbeiten] Kommentare
Es gibt in C++ zwei Arten von Kommentaren
[Bearbeiten] Rechnen
C++ beherrscht die 4 Grundrechenarten, die Operatoren lauten +, -, * und /. Es gilt Punkt- vor Strichrechnung und Klammern ändern die Auswertungsreihenfolge. Weiterhin bietet C++ mit dem Zuweisungsoperator kombinierte Rechenoperatoren:
Für Ganzzahlige Datentypen stehen weiterhin der Inkrement- und der Dekrementoperator, jeweils in einer Prä- und einer Postfixvariante zur Verfügung:
lvalue++; // Erhöht den Wert und gibt den alten Wert zurück
--lvalue; // Erniedriegt den Wert und gibt ihn zurück
lvalue--; // Erniedriegt den Wert und gibt den alten Wert zurück
Die Rückgabe der Präfixvariante ist ein lvalue, die Postfixvariante gibt ein rvalue zurück.
[Bearbeiten] Variablen
Die Syntax zur Deklaration einer Variable lautet:
[Bearbeiten] Datentypen
Die C++-Basisdatentypen sind:
- Typlos
- void (wird später erläutert)
- Logisch
- bool
- Zeichen (auch Ganzzahlig)
- char ( signed char und unsigned char)
- wchar_t
- Ganzzahlig
- short ( signed short und unsigned short)
- int ( signed int und unsigned int)
- long ( signed long und unsigned long)
- Gleitkommazahlen
- float
- double
- long double
Die Typmodifizierer signed und unsigned geben an, ob es sich um einen Vorzeichenbehafteten oder Vorzeichenlosen Typ handelt. Ohne diese Modifizierer wird ein Vorzeichenloser Typ angenommen, außer bei char. Hier ist es Implementierungsabhängig. signed und unsigned können ohne Datentyp verwendet werden, dann wird int als Typ angenommen.
Das Schlüsselwort const zeichnet einen Datentyp als konstant aus. Es steht links vom, zu dem es gehört, außer links steht nichts mehr, in diesem Fall gehört es zu dem was rechts davon steht. Es ist somit egal ob Sie const vor oder hinter einen Basisdatentyp schreiben:
C++ macht keine Angaben über die Größen der Datentypen, es ist lediglich folgendes festgelegt:
- char <= short <= int <= long
- float <= double <= long double
[Bearbeiten] Initalisierung
In C++ gibt es 2 Möglichkeiten für eine Initialisierung:
Die erste Variante ist verbreiteter, aber nur möglich wenn zur Initialisierung nur 1 Wert benötigt wird. Alle Basisdatentypen erwarten genau einen Wert.
[Bearbeiten] Typaufwertung
Wird ein Operator auf verschiedene Datentypen angewendet, müssen vor der Operation beide in den gleichen Typ konvertiert werden. Der Zieltyp ist üblicherweise der kleinste, der beide Werte darstellen kann. Für genauere Informationen lesen Sie bitte im Kapitel Rechnen mit unterschiedlichen Datentypen.
[Bearbeiten] Kontrollstrukturen
[Bearbeiten] Anweisungsblöcke
Mit einem Anweisungsblock können mehrere Anweisungen zusammengefasst werden. Er kann überall stehen wo auch eine Anweisung stehen könnte. Die Syntax sieht folgendermaßen aus:
[Bearbeiten] Verzweigung
Eine Verzweigung hat in C++ folgende Syntax
Die Bedingung ist immer ein Logischer Wert. Zahlenwerte werden implizit in logische Werte konvertiert. 0 entspricht dabei immer false, alle anderen Werte werden zu true umgewandelt.
[Bearbeiten] Schleifen
Es gibt 2 Arten von Schleifen, wobei die for-Schleife sehr mächtig ist und entsprechend öfter verwendet wird.
while(«Bedingung»)
«Anweisung»
// do-while-Schleife: Alle Anweisungen werden mindestens einmal ausgeführt. (Fußgesteuert)
do
«Anweisung»
while(«Bedingung»);
// for-Schleife: Ermöglicht die Initialisierung, die Bedingung (Kopfgesteuert) und eine Aktion,
// die nach jedem Schleifendurchlauf stattfindet, im Schleifenkopf zu platzieren
for(«Deklarationen (z.B. Zählvariablen)»; «Bedingung»; «Aktion nach einem Durchlauf (z.B. hochzählen)»)
«Anweisung»
[Bearbeiten] Auswahl
Mit der switch-Anweisung, kann eine Variable auf mehrere (konstante) Werte verglichen werden. Jedem dieser Werte können eine oder mehrere Anweisungen folgen, welcher im Falle einer Übereinstimmung ausgeführt werden, bis das Ende des switch-Blocks erreicht wird.
case «Wert»:
«Anweisung»
«...»
»break;«
«...»
default: // Wird ausgeführt, falls die Variable keinem der Werte entsprach
«Anweisung»
«...»
}