Anzeige

VBA
Programmierer
gesucht?
 
Anzeige
VBA Programmierer gesucht?
 

Einfache C/C++ Beispiele für Einsteiger

Übersicht der Kontrollstrukturen

Diese kleinen Quelltextbeispiele zeigen alle Kontrollstrukturen und deren Syntax in einer Übersicht. Diese Beispiele dienen lediglich der Syntax-Darstellung und haben keinen eigentlichen Zweck!


Die Verzweigung mit IF und ELSE

// Die einfache Verzweigung
if (Bedingung1) // Eine Bedingung gilt als erfüllt, wenn der Ausdruck der Bedingung nicht NULL ist.
     Befehl1; // Diese Zeile wird nur ausgeführt, wenn die Bedingung1 zutrifft / wahr ist

// Die einfache Verzweigung mit mehreren Befehlen bei zutreffender Bedingung
if (Bedingung1)
{

     Befehl1; // Alle Zeilen innerhalb der geschweiften Klammern
     Befehl2; // werden bei zutreffender Bedingung ausgeführt
     Befehl3;
     // usw.
}

//Verzweigung mit ELSE-Zweig, der ELSE-Zweig wird ausgeführt, wenn die Bedingung nicht erfüllt ist!
if (Bedingung1)
{

     Befehl1;
     Befehl2;
}
else
{

     Befehl3; // Die Zeilen in den geschweiften Klammern nach else werden
     Befehl4; // ausgeführt, sobald die Bedingung1 nicht zutrifft!
}

//Verzweigung mit ELSE-Zweig, Kurzschreibweise ohne Klammern mit jeweils einem Befehl
if (Bedingung1)
     Befehl1;
else
     Befehl2;

// Ein Beispiel ob eine Zahl positiv oder negativ ist
// Annahme: Die Variable i wurde vorher von einem Benutzer mit einer Zahl gefüllt.
if (i<=0)
     Befehl1;
else
     Befehl2;
// Beispiel für Abfrage nach einer Null: if(i==0)
// Wichtig: Beim Vergleich wird immer das doppelte Gleichheitszeichen verwendet ==
// Das einfache Gleichheitszeichen ist die sogenannte Wertzuweisung!
// Beispiel: if(i=0) bewirkt, das i auf 0 gesetzt wird!
// Ungleich wird mit dem Operator != ausgedrückt. Beispiel: if (i!=0)

//Verzweigung mit ELSE-Zweig und zusätzlicher Verzweigung (Sonderfall)!
if (Bedingung1)
{

     Befehl1;
     Befehl2;
}
else if (
Bedingung2)
{

     Befehl5; // Die Zeilen in der geschweiften Klammer nach else if werden
     Befehl6; // ausgeführt, sobald die Bedingung2 zutrifft!
}
else
{

     Befehl3; // Die Zeilen in den geschweiften Klammern nach else werden
     Befehl4; // ausgeführt, sobald die Bedingung1 nicht zutrifft!
}

// Mit logischen Operatoren können Bedingungen verknüpft oder invertiert (umgedreht, verneint) werden

// Die UND Verknüpfung &&
if (Bedingung1 && Bedingung2)
     Befehl1; // Der IF-Block wird nur ausgeführt, wenn beide Bedingungen zutreffen!

// Die ODER Verknüpfung ||
if (Bedingung1 || Bedingung2)
     Befehl1; // Der IF-Block wird nur ausgeführt, wenn eine oder beide der Bedingungen zutreffen!

// Die Invertierung mit NICHT !
if (!Bedingung1)
     Befehl1; // Der IF-Block wird nur ausgeführt, wenn NICHT die Bedingung1 zutrifft!

// Und es geht noch kürzer!
Variable = (Zahl1 < Zahl2) ? Zahl1 : Zahl2 ;
// ? = Kurzform für if
// : = Kurzform für else
// Dieses Beispiel bewirkt, dass wenn Zahl1 kleiner als Zahl2 ist, dass die Zahl1 in der
// Variablen gespeichert wird. Ansonsten wird die Zahl2 in der Variablen gespeichert.




Die Iteration / Wiederholung / Schleife mit FOR (Zählschleifen)

Eine Zählvariable ist eine Variable, in der gezählt wird, diese wird nach jedem Durchlauf um die Schrittweite erhöht.
Der Startwert gibt den Wert an, bei dem die Schleife anfängt zu zählen.
Die Bedingung legt fest, wann die Schleifendurchläufe beendet werden.

for (Zählvariable_mit_Startwert;Bedingung;Schrittweite)
{

     Befehl1; // Die Zeilen innerhalb der geschweiften Klammern werden so oft ausgeführt,
     Befehl2; // wie die Anzahl von Schritten der Zählschleife festlegt.
}

// Ein konkretes Beispiel: Zählschleife von 1 bis 10, der Befehl1 wird somit 10 mal ausgeführt.
for (int i=1;i<=10;i++)
     Befehl1; // Bei lediglich einem Befehl, können die geschweiften Klammern auch weggelassen werden



Die Iteration / Wiederholung / Schleife mit WHILE und DO ... WHILE (Bedingungsschleifen)

Die kopfgesteuerte Schleife: Nachdem die Bedingung geprüft wurde, werden die Befehle der geschweiften Klammer ausgeführt.
Die fußgesteuerte Schleife: Die Befehle werden ausgeführt und anschließend wird die Bedingung geprüft und bei zutreffender Bedingung an den Schleifenkopf gesprungen

// Die kopfgesteuerte Schleife
while (Bedingung1) // Solange die Bedingung1 erfüllt ist, wird diese Schleife immer weiter durchlaufen
{
     Befehl1;
}

// Die fußgesteuerte Schleife
do
{

     Befehl1;
} while (Bedingung1) // Solange die Bedingung1 erfüllt ist, wird diese Schleife immer weiter durchlaufen

// Ein Beispiel für eine Schleife, welche von 1 bis 10 zählt:
int i=0; // Initialisierung und Festlegung des Startwertes für die Schleifenbedingung
while (i<=10) // Solange i kleiner oder gleich 10 ist, wird diese Schleife immer weiter durchlaufen
{
     if (i==5)
         continue; // Bewirkt, dass vorzeitig zum Schleifenende gesprungen wird.
                   // Somit wird bei 5 der Befehl1 nicht ausgeführt!

     Befehl1;
     i++; // ACHTUNG: Unbedingt Zähler manuell erhöhen, da sonst eine Endlosschleife entsteht!!!
       // ++ wird auch als Inkrement-Anweisung bezeichnet!
}



Die Mehrfachverzweigung / Fallunterscheidung mit SWITCH

Switch kann grundsätzlich 2 Typen unterscheiden: a) Zahlen b) Zeichen/Strings. Für dieses Beispiel wird die Variable vom Typ Char (String) verwendet. Verwenden Sie Zahlen, können Sie die Anführungszeichen bei den Cases weglassen.
Die Switch Anweisung prüft den Variableninhalt und springt an die entsprechende Stelle. Ein Case definiert eine Sprungstelle für die Prüfung, trifft der Wert hinter Case zu, springt die Switch Anweisung zu dieser Codezeile. Trifft keins der angegebenen Cases zu, wird die default Zeile als Standardsprungziel verwendet.

switch(Variable)
{
     case 'A': // Ist der Inhalt der Variablen ein A, wird hier weiter gemacht
         Befehl1;
         break; // Ohne break; würden die kommenden Befehle sequenziell weiter verarbeitet werden!
     case 'B': // Ist der Inhalt der Variablen ein B, wird hier weiter gemacht
         Befehl2;
         break;
     default: // Wenn keines der Cases zugetroffen hat, wird hier weiter gemacht
         Befehl3;
         break; // Diese Zeile kann auch ausgelassen werden, da keine weiteren Cases folgen
}



Autor: Marc Wershoven (2013)

Zum Seitenanfang