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

bookWhile, Do-While

Tenk deg et scenario der du må utføre visse oppgaver gjentatte ganger, som å lese data fra en sensor, forsøke passordoppføringer eller telle ord i en setning. I slike situasjoner benyttes løkker.

Løkker gjør det mulig å kjøre bestemte kodeblokker flere ganger, enten det er ti, hundre eller tusenvis av ganger. Å forstå konseptet med løkker er avgjørende i programmering. Dette kurset tar for seg de grunnleggende løkkene: while-løkke, do-while-løkke og for-løkke.

While-løkke

Denne løkken fortsetter å kjøre så lenge en bestemt betingelse er oppfylt. Når betingelsen ikke lenger er tilfredsstilt, stopper løkken.

main.c

main.c

copy
123
while (condition) { // Loop body }

En grunnleggende bruk av en løkke er å vise antall repetisjoner:

Main.c

Main.c

copy
1234567891011121314
#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }

For å stoppe denne løkken er en avsluttende betingelse nødvendig. En enkel metode er å bruke en teller for å holde oversikt over hvor mange ganger løkken kjøres.

Note
Merk

En iterasjon refererer til en enkel syklus innenfor en løkke. Hvis løkken kjører kodeblokken 10 ganger, har den fullført 10 iterasjoner.

Linjen iterations++; er avgjørende fordi den øker telleren (int iterations) for hver gjennomgang. Telleren angir deretter betingelsene for å avslutte løkken.

Note
Merk

Det er avgjørende å etablere betingelser for å avslutte løkken. Hvis ikke, vil det resultere i en uendelig løkke.

Main.c

Main.c

copy
12345678910111213141516
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }

Fokus på uttrykket array[i]. Her angir variabelen i indeksen til elementene i array[].

For hver syklus øker variabelen i med 1. Dette betyr at uttrykket array[i] får tilgang til det neste elementet i arrayet for hver syklus:

Den viktigste forskjellen mellom do-while- og while-løkker er at førstnevnte garanterer minst én utførelse, selv om betingelsen er usann fra starten av.

main.c

main.c

copy
123
do { // Do something } while (condition);

Denne typen løkke er nyttig for å lage enkle brukergrensesnitt. For eksempel ved passordspørring, fordi den lar deg fortsette å spørre til inndataen er gyldig. En do-while-løkke passer perfekt her siden meldingen må vises minst én gang, mens en while-løkke brukes når du kun skal gå inn hvis en forhåndsbetingelse er oppfylt.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
question mark

Hva vil verdien av x være ved den sjette iterasjonen?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 5

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

bookWhile, Do-While

Sveip for å vise menyen

Tenk deg et scenario der du må utføre visse oppgaver gjentatte ganger, som å lese data fra en sensor, forsøke passordoppføringer eller telle ord i en setning. I slike situasjoner benyttes løkker.

Løkker gjør det mulig å kjøre bestemte kodeblokker flere ganger, enten det er ti, hundre eller tusenvis av ganger. Å forstå konseptet med løkker er avgjørende i programmering. Dette kurset tar for seg de grunnleggende løkkene: while-løkke, do-while-løkke og for-løkke.

While-løkke

Denne løkken fortsetter å kjøre så lenge en bestemt betingelse er oppfylt. Når betingelsen ikke lenger er tilfredsstilt, stopper løkken.

main.c

main.c

copy
123
while (condition) { // Loop body }

En grunnleggende bruk av en løkke er å vise antall repetisjoner:

Main.c

Main.c

copy
1234567891011121314
#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }

For å stoppe denne løkken er en avsluttende betingelse nødvendig. En enkel metode er å bruke en teller for å holde oversikt over hvor mange ganger løkken kjøres.

Note
Merk

En iterasjon refererer til en enkel syklus innenfor en løkke. Hvis løkken kjører kodeblokken 10 ganger, har den fullført 10 iterasjoner.

Linjen iterations++; er avgjørende fordi den øker telleren (int iterations) for hver gjennomgang. Telleren angir deretter betingelsene for å avslutte løkken.

Note
Merk

Det er avgjørende å etablere betingelser for å avslutte løkken. Hvis ikke, vil det resultere i en uendelig løkke.

Main.c

Main.c

copy
12345678910111213141516
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }

Fokus på uttrykket array[i]. Her angir variabelen i indeksen til elementene i array[].

For hver syklus øker variabelen i med 1. Dette betyr at uttrykket array[i] får tilgang til det neste elementet i arrayet for hver syklus:

Den viktigste forskjellen mellom do-while- og while-løkker er at førstnevnte garanterer minst én utførelse, selv om betingelsen er usann fra starten av.

main.c

main.c

copy
123
do { // Do something } while (condition);

Denne typen løkke er nyttig for å lage enkle brukergrensesnitt. For eksempel ved passordspørring, fordi den lar deg fortsette å spørre til inndataen er gyldig. En do-while-løkke passer perfekt her siden meldingen må vises minst én gang, mens en while-løkke brukes når du kun skal gå inn hvis en forhåndsbetingelse er oppfylt.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
question mark

Hva vil verdien av x være ved den sjette iterasjonen?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 5
some-alt