For, Continue
For-loop
for-loopen innehåller räknarens initiering, villkor för att avsluta loopen samt räknarens uppdatering.
main.c
123for (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
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
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; }
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
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
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
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.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
For, 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
123for (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
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
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; }
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
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
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
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.
Tack för dina kommentarer!