Booleans and selection: if, else, switch · Booléens et sélection : if, else, switch
True and false in C
- C has no separate true/false type by default. It uses numbers:
0means false, and any other number means true. - A test like
5 > 3produces1(true).5 < 3produces0(false). - (If you
#include <stdbool.h>you can writebool,true, andfalse— but plainintworks everywhere.)
Vrai et faux en C
- Le C n'a pas de type vrai/faux séparé par défaut. Il utilise des nombres :
0signifie faux, et tout autre nombre signifie vrai. - Un test comme
5 > 3produit1(vrai).5 < 3produit0(faux). - (Si vous
#include <stdbool.h>, vous pouvez écrirebool,trueetfalse— mais le simpleintfonctionne partout.)
Comparing and combining
- Compare values with
==(equal),!=(not equal),<,>,<=,>=. - Be careful:
==tests equality; a single=assigns a value. They are different! - Combine tests with
&&(and),||(or), and!(not).a && bis true only when both are true.
Comparer et combiner
- Comparez des valeurs avec
==(égal),!=(différent),<,>,<=,>=. - Soyez prudent :
==teste l'égalité ; un simple=attribue une valeur. Ce sont différents ! - Combinez des tests avec
&&(et),||(ou) et!(non).a && best vrai uniquement si les deux sont vrais.
if / else if / else
if (test) { ... }runs the block only when the test is true.- Add
else if (...)to check another test, andelsefor "none of the above". - Only the first matching branch runs.
if / else if / else
if (test) { ... }exécute le bloc uniquement lorsque la condition est vraie.- Ajoutez
else if (...)pour vérifier un autre test, etelsepour « aucun de ci-dessus ». - Seule la première branche correspondante est exécutée.
#include <stdio.h>
int main(void) {
int score = 72;
if (score >= 90) {
printf("A\n");
} else if (score >= 60) {
printf("Pass\n"); // this one runs
} else {
printf("Fail\n");
}
return 0;
}
switch: choosing among many values
- A
switchpicks a branch based on one value (anintorchar). - Each
caseends withbreak;so it does not fall into the next one.default:catches everything else. switchis neat when you compare the same variable against many fixed values.
switch : choisir parmi plusieurs valeurs
- Un
switchsélectionne une branche basée sur une valeur (unintouchar). - Chaque
casese termine parbreak;, donc il ne tombe pas dans le suivant.default:capture tout le reste. switchest pratique lorsque vous comparez la même variable contre de nombreuses valeurs fixes.
Common mistakes
- Use
==to compare;=assigns (andif (x = 5)is always true). - Each
switchcase needs abreak;.
Erreurs courantes
- Utilisez
==pour comparer ;=attribue (etif (x = 5)est toujours vrai). - Chaque cas
switchnécessite unbreak;.
Now you try
- Use comparisons and
&&/||to build your tests. Remember0is false, anything else is true. - For the
switchtask, divide the score by 10 first, then switch on the result. - Do not write a
main— the checker provides one.
À vous maintenant
- Utilisez des comparaisons et
&&/||pour construire vos tests. Rappelez-vous que0est faux, tout le reste est vrai. - Pour la tâche
switch, divisez d'abord la note par 10, puis faites un switch sur le résultat. - N'écrivez pas de
main— le vérificateur en fournit une.
if / else if / else
Conditions test top-down; the first true block runs. · Les conditions sont testées de haut en bas ; le premier bloc vrai s'exécute.
Complete int sign(int n) so it returns -1 when n is negative, 0 when n is zero, and 1 when n is positive. Do not · non write a main. · Complétez int sign(int n) pour qu'il retourne -1 lorsque n est négatif, 0 lorsque n est zéro, et 1 lorsque n est positif. Ne pas écrire de main.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete int in_range(int n, int lo, int hi) so it returns 1 when n is between lo and · et hi (inclusive), and 0 otherwise. Use &&. Do not · non write a main. · Complétez int in_range(int n, int lo, int hi) pour qu'il retourne 1 lorsque n est entre lo et hi (inclus), et 0 sinon. Utilisez &&. Ne pas écrire de main.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete char grade_letter(int score) using a switch on score / 10. Return 'A' for 90–100, 'B' for the 80s, 'C' for the 70s, 'D' for the 60s, and 'F' below 60. Do not · non write a main. · Complétez char grade_letter(int score) en utilisant un switch sur score / 10. Retournez 'A' pour 90–100, 'B' pour les 80, 'C' pour les 70, 'D' pour les 60, et 'F' en dessous de 60. Ne pas écrire de main.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.