Les opérateurs logiques

Le C dispose de trois opérateurs logiques classiques :
| Opérateur | Pascal | C |
| et logique | and | && |
| ou logique | or | || |
| non | not | ! |
Le tableau suivant récapitule les résultats de chacun de ces opérateurs en
fonction des opérandes.
L'opérateur &&
| Opérande 1 | Opérateur |
Opérande 2 | Résultat |
| 0 | && | 0 | 0 |
| 0 | && | non nul | 0 |
| non nul | && | 0 | 0 |
| non nul | && | non nul | non nul |
L'opérateur ||
| Opérande 1 | Opérateur |
Opérande 2 | Résultat |
| 0 | || | 0 | 0 |
| 0 | || | non nul | non nul |
| non nul | || | 0 | non nul |
| non nul | || | non nul | non nul |
L'opérateur !
| Opérateur |
Opérande 2 | Résultat |
| ! | 0 | non nul |
| ! | non nul | 0 |
On entend par 0 : faux , et par non nul : vrai.
Ainsi, en C, si n et p ne sont pas des entiers, des expressions
telles que :
n&&p
n||p
! n
sont acceptées par le compilateur.
on rencontre souvent l'expression :
if(! n)
qui est équivalente à if(n==0)