While, Do-While
Stellen Sie sich eine Situation vor, in der bestimmte Aufgaben wiederholt ausgeführt werden müssen, wie das Auslesen von Sensordaten, das mehrfache Eingeben eines Passworts oder das Zählen von Wörtern in einem Satz. In solchen Fällen kommen Schleifen zum Einsatz.
Schleifen ermöglichen es, bestimmte Codeblöcke mehrfach auszuführen – dutzende, hunderte oder sogar tausende Male. Das Verständnis von Schleifen ist grundlegend in der Programmierung. Dieser Kurs behandelt die grundlegenden Schleifen: die while-Schleife, die do-while-Schleife und die for-Schleife.
While-Schleife
Diese Schleife läuft solange eine bestimmte Bedingung erfüllt ist. Sobald die Bedingung nicht mehr zutrifft, wird die Schleife beendet.
main.c
123while (condition) { // Loop body }
Eine grundlegende Anwendung einer Schleife ist das Anzeigen der Anzahl ihrer Wiederholungen:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Um diese Schleife zu beenden, ist eine Abbruchbedingung erforderlich. Ein einfacher Ansatz ist die Verwendung eines Zählers, um die Anzahl der Schleifendurchläufe zu verfolgen.
Eine Iteration bezeichnet einen einzelnen Durchlauf innerhalb einer Schleife. Wenn also die Schleife den Codeblock 10-mal ausführt, wurden 10 Iterationen abgeschlossen.
Die Zeile iterations++; ist entscheidend, da sie den Zähler (int iterations) bei jedem Durchlauf erhöht. Der Zähler legt anschließend die Bedingungen zum Beenden der Schleife fest.
Es ist zwingend erforderlich, Bedingungen zum Verlassen der Schleife festzulegen. Andernfalls entsteht eine Endlosschleife.
Main.c
12345678910111213141516#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }
Fokus auf den Ausdruck array[i].
Hier bezeichnet die Variable i den Index der Elemente von array[].
Mit jedem Durchlauf erhöht sich die Variable i um 1. Das bedeutet, dass der Ausdruck array[i] bei jedem Durchlauf auf das jeweils nächste Array-Element zugreift:
Der wesentliche Unterschied zwischen den Schleifen do-while und while besteht darin, dass erstere mindestens eine Ausführung garantiert, selbst wenn die Bedingung anfangs falsch ist.
main.c
123do { // Do something } while (condition);
Diese Schleifenart eignet sich gut zur Gestaltung einfacher Benutzerschnittstellen. Zum Beispiel beim Abfragen eines Passworts, da sie ermöglicht, so lange nachzufragen, bis die Eingabe gültig ist. Eine do-while-Schleife ist hierfür ideal, da die Abfrage mindestens einmal erscheinen muss, während eine while-Schleife verwendet wird, wenn nur bei erfüllter Vorbedingung eingetreten wird.
Main.c
123456789101112#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain the difference between a while loop and a do-while loop with examples?
How does the counter help in terminating a loop?
Can you show how to use a loop to read data from a sensor?
Awesome!
Completion rate improved to 2.63
While, Do-While
Swipe um das Menü anzuzeigen
Stellen Sie sich eine Situation vor, in der bestimmte Aufgaben wiederholt ausgeführt werden müssen, wie das Auslesen von Sensordaten, das mehrfache Eingeben eines Passworts oder das Zählen von Wörtern in einem Satz. In solchen Fällen kommen Schleifen zum Einsatz.
Schleifen ermöglichen es, bestimmte Codeblöcke mehrfach auszuführen – dutzende, hunderte oder sogar tausende Male. Das Verständnis von Schleifen ist grundlegend in der Programmierung. Dieser Kurs behandelt die grundlegenden Schleifen: die while-Schleife, die do-while-Schleife und die for-Schleife.
While-Schleife
Diese Schleife läuft solange eine bestimmte Bedingung erfüllt ist. Sobald die Bedingung nicht mehr zutrifft, wird die Schleife beendet.
main.c
123while (condition) { // Loop body }
Eine grundlegende Anwendung einer Schleife ist das Anzeigen der Anzahl ihrer Wiederholungen:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Um diese Schleife zu beenden, ist eine Abbruchbedingung erforderlich. Ein einfacher Ansatz ist die Verwendung eines Zählers, um die Anzahl der Schleifendurchläufe zu verfolgen.
Eine Iteration bezeichnet einen einzelnen Durchlauf innerhalb einer Schleife. Wenn also die Schleife den Codeblock 10-mal ausführt, wurden 10 Iterationen abgeschlossen.
Die Zeile iterations++; ist entscheidend, da sie den Zähler (int iterations) bei jedem Durchlauf erhöht. Der Zähler legt anschließend die Bedingungen zum Beenden der Schleife fest.
Es ist zwingend erforderlich, Bedingungen zum Verlassen der Schleife festzulegen. Andernfalls entsteht eine Endlosschleife.
Main.c
12345678910111213141516#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }
Fokus auf den Ausdruck array[i].
Hier bezeichnet die Variable i den Index der Elemente von array[].
Mit jedem Durchlauf erhöht sich die Variable i um 1. Das bedeutet, dass der Ausdruck array[i] bei jedem Durchlauf auf das jeweils nächste Array-Element zugreift:
Der wesentliche Unterschied zwischen den Schleifen do-while und while besteht darin, dass erstere mindestens eine Ausführung garantiert, selbst wenn die Bedingung anfangs falsch ist.
main.c
123do { // Do something } while (condition);
Diese Schleifenart eignet sich gut zur Gestaltung einfacher Benutzerschnittstellen. Zum Beispiel beim Abfragen eines Passworts, da sie ermöglicht, so lange nachzufragen, bis die Eingabe gültig ist. Eine do-while-Schleife ist hierfür ideal, da die Abfrage mindestens einmal erscheinen muss, während eine while-Schleife verwendet wird, wenn nur bei erfüllter Vorbedingung eingetreten wird.
Main.c
123456789101112#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
Danke für Ihr Feedback!