Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 37 di 93
  • livello avanzato
Indice lezioni

Precedenza tra operatori

Ogni operatore viene valutato dal compilatore secondo un ordine preciso. In questa lezione vengono descritti i livelli di precedenza.
Ogni operatore viene valutato dal compilatore secondo un ordine preciso. In questa lezione vengono descritti i livelli di precedenza.
Link copiato negli appunti

La precedenza tra operatori indica l'ordine con cui gli operatori vengono valutati dal compilatore. Un operatore con precedenza maggiore verrà valutato per prima rispetto ad un operatore con precedenza minore, anche se quest'ultimo figura prima dell'operatore con precedenza maggiore. Ecco un esempio:

int risultato = 4 + 5 * 7 + 3;

Il risultato in questo caso dipende proprio dalla precedenza tra operatori. In C++, l'operatore di moltiplicazione (*) ha precedenza rispetto all'operatore addizione (+). Quindi la moltiplicazione 5*7 avverrà prima di tutte le altre addizioni. Ecco la sequenza della risoluzione dell'espressione precendente:

int risultato = 4 + 5 * 7 + 3;
risultato = 4 + 35 + 3 = 42

Perché le operazioni siano effettuate con ordine diverso, sarà sufficiente introdurre delle parentesi tonde. Ad esempio se vogliamo moltiplicare la somma 4+5 con la somma di 7+3, basterà scrivere:

int risultato = (4 + 5) * (7 + 3);

La variabile risultato, in questo caso, varrà 90.

Facciamo ora un elenco di tutti gli operatori ordinati per livello di precedenza. Ad ogni riga della tabella è assegnato un livello di precendenza. L'operatore a maggior priorità avrà il valore 1 e a seguire quelli a priorità sempre più bassa

Livello di precedenza Operatore Nome
1 ! Not, negazione
2 * Moltiplicazione
2 / Divisione
2 % Modulo
3 + Addizione
3 - Sottrazione
4 < Minore
4 <= Minore uguale
4 > Maggiore
4 >= Maggiore uguale
5 == Uguale (confronto)
5 != Diverso
6 && AND
7 || OR
8 = Assegnamento

Le parentesi risolvono praticamente il problema di conoscere la precedenza tra gli operatori. Per evitare errori ed aumentare la leggibilità del codice può essere consigliabile l'uso delle parentesi in ogni situazione in cui vi sia la presenza contemporanea di più operatori e si abbiano dubbi sulle precedenze.

Ti consigliamo anche