Istruzioni di controllo

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.
Ad esempio:
  switch (val){
    case 0:
      cout << COUT CASE NON TROVATO } CASE << DEFAULT: CASE 0  ENDL; 
dà per val=0
  case 0
  case 1
  case non trovato
e per val=1
  case 1
  case non trovato

while

  while (condizione) {
    // blocco di comandi      
  }
Il blocco di comandi viene ripetuto finché la condizione è verificata.

do ... while

  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

  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.
Ecco la descrizione schematica del suo funzionamento:
  1. inizializzazione, generalmente costituita dall'inizializzazione di un contatore è eseguita una volta sola;
  2. la condizione è controllata, se è vera il ciclo continua, altrimenti il ciclo termina;
  3. esecuzione blocco di comandi;
  4. esecuzione dell'incremento;
  5. il ciclo ritorna al passo 2.
Ecco un esempio di n iterazioni del blocco di comandi utilizzando come contatore il numero intero i :
  for (int i=0; i 
Nelle istruzioni di inizializzazioni, condizione ed incremento
possono comparire più contatori:
  for (int i=0, int j=10; i 



break
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 linea
return 1.0
interrompe l'esecuzione della funzione e le assegna 1.0 come valore di ritorno.