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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    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 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Pai,

    C'est dû à la priorité des opérateurs, renseigne-toi là-dessus.

  3. #3
    Membre Expert
    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
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    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 Expert
    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
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    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 Expert
    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
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

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

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