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

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