For, 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
123for (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
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
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; }
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
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
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
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.
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 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
For, 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
123for (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
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
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; }
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
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
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
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.
Bedankt voor je feedback!