<sub class="descriptionSection">04-10-2024 04:18:pm // #C // [[Programmierung]]</sub> ____ Als Anweisung in C++ bezeichnet man bestimmte Keywords in der Programmiersprache. ## Schleifen In C++ gibt es drei Arten von Schleifen. - Kopfgesteuerte Schleife - Zählergesteuerte Schleife - Fußgesteuerte Schleife Die Zählergesteuerte Schleife ist hier ein besondere, da sie eigentlich unter jede andere Schleife auch fallen könnte. Gemeint ist hiermit aber vor allem die [[#Zählergesteuerte Schleife (For-Schleife)|For-Schleife]] ## Zählergesteuerte Schleife (For-Schleife) Eine Zählergesteuerte Schleife inkrementiert einen Zähler automatisch **und hat eine bedingung**. Beispiel: ```cpp for(int i = 0, i < 10, i++){ cout << "Zahl: " << i << endl; } ``` > [!abstract] Anweisungsabfolge in Zählergesteuerten Schleifen > In einer Zählergesteurten Schleife werden die Anweisungen im Schleifenkopf von **links nach rechts** nacheinander ausgeführt. > Im Beispiel würde das bedeuten: > 1. In der ersten Iterierung wird die variable "i" deklariert und initialisiert > 2. In jeder anderen Iterierung wird zuerst: > 1. Gecheckt ob i kleiner als 10 ist > 2. Dann i um eins erhört > Somit würd das heißen, dass sobald I größer als 10 ist es nicht nocheinmal erhört wird. Der Output ist hier: ```text Zahl: 0 Zahl: 1 Zahl: 2 Zahl: 3 Zahl: 4 Zahl: 5 Zahl: 6 Zahl: 7 Zahl: 8 Zahl: 9 ``` Der Vorteil bei dieser Art von Schleife ist, dass man bedingungen und Zähler, etc. sparen kann. Das verbessert meist Readability aber auch nicht viel mehr. ## Kopfgesteuerte Schleife Eine Kopfgesteuerte Schleife checkt die bedingung **am anfang der Schleife**, zähler und bedingungen müssen hier selbst gemanaged werden: ```cpp while(i < 120){ //Hier wird die beindung gecheckt cout << "Hello World" << endl; i++; } ``` Diese Schleife kann von Vorteil sein, wenn die Schleife nur unter bestimmten bedingungen ausgeführt wird. Die Kopfgesteuerte Schleife kann im gegesenatz zur Fußgesteuerten Schleife (die immer mindestens einmal läuft) auch garnicht laufen: ```cpp int i = 130; while (i < 120){ //Schleife läuft nicht, da i > 130 ist cout << "Hello World" << endl; i++; } ``` ## Fußgesteuerte Schleife Die Fußgesteuerte Schleife checkt am **Ende der Schleife** ob eine Bedingung true oder false ist. ```cpp do{ cout << "Hello World" << endl; i++; } while(i < 120) //Hier wird gecheckt ``` Diese Schleife läuft immer mindestens einmal. ## Inkrementieren und Dekrementieren Für die Schliefen ist meistens ein Zähler wichtig, hierfür gibt es das Inkrementieren und Dekrementieren was grundsätzlich bedeutet das man einen Zähler erhöt oder verringert ### Prä- und Postinkrement Es gibt einen Inkrement und Dekrement operator: ```text Inkrement Operator: ++ Dekrement Operator: -- ``` Unt er Prä und Postinkrement versteht man wann das Programm eine Variable erhöt oder verringert. Prä-inkrement bedeutet, dass die Variable geändert wird, **bevor sie verwendet wird**: ```cpp int x = 5; cout << ++x << endl; // Gibt 6 aus cout << x << endl; //Gibt 6 aus ``` > [!NOTE] Code Readability > Da dieser Operator nur selten genutzt wird, sollte extra Dokumentiert werden wie er genau genutzt wird und vor allem warum Post Inkrement beduete, dass die Variable geändert wird, **nachdem sie verwendet wurde**: ```cpp int x = 5; cout << x++ << endl; // Gibt 5 aus cout << x << endl; // Gibt 6 aus ```