Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer For, Doorgaan | Controle-instructies
C-Basis

bookFor, Doorgaan

For-lus

De for-lus bevat de initialisatie van de teller, de voorwaarde om de lus te verlaten en de update van de teller.

main.c

main.c

copy
123
for (initialization; condition; update) { // Loop body }

Neem het voorbeeld uit de vorige les (het weergeven van array-elementen) en herschrijf dit met een for-lus:

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; for (int i = 0; i < 10; i++) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); } return 0; }

Elke geldige expressie kan worden gebruikt als de update counter. Dit betekent dat de teller zich kan aanpassen op basis van elke geldige regel, zoals (++x * 3) - 5. Daarnaast kan de teller ook met tekens toenemen in plaats van met getallen.

Main.c

Main.c

copy
123456789
#include <stdio.h> int main() { for (char ch = 'a'; ch <= 'z'; ch++) { printf("ASCII value for %c is %d\n", ch, ch); } return 0; }
Note
Opmerking

Houd er rekening mee dat tekens als getallen worden opgeslagen in het geheugen.

Zelfs als u delen van de lus weglaat, zoals de initialisatie van de teller, zal het programma nog steeds compileren. De puntkomma ; blijft echter essentieel:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int i = 0; // without counter initialization for (printf("It`s count initialization, but printf...\n"); i <= 4; i++) { printf("i = %d\n", i); } return 0; }

U kunt de komma , gebruiken om delen binnen de lus te scheiden:

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i; int n; for (i = 0, n = 5; i <= 5; i++, n++) { printf("i = %d\t n = %d\n", i, n); } return 0; }

Continue

In lussen zijn zowel de break- als de continue-opdrachten nuttig. Terwijl de break-instructie een directe beëindiging van de lus afdwingt, zorgt de continue-opdracht ervoor dat wordt overgeslagen naar de volgende iteratie.

Beschouw een programma dat is ontworpen om negatieve gehele getallen uit te sluiten, waarbij de continue-operator wordt gebruikt:

Main.c

Main.c

copy
123456789101112131415161718
#include <stdio.h> int main() { int array[] = { 124, 235, -321, 32, 54, -549, 23445, 5534, -433 }; printf("Positive elements of array:\n"); for (int i = 0; i < 10; i++) { if (array[i] < 0) { continue; } printf("%d ", array[i]); } return 0; }

De volgende operatoren kunnen ook functioneren als expressies om de teller bij te werken.

question mark

Wat is het effect van de continue-instructie in de onderstaande lus?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you give an example of a for loop using these operators?

What happens if I use multiple update expressions in a for loop?

Can you explain more about using characters as counters in a for loop?

Awesome!

Completion rate improved to 2.63

bookFor, Doorgaan

Veeg om het menu te tonen

For-lus

De for-lus bevat de initialisatie van de teller, de voorwaarde om de lus te verlaten en de update van de teller.

main.c

main.c

copy
123
for (initialization; condition; update) { // Loop body }

Neem het voorbeeld uit de vorige les (het weergeven van array-elementen) en herschrijf dit met een for-lus:

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; for (int i = 0; i < 10; i++) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); } return 0; }

Elke geldige expressie kan worden gebruikt als de update counter. Dit betekent dat de teller zich kan aanpassen op basis van elke geldige regel, zoals (++x * 3) - 5. Daarnaast kan de teller ook met tekens toenemen in plaats van met getallen.

Main.c

Main.c

copy
123456789
#include <stdio.h> int main() { for (char ch = 'a'; ch <= 'z'; ch++) { printf("ASCII value for %c is %d\n", ch, ch); } return 0; }
Note
Opmerking

Houd er rekening mee dat tekens als getallen worden opgeslagen in het geheugen.

Zelfs als u delen van de lus weglaat, zoals de initialisatie van de teller, zal het programma nog steeds compileren. De puntkomma ; blijft echter essentieel:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int i = 0; // without counter initialization for (printf("It`s count initialization, but printf...\n"); i <= 4; i++) { printf("i = %d\n", i); } return 0; }

U kunt de komma , gebruiken om delen binnen de lus te scheiden:

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i; int n; for (i = 0, n = 5; i <= 5; i++, n++) { printf("i = %d\t n = %d\n", i, n); } return 0; }

Continue

In lussen zijn zowel de break- als de continue-opdrachten nuttig. Terwijl de break-instructie een directe beëindiging van de lus afdwingt, zorgt de continue-opdracht ervoor dat wordt overgeslagen naar de volgende iteratie.

Beschouw een programma dat is ontworpen om negatieve gehele getallen uit te sluiten, waarbij de continue-operator wordt gebruikt:

Main.c

Main.c

copy
123456789101112131415161718
#include <stdio.h> int main() { int array[] = { 124, 235, -321, 32, 54, -549, 23445, 5534, -433 }; printf("Positive elements of array:\n"); for (int i = 0; i < 10; i++) { if (array[i] < 0) { continue; } printf("%d ", array[i]); } return 0; }

De volgende operatoren kunnen ook functioneren als expressies om de teller bij te werken.

question mark

Wat is het effect van de continue-instructie in de onderstaande lus?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6
some-alt