While, Do-While
Stel je een situatie voor waarin het herhaaldelijk uitvoeren van bepaalde taken noodzakelijk is, zoals het uitlezen van gegevens van een sensor, het invoeren van wachtwoorden, of het tellen van woorden in een zin. In deze gevallen worden lussen gebruikt.
Lussen maken het mogelijk om specifieke codeblokken meerdere keren uit te voeren, of dit nu tientallen, honderden of zelfs duizenden keren is. Inzicht in het concept van lussen is essentieel binnen de programmering. Deze cursus behandelt de basislussen: de while-lus, de do-while-lus en de for-lus.
While-lus
Deze lus blijft uitvoeren zolang aan een specifieke voorwaarde wordt voldaan. Zodra niet meer aan de voorwaarde wordt voldaan, stopt de lus.
main.c
123while (condition) { // Loop body }
Een basisgebruik van een lus is het weergeven van het aantal herhalingen:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Om deze lus te stoppen, is een beëindigingsvoorwaarde essentieel. Een eenvoudige methode is het gebruik van een teller om het aantal keren dat de lus wordt uitgevoerd bij te houden.
Een iteratie verwijst naar een enkele cyclus binnen een lus. Dus als de lus het codeblok 10 keer uitvoert, zijn er 10 iteraties voltooid.
De regel iterations++; is essentieel omdat deze de teller (int iterations) bij elke doorgang verhoogt. De teller bepaalt vervolgens de voorwaarden om de lus te beëindigen.
Het is noodzakelijk om voorwaarden te stellen om de lus te verlaten. Als dit niet gebeurt, ontstaat er een oneindige lus.
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; }
Let op de expressie array[i].
Hier geeft de variabele i de index aan van de elementen in array[].
Bij elke cyclus neemt de variabele i toe met 1. Dit betekent dat tijdens elke cyclus de expressie array[i] het volgende array-element benadert:
Het belangrijkste verschil tussen de do-while- en while-lus is dat de eerste altijd minimaal één keer wordt uitgevoerd, zelfs als de voorwaarde aanvankelijk onwaar is.
main.c
123do { // Do something } while (condition);
Dit type lus is handig voor het maken van eenvoudige gebruikersinterfaces. Bijvoorbeeld bij het vragen om een wachtwoord, omdat je hiermee kunt blijven vragen totdat de invoer geldig is. Een do-while-lus is hier ideaal, omdat de prompt minimaal één keer moet verschijnen, terwijl een while-lus geschikt is wanneer je alleen doorgaat als aan een voorwaarde is voldaan.
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; }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Veeg om het menu te tonen
Stel je een situatie voor waarin het herhaaldelijk uitvoeren van bepaalde taken noodzakelijk is, zoals het uitlezen van gegevens van een sensor, het invoeren van wachtwoorden, of het tellen van woorden in een zin. In deze gevallen worden lussen gebruikt.
Lussen maken het mogelijk om specifieke codeblokken meerdere keren uit te voeren, of dit nu tientallen, honderden of zelfs duizenden keren is. Inzicht in het concept van lussen is essentieel binnen de programmering. Deze cursus behandelt de basislussen: de while-lus, de do-while-lus en de for-lus.
While-lus
Deze lus blijft uitvoeren zolang aan een specifieke voorwaarde wordt voldaan. Zodra niet meer aan de voorwaarde wordt voldaan, stopt de lus.
main.c
123while (condition) { // Loop body }
Een basisgebruik van een lus is het weergeven van het aantal herhalingen:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Om deze lus te stoppen, is een beëindigingsvoorwaarde essentieel. Een eenvoudige methode is het gebruik van een teller om het aantal keren dat de lus wordt uitgevoerd bij te houden.
Een iteratie verwijst naar een enkele cyclus binnen een lus. Dus als de lus het codeblok 10 keer uitvoert, zijn er 10 iteraties voltooid.
De regel iterations++; is essentieel omdat deze de teller (int iterations) bij elke doorgang verhoogt. De teller bepaalt vervolgens de voorwaarden om de lus te beëindigen.
Het is noodzakelijk om voorwaarden te stellen om de lus te verlaten. Als dit niet gebeurt, ontstaat er een oneindige lus.
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; }
Let op de expressie array[i].
Hier geeft de variabele i de index aan van de elementen in array[].
Bij elke cyclus neemt de variabele i toe met 1. Dit betekent dat tijdens elke cyclus de expressie array[i] het volgende array-element benadert:
Het belangrijkste verschil tussen de do-while- en while-lus is dat de eerste altijd minimaal één keer wordt uitgevoerd, zelfs als de voorwaarde aanvankelijk onwaar is.
main.c
123do { // Do something } while (condition);
Dit type lus is handig voor het maken van eenvoudige gebruikersinterfaces. Bijvoorbeeld bij het vragen om een wachtwoord, omdat je hiermee kunt blijven vragen totdat de invoer geldig is. Een do-while-lus is hier ideaal, omdat de prompt minimaal één keer moet verschijnen, terwijl een while-lus geschikt is wanneer je alleen doorgaat als aan een voorwaarde is voldaan.
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; }
Bedankt voor je feedback!