Programmer en langage C
36
© Éditions Eyrolles
Le tableau suivant récapitule la situation.
Ainsi, en C, si n et p sont des entiers, des expressions telles que :
n && p
n || p
!n
sont acceptées par le compilateur. Notez que l’on rencontre fréquemment l’écriture :
if (!n)
plus concise (mais pas forcément plus lisible) que :
if ( n == 0 )
L’opérateur ! a une priorité supérieure à celle de tous les opérateurs arithmétiques binaires et
aux opérateurs relationnels. Ainsi, pour écrire la condition contraire de :
a == b
il est nécessaire d’utiliser des parenthèses en écrivant :
! ( a == b )
En effet, l’expression :
! a == b
serait interprétée comme :
( ! a ) == b
Fonctionnement des opérateurs logiques en C
OPERANDE 1
OPERATEUR
OPERANDE 2
RESULTAT
____________________________________________________________________
0
&&
0
0
0
&&
non nul
0
non nul
&&
0
0
non nul
&&
non nul
1
____________________________________________________________________
0
||
0
0
0
||
non nul
1
non nul
||
0
1
non nul
||
non nul
1
____________________________________________________________________
!
0
1
!
non nul
0
Delannoy Livre.book Page 36 Mercredi, 6. mai 2009 4:26 16
36
© Éditions Eyrolles
Le tableau suivant récapitule la situation.
Ainsi, en C, si n et p sont des entiers, des expressions telles que :
n && p
n || p
!n
sont acceptées par le compilateur. Notez que l’on rencontre fréquemment l’écriture :
if (!n)
plus concise (mais pas forcément plus lisible) que :
if ( n == 0 )
L’opérateur ! a une priorité supérieure à celle de tous les opérateurs arithmétiques binaires et
aux opérateurs relationnels. Ainsi, pour écrire la condition contraire de :
a == b
il est nécessaire d’utiliser des parenthèses en écrivant :
! ( a == b )
En effet, l’expression :
! a == b
serait interprétée comme :
( ! a ) == b
Fonctionnement des opérateurs logiques en C
OPERANDE 1
OPERATEUR
OPERANDE 2
RESULTAT
____________________________________________________________________
0
&&
0
0
0
&&
non nul
0
non nul
&&
0
0
non nul
&&
non nul
1
____________________________________________________________________
0
||
0
0
0
||
non nul
1
non nul
||
0
1
non nul
||
non nul
1
____________________________________________________________________
!
0
1
!
non nul
0
Delannoy Livre.book Page 36 Mercredi, 6. mai 2009 4:26 16
