Les opérateurs logiques en C sont utilisés pour combiner plusieurs conditions/contraintes. Les opérateurs logiques renvoient 0 ou 1, cela dépend si le résultat de l'expression est vrai ou faux. En programmation C pour la prise de décision, nous utilisons des opérateurs logiques.
Nous avons 3 opérateurs logiques en langage C :
- ET logique ( && ) OU logique ( || ) NON logique ( ! )
Types d'opérateurs logiques
1. Opérateur ET logique ( && )
Si les deux opérandes sont non nuls alors la condition devient vraie. Sinon, le résultat a la valeur 0. Le type de retour du résultat est int. Vous trouverez ci-dessous la table de vérité de l'opérateur logique ET.
X | ET | X && Y |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Syntaxe
java obtient la date actuelle
(operand_1 && operand_2)>
Exemple
C
// C program for Logical> // AND Operator> #include> // Driver code> int> main()> {> > int> a = 10, b = 20;> > if> (a>0 && b> 0) {> > printf> (> 'Both values are greater than 0
'> );> > }> > else> {> > printf> (> 'Both values are less than 0
'> );> > }> > return> 0;> }> |
>
>Sortir
Both values are greater than 0>
2. Opérateur OU logique ( || )
La condition devient vraie si l’une d’entre elles est non nulle. Sinon, il renvoie false, c'est-à-dire 0 comme valeur. Vous trouverez ci-dessous la table de vérité de l'opérateur logique OU.
X | ET | X || ET |
---|---|---|
1 exemples de code c# | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
Syntaxe
(operand_1 || operand_2)>
Exemple
C
// C program for Logical> // OR Operator> #include> // Driver code> int> main()> {> > int> a = -1, b = 20;> > if> (a>0 || b> 0) {> > printf> (> 'Any one of the given value is '> > 'greater than 0
'> );> > }> > else> {> > printf> (> 'Both values are less than 0
'> );> > }> > return> 0;> }> |
>
>Sortir
Any one of the given value is greater than 0>
3. Opérateur NON logique ( ! )
Si la condition est vraie, alors l’opérateur logique NOT la rendra fausse et vice versa. Vous trouverez ci-dessous la table de vérité pour l’opérateur logique NOT.
X | !X |
---|---|
0 | 1 |
1 | 0 |
Syntaxe
! (operand_1 && operand_2)>
Exemple
C
// C program for Logical> // NOT Operator> #include> // Driver code> int> main()> {> > int> a = 10, b = 20;> > if> (!(a>0 && b> 0)) {> > // condition returned true but> > // logical NOT operator changed> > // it to false> > printf> (> 'Both values are greater than 0
'> );> > }> > else> {> > printf> (> 'Both values are less than 0
'> );> > }> > return> 0;> }> |
>
>
exemple de
Opérateurs logiques de court-circuit
Lorsque le résultat peut être déterminé en évaluant l’expression logique précédente sans évaluer les autres opérandes, on parle de court-circuit.
Un court-circuit peut être observé dans l'équation ayant plus d'un opérateur logique. Ils peuvent soit ET, OU, ou les deux.
1. Court-circuit dans l'opérateur ET logique
L'opérateur logique ET renvoie vrai si et seulement si tous les opérandes sont évalués à vrai. Si le premier opérande est faux, les autres opérandes ne seront pas évalués. En effet, même si les autres opérandes sont évalués à vrai, la condition entière renverra toujours faux.
Exemple
C++
// C++ Program to illustrate short circuiting in Logical AND> #include> using> namespace> std;> // utility function to check positive> bool> is_positive(> int> number)> {> > if> (number>0)> > return> true> ;> > else> > return> false> ;> }> // utility function to check if the number is even> bool> is_even(> int> number)> {> > if> (number % 2 == 0)> > return> true> ;> > else> > return> false> ;> }> // driver code> int> main()> {> > int> x = 10;> > // Both conditions are evaluated> > if> (is_positive(x) && is_even(x)) {> > cout <<> 'Both conditions are satisfied.'> << endl;> > }> > else> {> > cout <<> 'Conditions not satisfied.'> << endl;> > }> > int> y = -5;> > // The first condition is evaluated and found to be> > // false, so the second condition is not evaluated> > if> (is_positive(y) && is_even(y)) {> > cout <<> 'Both conditions are satisfied.'> << endl;> > }> > else> {> > cout <<> 'Conditions not satisfied.'> << endl;> > }> > return> 0;> }> |
>
>Sortir
Both conditions are satisfied. Conditions not satisfied.>
2. Court-circuit dans l'opérateur OU logique
L'opérateur OR renvoie vrai si au moins un opérande est évalué à vrai. Si le premier opérande est vrai, les autres opérandes ne seront pas évalués. En effet, même si les autres opérandes sont évalués comme faux, la condition entière retournera toujours vraie.
Exemple
C++
// C++ program to illustrate the short circuiting in Logical> // OR> #include> using> namespace> std;> // utility function to check positive number> bool> is_positive(> int> number)> {> > if> (number>0)> > return> true> ;> > else> > return> false> ;> }> // utility function to check if the number is even> bool> is_even(> int> number)> {> > if> (number % 2 == 0)> > return> true> ;> > else> > return> false> ;> }> // driver code> int> main()> {> > int> x = 8;> > // The first condition is evaluated and found to be> > // true, so the second condition is not evaluated> > if> (is_positive(x) || is_even(x)) {> > cout <<> 'At least one condition is satisfied.'> > << endl;> > }> > else> {> > cout <<> 'Conditions not satisfied.'> << endl;> > }> > int> y = -5;> > // The first condition is evaluated and found to be> > // false, so the second condition is evaluated> > if> (is_positive(y) || is_even(y)) {> > cout <<> 'At least one condition is satisfied.'> > << endl;> > }> > else> {> > cout <<> 'Conditions not satisfied.'> << endl;> > }> > return> 0;> }> |
générer un nombre aléatoire en Java
>
>Sortir
At least one condition is satisfied. Conditions not satisfied.>
FAQ sur les opérateurs logiques
T1. Quelle est la priorité des opérateurs logiques en programmation ?
Répondre:
La priorité des opérateurs logiques est : NOT, AND, OR. Cependant, il est toujours recommandé d'utiliser des parenthèses pour rendre explicite l'ordre d'évaluation et éviter toute confusion.
Q2. Les opérateurs logiques peuvent-ils être enchaînés ?
Répondre:
Oui, les opérateurs logiques peuvent être enchaînés pour créer des conditions complexes. Par exemple, nous pouvons combiner plusieurs opérateurs logiques AND (&&) ou logique OR (||) dans une seule expression pour évaluer plusieurs conditions simultanément.
Q3. Quel sera le résultat du code suivant ?
C
acteur de cinéma vijay
#include> void> main()> > > int> a = 1, b = 0, c = 5;> > int> d = a && b> |
>
>
Répondre:
6>
Q4. Quel sera le résultat du code suivant ?
C
#include> int> main()> {> > int> i = 1;> > if> (i++ && (i == 1))> > printf> (> 'techcodeview.com
'> );> > else> > printf> (> 'Coding
'> );> }> |
>
>
Répondre:
Coding>