Partager via


Opérateurs logiques C

Les opérateurs logiques effectuent logique AND (&&) et de les opérations (d' || ).

Syntaxe

  • logique-ET-expression:
    inclus-OU-expression

    inclus-OU-expression*&&** de logique-ET-expression*

  • logique-OU-expression:
    logique-ET-expression

    logique-OU-expression || logique-ET-expression

Les opérateurs logiques n'exécutent pas les conversions arithmétiques classiques.À la place, ils évaluent chaque opérande en termes de son équivalence à 0.le résultat d'une opération logique est 0 ou 1.le type du résultat est int.

Les opérateurs logiques C sont décrits ci-dessous :

Opérateur

Description

&&

Opérateur AND logique produit la valeur 1 si les deux opérandes ont des valeurs différentes de zéro.Si l'un des opérandes est égal à 0, le résultat est 0.Si le premier opérande d'une opération logique AND est égal à 0, le deuxième n'est pas évaluée.

||

L'opérateur OR logique s'exécute inclus-OU l'opération sur ses opérandes.le résultat est 0 si les deux opérandes ont les valeurs 0.Si l'un ou l'autre opérande a une valeur différente de zéro, le résultat est 1.Si le premier opérande d'une opération logique OR a une valeur différente de zéro, le second opérande n'est pas évaluée.

Les opérandes de logique AND et de les expressions sont évalués de gauche à droite.Si la valeur du premier opérande est suffisante pour déterminer le résultat de l'opération, le second opérande n'est pas évaluée.Cette opération est appelée « évaluation de court-circuit ». Il existe un point de séquence après le premier opérande.Consultez points de séquence pour plus d'informations.

Exemples

Les exemples suivants illustrent les opérateurs logiques :

int w, x, y, z;

if ( x < y && y < z )
    printf( "x is less than z\n" );

dans cet exemple, la fonction d' printf est appelée pour imprimer un message si x est moins qu' y et y est moins qu' z.Si x est supérieure y, le second opérande (y < z) n'est pas évalué et rien est imprimé.Notez que cela peut provoquer des problèmes dans les cas où le deuxième a les effets secondaires comptabilisés en fonction pour une autre raison.

printf( "%d" , (x == w || x == y || x == z) );

Dans cet exemple, si x est égal à w, à y, ou à z, le deuxième argument à la fonction d' printf prend la valeur true et la valeur 1 est imprimée.Sinon, il a la valeur false et la valeur 0 est imprimée.Dès que l'une des conditions évaluera true, l'évaluation s'arrête.

Voir aussi

Référence

Opérateur logique AND : &&

Opérateur logique OR : ||