opérateur ! négation logique
opérateur && conjonction logique
opérateur || disjonction logique
Syntaxe:
! E1
E1 && E2
E1 || E2
Description:
L'évaluation de ces expressions fournit une des deux valeurs 0 ou 1.
Les opérandes E1 et E2 doivent être de type scalaire.
Si E1 est non nul alors !E1 est égal à 0 Si E1 est nul alors !E1 est égal à 1
Si E1 et E2 sont non nuls alors E1 && E2 est égal à 1 Si l'un des deux est nul alors E1 && E2 est égal à 0
Si E1 et E2 sont nuls alors E1 || E2 est égal à 0 Si l'un des deux est non nul alors E1 || E2 est égal à 1
Les opérateurs logiques && et || garantissent une opération de gauche à droite:
conjonction: E1 est évalué en premier; s'il est égal à 0, E2 n'est pas évalué et E1 && E2 renvoie 0
disjonction: E1 est évalué en premier; s'il est égal à 1, E2 n'est pas évalué et E1 || E2 renvoie 1
Attention: Ces opérateurs ne doivent pas être confondus avec les opérateurs bit-à-bit : ~ & |
Voir aussi:
Exemple:
#include
int main(void) {
int nb; /* nombre de notes tapées */
double note, somme;
printf( "Tapez vos notes, (terminez par -1) : ");
scanf( "%lf", ¬e);
nb=0; somme=0;
while( ! (note==-1) ) {
nb++;
somme += note;
scanf( "%lf", ¬e);
}
if( nb!=0 && somme/nb > 14 )
printf("La moyenne est très bonne\n");
return 0;
}