Rückwärts und in Schritten zählen
Der Schritt einer for-Schleife muss nicht i++ sein. Eine Schleife kann rückwärts zählen, in Zweier- oder Fünferschritten oder bei null beginnen. Du änderst dafür nur ihre drei Teile.
Rückwärts zählen. Beginne bei der höchsten Zahl, mache weiter, solange die Variable mindestens so groß wie die niedrigste ist, und verringere sie mit i--:
for (int i = 3; i >= 1; i--) {
printf("%d\n", i);
}
printf("Start!\n");3
2
1
Start!Achte auf die Bedingung: Sie lautet i >= 1, „größer oder gleich“. Wenn du i <= 1 aus einer Schleife übernimmst, die aufwärts zählt, ist die Bedingung gleich am Anfang falsch (3 <= 1), und die Schleife läuft nicht ein einziges Mal. Für den Compiler ist das kein Fehler: Die Schleife gibt einfach nichts aus.
In Schritten zählen. Um um mehr als eins zu zählen, verwende += oder -= im Schritt. Diese Schleife zählt in Fünferschritten:
for (int i = 0; i <= 20; i += 5) {
printf("%d\n", i);
}0
5
10
15
20Die Variable muss die Grenze nicht genau treffen. Mit der Bedingung i <= 22 gibt die Schleife dieselben fünf Zahlen aus: Nach 20 kommt 25, und 25 <= 22 ist falsch.
Bei null beginnen. Programmierer fangen oft bei 0 an zu zählen. Diese Schleife läuft dreimal, für i gleich 0, 1 und 2:
for (int i = 0; i < 3; i++) {
printf("Runde %d\n", i);
}Runde 0
Runde 1
Runde 2Eine Schleife for (int i = 0; i < n; i++) läuft genau n-mal. Du wirst sie sehr oft sehen, denn in der nächsten Lektion, über Arrays, beginnt das Zählen bei 0.
Der häufigste Fehler bei for ist ein Off-by-one-Fehler („um eins daneben“): Die Schleife läuft einmal mehr oder einmal weniger, als sie soll. i < 3 hört bei 2 auf, i <= 3 bei 3. Wenn du bei 0 beginnst und i <= 3 schreibst, läuft die Schleife 4-mal: für 0, 1, 2 und 3. Wenn du nicht sicher bist, wie oft eine Schleife läuft, schreibe die Werte auf, die ihre Variable annimmt, und zähle sie.
So schreibst du es:
Anweisungen
- 1
Die Schleife im Editor soll dreimal jubeln, jubelt aber viermal. Korrigiere ihre Bedingung, sodass das Programm
Hipp hipp hurra!genau dreimal ausgibt. - 2
Schreibe unter diese Schleife eine
for-Schleife, die von 10 bis 1 herunterzählt, jede Zahl in einer eigenen Zeile. Gib nach der SchleifeFrohes neues Jahr!aus. - 3
Schreibe zum Schluss eine Schleife, die die Schaltjahre von 2004 bis 2024 ausgibt:
2004,2008,2012,2016,2020und2024, jedes in einer eigenen Zeile. Zwischen 2004 und 2024 ist jedes vierte Jahr ein Schaltjahr, verwende also+= 4als Schritt.