lehrkraefte:blc:informatik:ffprg2017:l2:l2

This is an old revision of the document!


Standard-Form:

for (int i=0; i<10; i++) {
   // irgendwas mit i
}

Genauer: for(Initialisierung; Pre-Loop-Condition; Post-Loop-Operation);

Die Variable(n), die im For-Loop initialisert wird (werden), sind nur im drauf folgenden Block sichtbar! Sonst davor deklarieren:

for (int i=0; i<10; i++) {
  if (i==5) {
    break; // loop abbrechen
  }
}
Serial.println(i); // Fehler, i nicht deklariert, da nur im loop gültig.
//
// Abhilfe:
int i=0;
for (;i<10; i++) { // leere Initialisierung
   // bla, bla, break, ...
}
Serial.println("Abbruch mit i=");
Serial.print(i);

Schreiben Sie keinen solchen Code! Der ist nur dazu da, die Mechanik der For-Schlaufe in C++ besser zu verstehen.

void setup() {
  Serial.begin(115200);
}
 
void loop() {
  Serial.println("--------8><------------");
  for (int i=0; Serial.print(i), Serial.println("<5?"), i<5; Serial.print(i), Serial.println("++"),i++) {
    Serial.print("im Loop mit i=");
    Serial.println(i);
  }
  Serial.println();
  delay(2000);
 
  for (int i,j=0; j<5; i<4 ? i++ : (i=0,j++)) {
    Serial.print("i=");
    Serial.print(i);
    Serial.print(" j=");
    Serial.println(j);
  }
  delay(3000);
}
if (bedingung) {
  // tu was
}
 
if (bedingung) {
  // tu was
} else {
  // anderes
}
 
if (bedingung) {
  // tu was
} else if (andere bedingung) {
  // tu was anderes
} else if (noch andere bedingung) {
  // tu noch was anderes
} else {
  // wenn alles nicht wahr war
}
&& und (der zweite Ausdruck wird nur ausgewertet wenn der erste Ausdruck wahr ist)
|| oder (der zweite Ausdruck wird nur ausgewertet wenn der erste Ausdruck falsch ist)

Typ bool kann false oder true sein.

Andere Werte sind true, wenn diese nicht null sind.

true wird zu 1 konvertiert, wenn als Zahl aufgefasst.

int i=true;  // i wird 1
bool ok=42;  // ok wird true;
bool nk=0;   // nk wird false;
if (42) {
  // immer wahr
}
  • lehrkraefte/blc/informatik/ffprg2017/l2/l2.1503585267.txt.gz
  • Last modified: 2017/08/24 16:34
  • by Ivo Blöchliger