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).

