For, Continue
For-løkke
for-løkke integrerer tællerens initialisering, betingelsen for at afslutte løkken og tællerens opdatering.
main.c
123for (initialization; condition; update) { // Loop body }
Lad os tage eksemplet fra den forrige lektion (visning af array-elementer) og omformulere det ved hjælp af en for-løkke:
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; }
Du kan bruge ethvert gyldigt udtryk som update counter. Dette betyder, at tælleren kan tilpasses baseret på enhver gyldig regel, såsom (++x * 3) - 5. Desuden kan tælleren forøges med tegn i stedet for tal.
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; }
Bemærk, at tegn gemmes som tal i hukommelsen.
Selv hvis du udelader dele af løkken, såsom tællerinitialisering, vil programmet stadig kunne kompilere. Semikolonet ; er dog stadig nødvendigt:
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; }
Du kan bruge kommaet , til at adskille dele inden for løkken:
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
I løkker er både break og continue nyttige kommandoer. Hvor break-sætningen tvinger et exit fra løkken, får continue-kommandoen programmet til at springe til næste iteration.
Overvej et program, der er designet til at udelukke negative heltal ved at anvende continue-operatoren:
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; }
Følgende operatorer kan også fungere som udtryk til at opdatere tælleren.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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, Continue
Stryg for at vise menuen
For-løkke
for-løkke integrerer tællerens initialisering, betingelsen for at afslutte løkken og tællerens opdatering.
main.c
123for (initialization; condition; update) { // Loop body }
Lad os tage eksemplet fra den forrige lektion (visning af array-elementer) og omformulere det ved hjælp af en for-løkke:
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; }
Du kan bruge ethvert gyldigt udtryk som update counter. Dette betyder, at tælleren kan tilpasses baseret på enhver gyldig regel, såsom (++x * 3) - 5. Desuden kan tælleren forøges med tegn i stedet for tal.
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; }
Bemærk, at tegn gemmes som tal i hukommelsen.
Selv hvis du udelader dele af løkken, såsom tællerinitialisering, vil programmet stadig kunne kompilere. Semikolonet ; er dog stadig nødvendigt:
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; }
Du kan bruge kommaet , til at adskille dele inden for løkken:
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
I løkker er både break og continue nyttige kommandoer. Hvor break-sætningen tvinger et exit fra løkken, får continue-kommandoen programmet til at springe til næste iteration.
Overvej et program, der er designet til at udelukke negative heltal ved at anvende continue-operatoren:
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; }
Følgende operatorer kan også fungere som udtryk til at opdatere tælleren.
Tak for dine kommentarer!