Menu
CoddyTech

Opérateurs logiques — Partie 3

Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 23 sur 63.

Lors de la vérification de plusieurs conditions, le programme cesse de les vérifier dès qu’il connaît la réponse finale. C’est ce qu’on appelle l’évaluation à court-circuit.

Par exemple :

int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);

Ici, x est égal à 0 ; par conséquent, il n’évaluera pas y / x > 2. Si nous inversons l’ordre :

int result = (y / x > 2) && (x != 0);

Cela entraînera une erreur, car y sera divisé par 0, ce qui n’est pas défini en C. Il est donc recommandé de réfléchir aux opérations afin d’écrire un code correct et efficace, sans erreurs.

Cette technique est utilisée pour optimiser l’évaluation des expressions logiques. Par exemple :

int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);

Dans cet exemple, b < 2 et d < 10 ne seront pas évaluées, car a > 0 et c < -5 sont toutes deux fausses.

challenge icon

Défi

Facile

Crée un programme qui détermine si c’est une bonne journée pour produire de l’énergie avec des panneaux solaires

Initialise ces variables :

  • isSunny avec la valeur 1 (vrai)
  • windSpeed avec la valeur 5.4
  • temperature avec la valeur 23
  • solarPanelOutput avec la valeur 9
  • isCloudy avec la valeur 0 (faux)

Crée une expression logique qui vérifie TOUTES ces conditions :

  • Il fait beau
  • La vitesse du vent est inférieure à 10
  • La production du panneau solaire est inférieure à 15
  • La température est supérieure à 20 OR il n’y a pas de nuages

Affiche "Good day for solar energy" si toutes les conditions sont remplies, sinon affiche "Not ideal for solar energy".

Essayez vous-même

#include <stdio.h>

int main() {
    // Initialiser les variables
    int isSunny = 1;
    float windSpeed = 5.4;
    int temperature = 23;
    int solarPanelOutput = 9;
    int isCloudy = 0;
    
    // Créer l'expression logique
    int isGoodDay = 
    
    // Ne rien modifier ci-dessous
    if (isGoodDay) {
        printf("Good day for solar energy\n");
    } else {
        printf("Not ideal for solar energy\n");
    }
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur C en ligne