Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære For, Continue | Kontroludsagn
C-Grundlæggende

bookFor, Continue

For-løkke

for-løkke integrerer tællerens initialisering, betingelsen for at afslutte løkken og tællerens opdatering.

main.c

main.c

copy
123
for (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

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; }

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

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
Bemærk

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

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; }

Du kan bruge kommaet , til at adskille dele inden for løkken:

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

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

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; }

Følgende operatorer kan også fungere som udtryk til at opdatere tælleren.

question mark

Hvad er effekten af continue-sætningen i løkken vist nedenfor?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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, 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

main.c

copy
123
for (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

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; }

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

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
Bemærk

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

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; }

Du kan bruge kommaet , til at adskille dele inden for løkken:

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

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

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; }

Følgende operatorer kan også fungere som udtryk til at opdatere tælleren.

question mark

Hvad er effekten af continue-sætningen i løkken vist nedenfor?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6
some-alt