Opérateurs logiques - Partie 3
Fait partie de la section Fundamentals du Journey C de Coddy. Leçon 23 sur 63.
Lors de la vérification de plusieurs conditions, le programme s'arrête dès qu'il connaît le résultat final. 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 égale 0, par conséquent, il n'évaluera pas y / x > 2. Si nous devions inverser l'ordre :
int result = (y / x > 2) && (x != 0);Cela résultera en une erreur car y sera divisé par 0, ce qui est indéfini en C. C'est donc une bonne pratique de bien réfléchir aux opérations, afin d'obtenir un code correct, efficace et sans erreur.
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és car a > 0 et c < -5 sont tous deux faux.
Défi
FacileCréez un programme pour décider si c'est une bonne journée pour la production d'énergie solaire
Initialisez ces variables :
isSunnyavec la valeur 1 (vrai)windSpeedavec la valeur 5.4temperatureavec la valeur 23solarPanelOutputavec la valeur 9isCloudyavec la valeur 0 (faux)
Créez une expression logique qui vérifie TOUTES ces conditions :
- Il fait ensoleillé
- La vitesse du vent est inférieure à 10
- La production des panneaux solaires est inférieure à 15
- La température est supérieure à 20 OU il n'y a pas de nuages
Affichez "Good day for solar energy" si toutes les conditions sont remplies, sinon affichez "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 changez pas ci-dessous
if (isGoodDay) {
printf("Good day for solar energy\n");
} else {
printf("Not ideal for solar energy\n");
}
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
2Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatifEntraînez-vous par vous-même : Compilateur C en ligne