Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 14 di 47
  • livello principiante
Indice lezioni

Operatori aritmetici

Per compiere le basilari operazioni aritmetiche sulle variabili
Per compiere le basilari operazioni aritmetiche sulle variabili
Link copiato negli appunti

In realtà abbiamo già visto i semplici operatori di assegnamento (=) e di divisione intera (/), ma non abbiamo spiegato nel dettagli tutte le operazioni che si possono compiere sulle variabili per mezzo dei loro operatori. Ovviamente oltre alla divisione intera, con gli interi, è possibile eseguire la somma (+), la sottrazione (-), la moltiplicazione (*) e la divisione con resto (%), di cui presentiamo una tabella riassuntiva da usare anche nella programmazione in C:

Operazioni con gli int
Simbolo
Esempio
Addizione
+
4 + 27 = 31
Sottrazione
-
76 - 23 = 53
Moltiplicazione
*
4 * 7 = 28
Divisione intera
/
10 / 3 = 3

(3 è il n di volte divisibili senza resto)

Divisione con modulo
%
11 / 6 = 5
(5 è il resto della divisione)

Quando lavoriamo con i numeri reali (float o double) l'unica operazione che manca è quella di "divisione con modulo" che ovviamente non ha ragione di esistere, in quanto le divisioni possono contenere le parti frazionarie:

Operazioni con i double
Simbolo
Esempio
Addizione
+
2.5 + 14.3 = 16.8
Sottrazione
-
43.8 - 12.7 = 31.1
Moltiplicazione
*
7.5 * 3.0 = 22.5
Divisione
/
5.0 / 2.0 = 2.5

Esistono poi degli operatori ai quali bisogna porre particolare attenzione, questi sono l'operatore di incremento (++) e quello di decremento (--), che possono essere preposti o posposti alla variabile; se sono preposti il valore è calcolato prima che l'espressione sia valutata, altrimenti viene calcolato dopo; l'incremento ed il decremento avvengono sempre nel valore di una unità sul valore della variabile. Un po' di codice servirà a far capire meglio come funzionano tali operatori:

int x = 2;
int y = 5;
int z = 9;
int k = 6;

// accanto, come commento, il valore stampato a video
printf("%d n", x++); // 2
printf("%d n", ++y); // 6
printf("%d n", z--); // 9
printf("%d n", --k); // 5

 

Come detto questi operatori incrementano o decrementano il valore di una variabile, quindi

x++

 

ad esempio, equivale a scrivere

x = x + 1;

 

Anche se la prima forma (quella di incremento) risulta essere più veloce.

Inoltre esiste una forma contratta per espressioni del tipo:

espressione1 = espressione1 <operatore> espressione2

// equivalente a
espressione1 <operatore> = espressione2

 

Questa forma risulta essere più concisa, e per questo più facile da usare, ma bisogna porre attenzione nel suo uso perché potrebbe indurre in errori dovuti alla poca chiarezza del codice:

int y = 4;
y += 2; // i adesso vale 6

int x = 3;
x *= y + 3; // x adesso vale 27
// questo perché equivale a x=x*(y+3) e non x=(x*y)+3

 

Ti consigliamo anche