C/Blocchi e funzioni/Operatori logici

Wikibooks, manuali e libri di testo liberi.

Per una definizione di verità e falsità in C, vedere Verità e falsità in C. Gli operatori logici nel linguaggio C sono:

Indice

[modifica] NOT !

Questo operatore inverte il risultato di un'espressione: ovvero se essa restituisce true restituirà false o viceversa.

risultato = !true; // Restituirà false o 0

[modifica] AND &&

Questo operatore restituisce true se entrambe le espressioni sono vere, false altrimenti.

risultato = true && false; // Restituirà false o 0

[modifica] OR ||

Questo operatore restituisce true se almeno una delle due espressioni è vera, false altrimenti.

risultato = true || false; // Restituirà true o 1

Il linguaggio C non possiede l'operatore XOR.

[modifica] ==

Questo operatore ritorna vero se le due espressioni sono uguali.

[modifica] !=

Questo operatore ritorna vero se le due espressioni sono diverse.

[modifica] Valutazione "short-circuit"

Una caratteristica notevole degli operatori logici && e || è che essi valutano solo gli operandi effettivamente necessari a determinare il risultato.

risultato = f(a) && g(++b); // se f(a) == false , g(++b) non sarà valutata

Nell'esaminare questa espressione, verrà prima di tutto valutata f(a). Se l'espressione f(a) risulta in un valore di falsità, g non sarà neppure richiamata (nè sarà incrementata b).

Strumenti personali