IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Les opérateurs logiques en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2005
    Messages : 120
    Par défaut Les opérateurs logiques en C
    salut tout le monde ,
    je suis entrain d'entrainer a faire des exercices sur langage C
    et la je tombe sur un exercice sur les opérateurs logique quelqu'un peut me corriges ??
    exercice 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h>
     
    int main()
    {
    int n=1;
    n = (n>>2)|1;
        return 0;
    }
    le resultat a afficher est : Rien ou on peut dire 0 ?


    exercice 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h>
     
    int main()
    {
    int n=8;
    n = (n>>2)|1;
        return 0;
    }
    le resultat a afficher est : Rien ou on peut dire 0 ?

    exercice 3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h>
     
    int main()
    {
    int n=9;
    n = (n>>2)|1;
        return 0;
    }
    le resultat a afficher est : Rien ou peut dire 0

    et merci .

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 484
    Par défaut
    Bonjour,

    Effectivement, dans les trois cas, ton programme n'affichera rien du tout à l'écran. Et effectivement, il renverra le code 0 en sortant, signifiant par convention une absence d'erreur. Ton programme renverra zéro parce qu'on lui dit de le faire avec « return 0 », et en ignorant la valeur de n.

    Maintenant, ce n'est probablement pas ce que l'on cherche à te faire déterminer en réalité. Il faut que tu arrives à trouver la valeur de n juste avant le return dans chacun des trois cas.
    Indice : dans aucun le résultat ne sera nul.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par NapsterVB Voir le message
    et la je tombe sur un exercice sur les opérateurs logique...
    le resultat a afficher est : Rien ou on peut dire 0 ?
    Bonjour

    Déjà plusieurs choses à dire

    Tout d'abord il faut impérativement que tu apprennes à différencier "affichage" (opération qui consiste à écrire quelque chose à l'écran) et "valeur retournée" (opération qui consiste à renvoyer une valeur vers une instance de plus haut niveau). Si t'étais par exemple sous Unix/Linux, la valeur retournée serait enregistrée dans la variable "$?" du shell qui a servi à exécuter ce programme.
    Dans chacun de tes trois exemples, il n'y a aucune instruction d'affichage de quoi que ce soit à l'écran. Ainsi donc, si tu compiles et exécutes chacun des trois, il n'y aura rien du tout à l'écran (ni 0 ni autre chose).

    Ensuite, il faut aussi que tu comprennes que "0" ce n'est pas rien. En mathématique, le nombre "0" sert à mettre une borne entre le monde des négatifs et celui des positifs. Et le fait que la valeur "0" serve à indiquer "aucun" (bien qu'ayant mis des millénaires à être admise) reste, dans le monde des mathématiques, accessoire. En informatique c'est pareil. La valeur "0" reste une valeur qui a une existence, une signification et ne peut en aucun cas être assimilé à "rien". A la limite on peut dire qu'elle sert à indiquer parfois "rien d'autre" mais pas plus et il s'agit uniquement d'une convention admise par tous les programmeurs (convention qui pourrait donc être changée s'il le fallait). Si tu commences à confondre "rien" et "0" tu iras tôt ou tard au crash.

    Donc comme l'a dit Obsidian, ton programme n'affiche rien. Maintenant si ton exercice consiste à trouver la valeur de "n" après être passée au travers de ces opérateurs (qui devraient d'ailleurs plus être vus comme des opérateurs arithmétiques que de logique) alors c'est autre chose. Il te suffit d'étudier le fonctionnement des deux opérateurs mis en cause et faire le calcul à la main.

    PS: le nom commun "gents" qui est écrit dans ta signature ne prend pas de "t" => les gens (sauf si tu veux parler de l'adjectif "gent" mais j'en doute). Et si tu veux parler de la réalité que l'on possède, alors il faut utiliser le pronom possessif "sa" et non le démonstratif "ça" => sa réalité...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2005
    Messages : 120
    Par défaut
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/11/2007, 18h01
  2. Réponses: 1
    Dernier message: 21/01/2006, 18h00
  3. [VBA] Condition - opérateurs logiques
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/10/2005, 10h22
  4. question sur les opérateurs
    Par isidore dans le forum C++
    Réponses: 10
    Dernier message: 25/02/2005, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo