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
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!