05. Passo Dopo Passo C/C++ — Programmazione C - Dichiarazioni di Loop
- Dichiarazione di Ramificazione - goto
- Dichiarazioni di Loop
for
while
do..while
1. Dichiarazione di Ramificazione
goto
Trasferisce il puntatore di controllo da un luogo all’altro nel programma corrente.
| | Sintassi:
Nota: Il nome dell’etichetta deve essere definito con due punti (:) e non deve superare i 32 caratteri di lunghezza.
| | Esempio:
abc:
printf(“Hello”);
goto abc; |
/ 01. Un programma dimostrativo per illustrare la dichiarazione goto /
/ 19_goto.c /
#include
int main()
{
abc: / Nome dell’etichetta /
printf(“\nHello”);
goto abc; / dichiarazione di ramificazione /
return 0;
}
/ 07. L’esecuzione continua sarà interrotta con una variabile di carry e una dichiarazione condizionale /
/ Trova la differenza tra l’ultimo programma e questo, annota tutte le differenze in questo programma/
/ 20_goto.c /
#include
int main()
{
int i = 1;
abc:
printf(“\nHello”);
i ++;
if ( i<= 10 ) / Fai attenzione a questa dichiarazione /
goto abc;
return 0;
}
2. Dichiarazioni di Loop
for
Una dichiarazione iterativa per eseguire un blocco di dichiarazioni un certo numero di volte.
| | Sintassi:
for( ; ; )
{
} |
| | Esempio.
for(I=1;I<=10; I++)
printf("\n%d",i); |
| | Esempio.
for(I=1, j = 0; I<10; I+=2, j+=2)
printf("%d %d\n", i, j); |
/* 08. Per stampare un messaggio 5 volte */
/* 21_for.c */
#include
int main()
{
int i;
for(i = 1; i <= 5; i++ )
printf("\nHello");
return 0;
}
/* 09. Per stampare un messaggio con il suo conteggio fino a 5 volte */
/* 22_hello.c */
#include
int main()
{
int i;
for(i = 1; i <= 5; i++ )
printf("\nHello - %d", i);
return 0;
}
/* 10. Per stampare i numeri naturali da 1 a 10 */
/* 23_nat.c */
#include
int main()
{
int i;
for(i = 1; i <= 10; i++ )
printf("\n%d", i); /* Messaggio di eliminazione */
return 0;
}
/* 11. Per stampare la seconda tabella di moltiplicazione */
/* Nota : Confrontala con l'ultimo programma */
/* 24_table.c */
#include
int main()
{
int i;
for(i = 1; i <= 20; i++ )
printf("\n%d * 2 = %d", i, i * 2);
return 0;
}
/* 12. Per stampare una tabella di moltiplicazione per il numero dato */
/* 25_tablen.c */
#include
#include
int main()
{
int i, t; /* una nuova variabile 't' */
clrscr();
printf("Quale tabella stampare :"); scanf("%d", &t);
for(i = 1; i <= 20; i++ )
printf("\n%d * %d = %d", i, t, i * t);
return 0;
}
/* 13. Per stampare una tabella di moltiplicazione per il numero dato */
/* Nota : Confrontala con l'ultimo programma */
/* 26_tablen.c */
#include
int main()
{
int i, t;
clrscr();
for(t = 1; t <= 20; t++) /* Un altro ciclo for */
for(i = 1; i <= 20; i++ )
printf("\n%d * %d = %d", i, t, i * t);
return 0;
}
/* 14. Per stampare numeri in forma triangolare */
/* Nota : Confrontala con l'ultimo programma */
/* 27_tri.c */
#include
int main()
{
int i, j;
clrscr();
for( i = 1 ; i<= 5; i++ )
{
for( j = 1; j <= 5; j++ )
printf("%4d", j);
printf("\n");
}
return 0;
}
Altri esempi di cicli for:
| | /* Ciclo Infinito */
for ( ; ; )
{
printf("\nHello");
} | /* Stampa i numeri da 1 a 5 */
for ( i=1; i<=5; )
{
printf("\n%d", i++);
} |
| | /* Interruzione esplicita del ciclo */
for ( i=1; ; )
{
printf("\n%d", i++);
if ( i> 5 ) break;
} | int i = 1;
for ( ;i<=5 ; )
{
printf("\n%d", i++);
} |
while
Una dichiarazione iterativa per eseguire un blocco di dichiarazioni fino a quando la condizione data è soddisfatta.
do.. while
Questa dichiarazione iterativa esegue il blocco di dichiarazioni all'inizio e poi verifica la validità della condizione. Se la condizione è vera, esegue di nuovo il blocco di dichiarazioni e viceversa.
| | Sintassi:
while( < condizione > )
{ ; } | Sintassi:
do
{ } while(); |
Esempio
Il seguente esempio visualizza i numeri naturali da 1 a 10.
| | int main()
{
int i=1;
while( i<=10)
{
printf("\n%d",i);
i++;
}
return 0;
} | int main()
{
int i=1;
do
{
printf("\n%d",i);
i++;
}while(i<=10);
return 0;
} |
| | Controlla prima la condizione e poi esegue il blocco, Quindi dovresti avere un valore iniziale per la condizione | Esegue prima il blocco e poi controlla la condizione, Puoi determinare il valore iniziale nel blocco di st. |
Altri Esempi
| | /* 15. Per stampare i numeri da 1 a 5 */
/* Nota : È un programma di riferimento */ /* 28_while.c */
#include
int main()
{
int i;
i = 1; /* Il valore iniziale è 1 */
while( i<= 10 )
/* Vero i è minore o uguale a 10 all'inizio */
{
printf("\n%d", i);
i ++;
}
return 0;
} | /* 16. Per stampare i numeri da 1 a 5 */
/* 29_dowhile.c */
#include
int main()
{
int i;
i = 1; /* Il valore iniziale è 1 */
do
{
printf("\n%d", i);
i ++;
}while( i<=10 );
/* Vero, i è minore o uguale a 10 al secondo */
return 0;
} |
| | /* 17. Dimostrazione di while */
/* Nota : Se il valore iniziale è 100 qual è stato l'output?, Controllalo. */ /* 30_demow.c */
#include
int main()
{
int i;
i = 1;
while( i<= 10 )
{
printf("\n%d", i);
i++;
}
return 0;
} | /* 18. Dimostrazione di do */
/* Nota : Se il valore iniziale è 100 qual è stato l'output?, Controllalo. */
/* 31_demod.c */
#include
int main()
{
int i;
i = 1;
do
{
printf("\n%d", i);
i++;
}while( i<= 10 );
return 0;
} |