Zum Inhalt springen

Verzweigungen

Verzweigungen dienen dazu, im Programm auf Ereignisse reagieren zu können.

If

if (Bedingung)
  Anweisungsblock 1
else
  Anweisungsblock 2

Wenn die Bedingung erfüllt ist, wird der Anweisungsblock 1 aufgeführt. 

Das Schlüsselwort else erweitert die Einsatzmöglichkeiten der if-Verzweigung. Der Anweisungsblock 2 wird nur ausgeführt, wenn die Bedingung nicht erfüllt ist.

Beispiel

if (i>5)
    Serial.println("Bedingung erfüllt");
  else
    Serial.println("Bedingung nicht erfüllt");

Vergleichsoperatoren

Im obigen Beispiel kam schon der Vergleichsoperator > zum Einsatz. In C gibt es insgesamt sechs Vergleichsoperatoren. Sie liefern jeweils den Wert true, wenn die beiden Operanden (die links und rechts des Operators stehen) dem Vergleichskriterium genügen, ansonsten den Wert false.

==identisch (= ist eine Wertzuweisung, also nicht mit == verwechseln)
<=ist kleiner (oder) gleich
>=ist größer (oder) gleich
<ist kleiner
>ist größer
!=ist ungleich

Logische Operatoren

Mit logischen Operatoren können mehrere Bedingungen zu einer Bedingung verknüpft werden. C bietet folgende Möglichkeiten:

!NICHTResultat wahr, wenn die Bedingung nicht erfüllt ist
&&UNDResultat wahr, wenn beide Bedingungen erfüllt sind
||ODERResultat wahr, wenn mindestens eine Bedingung erfüllt ist (inclusive-or)

switch

Die switch-Anweisung ist eine elegante Möglichkeit, mehrere verschiedene Fälle zu unterscheiden.

switch (Ausdruck)
{
   case Zahl1: Anweisungen1;
   case Zahl2: Anweisungen2;
   //...
  default: Anweisungen_sonst;
}

Innerhalb des switch-Blocks kann der Ausdruck mit verschiedene Zahlen verglichen werden. Dabei sind nur ganzzahlige Datentypen, wie int, erlaubt.

Der default-Teil darf auch fehlen.

Beispiel

switch (i)
{
  case 1:
    // Anweisungsblock für i==1
    break; // Sprung an das Ende des switch-Blocks
  case 5: // Vor
    // Anweisungsblock für i==5
    break; // Sprung an das Ende des switch-Blocks
  default:
    // Anweisungsblock für alle anderen Fälle
}