For, Continue
Ciclo For
Il ciclo for incorpora l'inizializzazione del contatore, la condizione per uscire dal ciclo e l'aggiornamento del contatore.
main.c
123for (initialization; condition; update) { // Loop body }
Prendiamo l'esempio della lezione precedente (visualizzazione degli elementi di un array) e riformuliamolo utilizzando un ciclo for:
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; }
È possibile utilizzare qualsiasi espressione valida come update counter. Questo significa che il contatore può adattarsi in base a qualsiasi regola valida, come (++x * 3) - 5. Inoltre, il contatore può incrementare tramite caratteri invece che numeri.
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; }
Ricorda che i caratteri sono memorizzati come numeri in memoria.
Anche se ometti alcune parti del ciclo, come l'inizializzazione del contatore, il programma verrà comunque compilato. Tuttavia, il punto e virgola ; rimane essenziale:
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; }
È possibile utilizzare la virgola , per separare le parti all'interno del ciclo:
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
Nei cicli, sia i comandi break che continue risultano utili. Mentre l'istruzione break forza l'uscita dal ciclo, il comando continue consente di passare direttamente alla iterazione successiva.
Si consideri un programma progettato per escludere i numeri interi negativi, utilizzando l'operatore continue:
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; }
I seguenti operatori possono anche funzionare come espressioni per aggiornare il contatore.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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
Scorri per mostrare il menu
Ciclo For
Il ciclo for incorpora l'inizializzazione del contatore, la condizione per uscire dal ciclo e l'aggiornamento del contatore.
main.c
123for (initialization; condition; update) { // Loop body }
Prendiamo l'esempio della lezione precedente (visualizzazione degli elementi di un array) e riformuliamolo utilizzando un ciclo for:
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; }
È possibile utilizzare qualsiasi espressione valida come update counter. Questo significa che il contatore può adattarsi in base a qualsiasi regola valida, come (++x * 3) - 5. Inoltre, il contatore può incrementare tramite caratteri invece che numeri.
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; }
Ricorda che i caratteri sono memorizzati come numeri in memoria.
Anche se ometti alcune parti del ciclo, come l'inizializzazione del contatore, il programma verrà comunque compilato. Tuttavia, il punto e virgola ; rimane essenziale:
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; }
È possibile utilizzare la virgola , per separare le parti all'interno del ciclo:
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
Nei cicli, sia i comandi break che continue risultano utili. Mentre l'istruzione break forza l'uscita dal ciclo, il comando continue consente di passare direttamente alla iterazione successiva.
Si consideri un programma progettato per escludere i numeri interi negativi, utilizzando l'operatore continue:
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; }
I seguenti operatori possono anche funzionare come espressioni per aggiornare il contatore.
Grazie per i tuoi commenti!