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 :

valeur et variable


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut valeur et variable
    bonjour je suis un débutant de chez débutant en programmation et j'ai choisi le c comme premier langage,pourquoi peut etre pour devloppez des dev osx plus tard ;j'ai acheté un livre "le livre du c premier langage"dedans il ya un exercice qui pose des variable en leur assiociant des valeurs :
    En supposant que les variables n,pet q sont de type int et quelles contiennent respectivement les valeurs 8,13et29,quelles sont les valeurs des expressions suivantes:
    n+ p / q
    n+ q / p
    (n+q) / p
    n+ p % q
    n+ q % p
    (n+ q) %p
    n + p / n + p
    (n+ p) / (n+ p)

    voici les reponses:
    8+ 13/29 = 8
    8+ 29/13= 10
    (8+29) / 13 = 37/13 =2
    8 + 13%29 = 8 + 13= 21
    8 + 29%13 = 8 + 3= 11
    (8+ 29 ) % 13 =37%13 = 11
    8+13/ 8 +13 = 8+ 1 + 13 = 22
    (8+ 13) / (8+ 13 ) = 21/21 = 1

    donc voila je ne comprend pas les deux premiers resultats pour 8+13 font =21 et 21/29= ? pas 8 pour moi lol quelquun pourrait il m'expliqué l'exercice ; c'est vrai je n'es pas été trés loin en cours mais j'ai envie de m'accrocher.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Pai,

    C'est dû à la priorité des opérateurs, renseigne-toi là-dessus.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Citation Envoyé par solair Voir le message
    bonjour je suis un débutant de chez débutant en programmation et j'ai choisi le c comme premier langage,pourquoi peut etre pour devloppez des dev osx plus tard ;j'ai acheté un livre "le livre du c premier langage"dedans il ya un exercice qui pose des variable en leur assiociant des valeurs :
    En supposant que les variables n,pet q sont de type int et quelles contiennent respectivement les valeurs 8,13et29,quelles sont les valeurs des expressions suivantes:
    n+ p / q
    n+ q / p
    (n+q) / p
    n+ p % q
    n+ q % p
    (n+ q) %p
    n + p / n + p
    (n+ p) / (n+ p)

    voici les reponses:
    8+ 13/29 = 8
    8+ 29/13= 10
    (8+29) / 13 = 37/13 =2
    8 + 13%29 = 8 + 13= 21
    8 + 29%13 = 8 + 3= 11
    (8+ 29 ) % 13 =37%13 = 11
    8+13/ 8 +13 = 8+ 1 + 13 = 22
    (8+ 13) / (8+ 13 ) = 21/21 = 1

    donc voila je ne comprend pas les deux premiers resultats pour 8+13 font =21 et 21/29= ? pas 8 pour moi lol quelquun pourrait il m'expliqué l'exercice ; c'est vrai je n'es pas été trés loin en cours mais j'ai envie de m'accrocher.
    Salut

    En maths, comme en C, dans un calcul tel que 8 + 13 / 29, la division (ainsi que la multiplication) est prioritaire sur l'addition (et la soustraction). Ce calcul est donc équivalent à 8 + (13 / 29) et non à (8 + 13) / 29.
    Pareil pour le second calcul de ton exemple.
    Et même chose ici : n + p / n + p. C'est équivalent à : n + (p / n) + p. Les parenthèses sont bien sûr inutiles dans ce calcul-là, c'est juste pour bien montrer la priorité. Par contre, si elles étaient placées ailleurs, le résultat serait différent. Par exemple : (n + p) / n + p , n + p / (n + p) et n + p / n + p ne donneront pas le même résultat.
    Par ordre de priorité :
    _ Les parenthèses
    _ La multiplication et la division
    _ L'addition et la soustraction

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    tu veut dire que 13/29 est égal a 0,44... donc ont prend 0 comme valeur entier ou int...peut etre ont lui ajoute 8 qui donnera 8 comme résultat ah j'ai compris donc il faut lire "instruction" en comencant par 13/29 ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Citation Envoyé par solair Voir le message
    tu veut dire que 13/29 est égal a 0,44... donc ont prend 0 comme valeur entier ou int...peut etre ont lui ajoute 8 qui donnera 8 comme résultat ah j'ai compris donc il faut lire "instruction" en comencant par 13/29 ?
    Le calcul est découpé en plusieurs étapes.

    Dans n + p / q :
    1) on divise d'abord p par q (comme on le ferait en maths) car la division a la priorité. Comme on divise deux entiers, le résultat sera entier ; donc 13 / 29 aura pour résultat 0.
    2) Ensuite on ajoute ce 0 à n, ce qui donne le résultat 8.

    Autre exemple. Dans n + p / (n + p) :
    1) On ajoute d'abord n et p, car les parenthèses ont la priorité la plus grande. Le résultat est de type entier, vu qu'on a affaire à des variables de type entier.
    2) Ensuite, on divise p par ce résultat, vu que la division a une priorité supérieure à l'addition. Là encore, on réduit à la valeur entière.
    3) Ensuite, on ajoute ce résultat à n.

    Si tu as bien compris, dis-moi comment se découpera ce calcul mathématiquement parlant (on oublie les types pour le moment):
    a / (b + c * (d - e) * f + g / h ) + i

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    bin je pense:
    (b+c)*(f+1)*(d-e)*(g/h)/a
    mathématiquement
    ou
    (g/h)*(b+c)*(f+1)*(d-e)/a
    en suivant les priorités

    euh
    et l'operateur avec % ,que veut til dire division?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Citation Envoyé par solair Voir le message
    bin je pense:
    (b+c)*(f+1)*(d-e)*(g/h)/a
    mathématiquement
    ou
    (g/h)*(b+c)*(f+1)*(d-e)/a
    en suivant les priorités


    Le mieux, c'est de lire un cours : http://fr.wikipedia.org/wiki/Ordre_des_op%C3%A9rations

    Il faut absolument maitriser le domaine des priorités, déjà sur le plan mathématique. Une fois que tu as bien compris, tu comprendras comment cela fonctionne en C (d'autant qu'en C, il existe d'autres opérateurs que ceux arithmétiques) car c'est basé sur le même principe.

    euh
    et l'operateur avec % ,que veut til dire division?
    Opérateur modulo. Il calcule le reste d'une division euclidienne.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci Jeroman pour tes explications je sais que c'est les bases du langage donc je vais étudier ca de pret.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Citation Envoyé par solair Voir le message
    merci Jeroman pour tes explications je sais que c'est les bases du langage donc je vais étudier ca de pret.
    En fait, sur ce point-là, c'est surtout les bases des maths.

Discussions similaires

  1. [Debutant][Système]Récupérer la valeur des variables systeme
    Par cameleon2002 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/02/2007, 09h57
  2. Passer la valeur dune variable javascript à une variable xsl
    Par nramariavelo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/12/2005, 17h27
  3. Réponses: 13
    Dernier message: 21/09/2005, 15h39
  4. récupérer la valeur d’une variable de type radio
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/08/2005, 09h43
  5. Réponses: 6
    Dernier message: 26/04/2005, 12h09

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