Gli operatori logici in C++ consentono di concatenare tra di loro più espressioni logiche o anche di negare il risultato di un’espressione.

Ma vediamo in dettaglio quali sono gli operatori logici in C++:

! (not logico)

&& (and logico)

|| (or logico)


Esempi d’uso degli operatori logici in C++

Operatore not

Il connettivo not ( ! ), come abbiamo già detto, nega un’espressione.

Banner Pubblicitario

Ad esempio l’espressione:

! a

restituisce vero se a è falsa e viceversa.

L’operatore ! è di tipo unario.


Operatore &&

L’operatore and ( && ) restituisce vero se e solo entrambe le operazioni logiche sono vere.

Ad esempio:

a == 5 && b == 7

Banner pubblicitario

Restituisce vero solo se a è uguale a 5 e b è uguale a 7, in tutti gli altri casi restituisce falso.

L’opertore && è un operatore binario.

Operatore ||

L’operatore or (||) restituisce vero se almeno una delle due espressioni è vera.

Ad esempio:

a == 5 || b == 7

E verà sia se le espressioni sono vere entrambe, sia se almeno una delle due è vera. Quindi è falsa solo se entrambe sono false.

L’opertore || è un operatore binario.

Ordine di priorità

L’ordine di priorità è il seguente: prima il not (!) poi l’and (&&) e infine l’or (||).

Quindi se vogliamo un ordine diverso occorre utilizzare le parentesi.

Ad esempio:

a == 5 || b == 7 && c == 6

Prima verranno valutate le operazioni logiche b == 7 e c == 6.

Invece, con le parentesi:

(a == 5 || b == 7) && c == 6

In questo caso verranno valutate prima le operazioni logiche a == 5 || b == 7.


Inoltre la valutazione delle espressioni và, come nel C, da sinistra verso destra.

Facciamo degli esempi sulla valutazione degli operatori logici in C++, per capire meglio il concetto.


Esempi

if (a > 10 || b != 9) ….

In questo caso l’espressione b diverso da 9 verrà valutata solo se l’espressione a>10 è falsa.

if (a > 10 && b != 9) ….

In questo caso l’espressione b diverso da 9 verrà valutata solo se l’espressione a>10 è vera.

Nella prossima lezione vedremo qualche esempio di utilizzo degli operatori logici in C++.

Alcuni link utili:

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++