Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For, Continue | Styrsatser
C-Grunder

bookFor, Continue

For-loop

for-loopen innehåller räknarens initiering, villkor för att avsluta loopen samt räknarens uppdatering.

main.c

main.c

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

Vi tar exemplet från föregående lektion (visning av arrayelement) och omformulerar det med en for-loop:

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 använda vilket giltigt uttryck som helst som update counter. Detta innebär att räknaren kan anpassas baserat på vilken giltig regel som helst, såsom (++x * 3) - 5. Dessutom kan räknaren öka med tecken istället för siffror.

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
Notering

Observera att tecken lagras som siffror i minnet.

Även om du utelämnar delar av loopen, såsom räkneinitiering, kommer programmet ändå att kompileras. Dock är semikolonet ; fortfarande nödvändigt:

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 använda kommatecknet , för att separera delar inom loopen:

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 loopar är både kommandona break och continue användbara. Medan break-satsen tvingar ett avbrott från loopen, gör continue-kommandot att exekveringen hoppar till nästa iteration.

Tänk på ett program som är utformat för att exkludera negativa heltal, med hjälp av continue-operatorn:

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öljande operatorer kan också fungera som uttryck för att uppdatera räknaren.

question mark

Vilken effekt har continue-satsen i loopen nedan?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

Svep för att visa menyn

For-loop

for-loopen innehåller räknarens initiering, villkor för att avsluta loopen samt räknarens uppdatering.

main.c

main.c

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

Vi tar exemplet från föregående lektion (visning av arrayelement) och omformulerar det med en for-loop:

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 använda vilket giltigt uttryck som helst som update counter. Detta innebär att räknaren kan anpassas baserat på vilken giltig regel som helst, såsom (++x * 3) - 5. Dessutom kan räknaren öka med tecken istället för siffror.

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
Notering

Observera att tecken lagras som siffror i minnet.

Även om du utelämnar delar av loopen, såsom räkneinitiering, kommer programmet ändå att kompileras. Dock är semikolonet ; fortfarande nödvändigt:

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 använda kommatecknet , för att separera delar inom loopen:

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 loopar är både kommandona break och continue användbara. Medan break-satsen tvingar ett avbrott från loopen, gör continue-kommandot att exekveringen hoppar till nästa iteration.

Tänk på ett program som är utformat för att exkludera negativa heltal, med hjälp av continue-operatorn:

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öljande operatorer kan också fungera som uttryck för att uppdatera räknaren.

question mark

Vilken effekt har continue-satsen i loopen nedan?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6
some-alt