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

bookFor, Continue

For-løkke

for-løkka inkluderer tellerens initialisering, betingelsen for å avslutte løkken, og tellerens oppdatering.

main.c

main.c

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

La oss ta eksempelet fra forrige leksjon (vise elementene i et array) og omformulere det ved å bruke 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 bruke ethvert gyldig uttrykk som update counter. Dette betyr at telleren kan tilpasses basert på enhver gyldig regel, for eksempel (++x * 3) - 5. I tillegg kan telleren økes med tegn i stedet for tall.

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
Merk

Husk at tegn lagres som tall i minnet.

Selv om du utelater deler av løkken, som initialisering av telleren, vil programmet fortsatt kompilere. Semikolonet ; er imidlertid fortsatt nødvendig:

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 bruke komma , for å skille deler innenfor 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. Mens break-setningen tvinger et avbrudd av løkken, gjør continue at man hopper til neste iterasjon.

Se et program som er laget for å utelate negative heltall ved å bruke 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 uttrykk for å oppdatere telleren.

question mark

Hva er effekten av continue-setningen i løkken vist nedenfor?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.63

bookFor, Continue

Sveip for å vise menyen

For-løkke

for-løkka inkluderer tellerens initialisering, betingelsen for å avslutte løkken, og tellerens oppdatering.

main.c

main.c

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

La oss ta eksempelet fra forrige leksjon (vise elementene i et array) og omformulere det ved å bruke 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 bruke ethvert gyldig uttrykk som update counter. Dette betyr at telleren kan tilpasses basert på enhver gyldig regel, for eksempel (++x * 3) - 5. I tillegg kan telleren økes med tegn i stedet for tall.

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
Merk

Husk at tegn lagres som tall i minnet.

Selv om du utelater deler av løkken, som initialisering av telleren, vil programmet fortsatt kompilere. Semikolonet ; er imidlertid fortsatt nødvendig:

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 bruke komma , for å skille deler innenfor 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. Mens break-setningen tvinger et avbrudd av løkken, gjør continue at man hopper til neste iterasjon.

Se et program som er laget for å utelate negative heltall ved å bruke 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 uttrykk for å oppdatere telleren.

question mark

Hva er effekten av continue-setningen i løkken vist nedenfor?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6
some-alt