Comment utiliser les booléens en c?

Fermé
conte - 23 avril 2016 à 02:54
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 - 28 avril 2016 à 20:00
la programmation en c

2 réponses

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
23 avril 2016 à 10:35
Bonjour,

Depuis C99, on un type bool existe en C, il faut utiliser #include <stdbool.h>
On peut écrire alors : bool z = 2 < 3; if ( z != false ) { printf("z est vrai"); }


En C, les booléen sont en réalité fréquemment utilisés.
  • Tout scalaire est implicitement convertible en booléen. Il vaut false s'il est null, et vaut true pour toutes les autres valeurs. Cette conversion est utilisée dans les if(bool) while(bool) for(;bool;).

enum E { A, B, C } e = B;
double d = 3.0;
double *ptr = &d;
bool b = true;
if ( b ) if ( 2 ) if ( d ) if ( e ) if ( ptr ) { printf( "tout est vrai" ); }
  • Des opérateurs existent sur les booléens, ce sont || et && et !. Leurs membres sont convertis en booléens et ils produisent un entier à valeur de booléen ( 0 pour faux et 1 pour vrai ).

if ( b && !0 && d && !A && ptr ) { printf( "tout est encore vrai" ); }
  • Les opérateurs de comparaisons retournent aussi un entier à valeur de booléen.

if ( (2 < 3) && (4 != 5) ) { printf( "vrai" ); }
  • Le C peut aussi gérer des masques de booléen dans les valeurs intégrales. Les opérateurs & | et ^ gèrent alors chacun des bits comme un booléen. Et l'opérateur ~ retourne le complément de tous les bits. Les opérateurs de décalage permettent de les déplacer.

int x = 0x100 | ( 2 < 3 ) | (~-1 & 0x10);
printf("0x%X 0x%X 0x%X 0x%X" , 2<3 , ~-1 , x , x <<8 );
// => 0x1 0x0 0x101 0x10100
0
Utilisateur anonyme
23 avril 2016 à 06:49
Bonjour déjà,
Ensuite, étoffer un peu la demande ne serait pas de refus.
Enfin, un minimum de recherches et tu aurais trouvé.

Bref, pour que tu ne repartes pas les mains vides :
Le type booléen n'est utilisable qu'en C++.
En C, tu peux utiliser des entiers : 1 pour VRAI et 0 pour FAUX.

Bonne journée
-2
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 30
28 avril 2016 à 20:00
Tu peux crée une structure qui reproduit le booléen ..
0