Il y a actuellement 206 visiteurs
Jeudi 14 Novembre 2019
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

valeurs booléennes et C

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

valeurs booléennes et C

Message le 15 Déc 2017 10:45

Bonjour, j'ai cet exercice :

int main()
{
int a,b,c,x,y,z;
x = 3 ; y = 2; z = 5; a = 1 ; b = 2; c = (a != b);
a = !c ; b = (a && c); c = (a || b);
x = x-z+y ; y = y+z; z = x-x;
return 0;
}

on obtient a=0, b=0 et c=0 en solutions à l'exercice précité, comment celà?

Dites moi si ma démarche est fausse.

a = 1 ; b = 2; c = (a != b);

b étant différent de 0 il prend la valeur booléenne vrai donc 1. a != b veut donc dire que a prend la valeur booléenne 0, et par affectation c aussi.

a = !c ;

on affecte à a l'inverse booléen de c, soit 1. a = 1

b = (a && c);

Autrement dit, b = (1&&0) donc b = 0.

c = (a || b);

Ben moi je traduis ça par c = (1||0) qui est vrai donc c = 1 et pas 0!!!

Pouvez vous me dire où est mon erreur?

De plus il est demandé d'afficher les valeurs, or dans printf je n'ai pas de format pour afficher un booléen. J'ai essayé pour voir %d mais évidemment la console me met un warning:

format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char *’ [-Wformat=]
bonux
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 19
Inscription: 11 Déc 2017 10:09
 


Re: valeurs booléennes et C

Message le 15 Déc 2017 16:21

Code: Tout sélectionner
a = 1 ; b = 2; c = (a != b);
a = !c ; b = (a && c); c = (a || b);

Donne :
Code: Tout sélectionner
c = (a != b);

c == 1 (vrai) car a est différent de b (a != b est VRAI)
Code: Tout sélectionner
a = !c

a prend not c, donc not 1 (not true) => donc 0 (FALSE)
Code: Tout sélectionner
b = (a && c)

b prend la valeur a && c (a ET logique c) donne (0 ET 1) => donc b prend 0
Code: Tout sélectionner
c = (a || b)

Et au final c prend (a OU logique b), donc 0 OU 0 => c prend 0
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8963
Inscription: 13 Mai 2003 17:32
Localisation: Sisteron... et jamais loin d'une Debian
 

Re: valeurs booléennes et C

Message le 15 Déc 2017 18:09

Merci beaucoup! Je comprends mieux ... :)
bonux
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 19
Inscription: 11 Déc 2017 10:09
 



Sujets similaires

Message Valeurs CMOS par defaut ?
Bonjour,J'ai un petit problème avec un pc portable HP. Après l'avori démonté pour le nettoyer maintenant a chaque demarrage pendant le chargement du BIOS il me met :"Power RTC Failure tapez F6 pour continuer ou F5 pour remettre les valeurs CMOS par defaut"Faut-il que je tape F5 ? Cela ne c ...
Réponses: 1

Message Decathlon a des valeurs de fond.
Bonjour. Depuis quelques temps, la célèbre firme mondiale a permis une banalisation du sport en le rendant abordables à tous. Après avoir prêché pour ce but, la société se met au goût du jour en revendiquant à travers une publicité somme toute commerciale son aspiration sociétale. En effet, derri ...
Réponses: 1

Message SQL- deux valeurs identiques dans le même champs
Bonjour, Je suis désolé si cette question figure déjà sur le forum. Voila mon problème. Dans le cadre de mon BTS Informatique en alternance j'ai pour mission de faire les statistiques de l'Administratrice de base de données. Elle travail sous une base access. J'utilise pour cela le php et le SQ ...
Réponses: 3

Message Valeurs de voltage
Bonjour, Après quelques plantages sous battlefield 2, j'ai jeté un coup d'oeil sur mes valeurs de voltages sous everest. Les voici: Noyau CPU 1.10 V Aux 1.76 V +3.3 V ...
Réponses: 5

Message [réglé] éditeur du registre - regedit - valeurs bizarres
Bonsoir à toutes et à tous Je souhaitais faire du ménage dans la base de registre de XP et j'ai découvert un truc suspect dans: HKEY_LOCAL_MACHINE/SYSTEM/Controlset enfin normalement on trouve le dossier "controlset", j'en trouve deux controlset001 et controlset002, cela me parait étrange, alors p ...
Réponses: 6


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.