if,else if, else
switch
while
do ... while
for
break
continue
return
if, else if, else
Condizionano l'esecuzione di un comando o di un blocco di comandi.
if (condizione1){ // questo blocco viene eseguito se condizione1 e' vera } else if (condizione2) { // questo blocco viene eseguito se condizione1 e' falsa e condizione2 e' vera } else { // questo blocco viene eseguito in tutti gli altri casi }
switch
Svolge una funzione di selezione di blocchi di codice simile all'istruzione if:
switch (val){ case 0: // istruzione-1 break; case 1: // istruzione-2 break; default: // istruzione-3 break; }Se val vale 0 si esegue il istruzione-1, se vale 1 istruzione-2 altrimenti istruzione-3. Ogni case deve essere terminato (con l'istruzione break ) se non si vuole che si proceda all'esecuzione delle linee seguenti, lo switch infatti determina solo il case da cui partire.
switch (val){ case 0: cout << COUT CASE NON TROVATO } CASE << DEFAULT: CASE 0 ENDL;dà per val=0
case 0 case 1 case non trovatoe per val=1
case 1 case non trovato
while (condizione) { // blocco di comandi }Il blocco di comandi viene ripetuto finché la condizione è verificata.
do { // blocco di comandi } while (condizione)Stessa funzionalita di while eccetto che la condizione è valutata dopo l'esecuzione del blocco di comandi. Questo garantisce che il blocco sia eseguito almeno una volta.
for (initializzazione; condizione; incremento) { // blocco di comandi }La sua funzionalità è quella di ripetere il blocco di comandi finché la condizione resta vera, come fa l'istruzione while . In aggiunta for fornisce un'istruzione di inizializzazione ed una di incremento. for è quindi adatto all'iterazione di operazioni dipendenti da un contatore.
for (int i=0; i Nelle istruzioni di inizializzazioni, condizione ed incremento possono comparire più contatori:for (int i=0, int j=10; ibreak
break si usa per interrompere un ciclo. Può essere utilizzata per forzare il termine del ciclo in base ad un'altra condizione:while (condizione1) { // blocco di comandi if (condizione2) break; }continue
continue salta alla fine del blocco di comandi ma, a differenza di break , le iterazioni continuano.while (condizione1) { // blocco di comandi part1 if (condizione2) continue; // blocco di comandi part2 }Nell'esempio se condizione2 e' vera il blocco di comandi part2 non viene eseguita.return
return ritorna il valore che segue come valore di ritorno della funzione e interrompe l'esecuzione delle istruzioni in essa contenute.
Esempio:
double funzione(){ ... return 1.0; ... }la lineareturn 1.0interrompe l'esecuzione della funzione e le assegna 1.0 come valore di ritorno.