Come si classificano
Le istruzioni si dividono in due grandi famiglie: quelle operative, che eseguono un'azione concreta, e quelle non operative (o di controllo), che governano il flusso del programma.
Istruzione di dichiarazione
Avvisa il sistema operativo che useremo una variabile, indicandone il nome e il tipo. In pratica riserva uno spazio in memoria RAM dove conservare un valore.
int numero; // dichiarazione int eta = 16; // dichiarazione + assegnamento (inizializzazione) float media; // un numero reale char iniziale; // un singolo carattere
Istruzione di assegnamento
Assegna un valore a una variabile, con l'operatore =. Ogni variabile è infatti caratterizzata da tre cose: nome, tipo e valore.
numero = 16; // nella cella "numero" finisce 16 somma = numero + 1; // a destra si calcola, poi si assegna a sinistra
Caso classico: scambiare il contenuto di due variabili. Serve una variabile d'appoggio temp, altrimenti il primo valore andrebbe perso.
int a = 10, b = 20, temp; temp = a; // salvo a -> temp = 10 a = b; // copio b in a -> a = 20 b = temp; // recupero -> b = 10
Istruzioni di input/output
L'input (cin) mette in pausa il programma e aspetta che l'utente digiti un valore da tastiera; quando preme Invio, quel valore viene assegnato alla variabile. L'output (cout) stampa a schermo il valore di una variabile, una stringa o una costante.
int num; cout << "Inserisci il valore di num: "; cin >> num; // attende l'input dell'utente cout << "La somma e' " << num + 1; cout << 20; // stampa una costante
Istruzione di selezione
Verifica una condizione booleana e, in base al suo valore (vero o falso), esegue il ramo vero oppure il ramo falso. In C++ si scrive con if … else.
int eta; cout << "Inserisci eta': "; cin >> eta; if (eta < 18) { cout << "Utente minorenne"; } else { cout << "Utente maggiorenne"; }
Spesso servono più condizioni. La differenza chiave è se le condizioni dipendono l'una dall'altra oppure no.
If annidati
La seconda condizione si controlla solo se la prima è vera: il secondo if sta dentro il ramo vero del primo. Tipico dei controlli "compreso tra due valori".
If in cascata
Due (o più) if separati, uno dopo l'altro: le condizioni non dipendono l'una dall'altra e vengono valutate entrambe.
Istruzione di iterazione
Ripete un blocco di istruzioni finché una condizione resta vera. In C++ i cicli principali sono while, do–while e for.
// stampa i numeri da 1 a 10 con il while int i = 1; while (i <= 10) { cout << i << " "; i++; // senza questo il ciclo sarebbe infinito! } // stesso risultato con il for for (int i = 1; i <= 10; i++) { cout << i << " "; }