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

bookWhile, Do-While

Forestil dig et scenarie, hvor det er nødvendigt at udføre bestemte opgaver gentagne gange, såsom at læse data fra en sensor, forsøge adgang med adgangskoder eller tælle ord i en sætning. I disse situationer anvendes løkker.

Løkker gør det muligt at køre specifikke kodeblokke flere gange, uanset om det er ti, hundrede eller tusindvis af gange. Forståelse af løkkekonceptet er afgørende i programmering. Dette kursus gennemgår de grundlæggende løkker: while-løkke, do-while-løkke og for-løkke.

While-løkke

Denne løkke fortsætter med at køre så længe en bestemt betingelse er opfyldt. Når betingelsen ikke længere er opfyldt, stopper løkken.

main.c

main.c

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

En grundlæggende anvendelse af en løkke er at vise antallet af dens gentagelser:

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 at standse denne løkke er en afsluttende betingelse nødvendig. En enkel metode er at bruge en tæller til at holde styr på, hvor mange gange løkken kører.

Note
Bemærk

En iteration henviser til en enkelt cyklus inden for en løkke. Hvis løkken kører kodeblokken 10 gange, er der gennemført 10 iterationer.

Linjen iterations++; er afgørende, da den øger tælleren (int iterations) ved hver gennemløb. Tælleren fastsætter derefter betingelserne for at afslutte løkken.

Note
Bemærk

Det er afgørende at fastsætte betingelser for at afslutte løkken. Undlades dette, 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å udtrykket array[i]. Her angiver variablen i indekset for elementerne i array[].

Ved hver gennemløb øges variablen i med 1. Dette betyder, at udtrykket array[i] ved hver gennemløb tilgår det næste element i arrayet:

Den væsentligste forskel mellem do-while og while løkker er, at førstnævnte garanterer mindst én udførelse, selv hvis betingelsen oprindeligt er falsk.

main.c

main.c

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

Denne type løkke er nyttig til at skabe grundlæggende brugergrænseflader. For eksempel ved anmodning om en adgangskode, da den giver mulighed for gentagne forespørgsler, indtil input er gyldigt. En do-while-løkke er ideel her, da prompten skal vises mindst én gang, mens en while-løkke anvendes, når du kun skal ind, hvis en forudgående betingelse er opfyldt.

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

Hvad vil værdien af x være ved den 6. iteration?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 5

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

bookWhile, Do-While

Stryg for at vise menuen

Forestil dig et scenarie, hvor det er nødvendigt at udføre bestemte opgaver gentagne gange, såsom at læse data fra en sensor, forsøge adgang med adgangskoder eller tælle ord i en sætning. I disse situationer anvendes løkker.

Løkker gør det muligt at køre specifikke kodeblokke flere gange, uanset om det er ti, hundrede eller tusindvis af gange. Forståelse af løkkekonceptet er afgørende i programmering. Dette kursus gennemgår de grundlæggende løkker: while-løkke, do-while-løkke og for-løkke.

While-løkke

Denne løkke fortsætter med at køre så længe en bestemt betingelse er opfyldt. Når betingelsen ikke længere er opfyldt, stopper løkken.

main.c

main.c

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

En grundlæggende anvendelse af en løkke er at vise antallet af dens gentagelser:

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 at standse denne løkke er en afsluttende betingelse nødvendig. En enkel metode er at bruge en tæller til at holde styr på, hvor mange gange løkken kører.

Note
Bemærk

En iteration henviser til en enkelt cyklus inden for en løkke. Hvis løkken kører kodeblokken 10 gange, er der gennemført 10 iterationer.

Linjen iterations++; er afgørende, da den øger tælleren (int iterations) ved hver gennemløb. Tælleren fastsætter derefter betingelserne for at afslutte løkken.

Note
Bemærk

Det er afgørende at fastsætte betingelser for at afslutte løkken. Undlades dette, 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å udtrykket array[i]. Her angiver variablen i indekset for elementerne i array[].

Ved hver gennemløb øges variablen i med 1. Dette betyder, at udtrykket array[i] ved hver gennemløb tilgår det næste element i arrayet:

Den væsentligste forskel mellem do-while og while løkker er, at førstnævnte garanterer mindst én udførelse, selv hvis betingelsen oprindeligt er falsk.

main.c

main.c

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

Denne type løkke er nyttig til at skabe grundlæggende brugergrænseflader. For eksempel ved anmodning om en adgangskode, da den giver mulighed for gentagne forespørgsler, indtil input er gyldigt. En do-while-løkke er ideel her, da prompten skal vises mindst én gang, mens en while-løkke anvendes, når du kun skal ind, hvis en forudgående betingelse er opfyldt.

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

Hvad vil værdien af x være ved den 6. iteration?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 5
some-alt