[Powered by Google Translate] Precendence est la façon dont nous répondre à la question, quelle opération doit-on faire en premier? Que la résolution des équations mathématiques ou de lignes d'analyse de code informatique, il ya des règles strictes de priorité à laquelle nous adhérons de sorte que tous les ordinateurs et les gens peuvent obtenir le même résultat. Tout d'abord, la règle la plus importante à retenir, surtout dans les tests de bug, est que nous travaillons toujours dans les parenthèses les plus intérieures vers l'extérieur. L'utilisation de parenthèses supplémentaires peut être une tactique mise au point utile, mais ce n'est pas une bonne pratique pour la litière de votre code avec des parenthèses inutiles. Prenez le temps d'apprendre les règles de priorité des opérateurs de base. La deuxième règle générale est que lorsque les opérateurs ont priorty égale, il vous suffit de résoudre de gauche à droite. Lorsque vous traitez avec mathématique simple de commencer avec des parenthèses, puis effectuez la multiplication et la division, et enfin faire une addition et la soustraction. Multiplication et la division ont la même priorité, car ils sont essentiellement exécute la même opération. Après toute division est simplement en multipliant par l'inverse d'une valeur. De même, la soustraction est simplement l'ajout d'une valeur négative. Faisons un exemple. En suivant l'ordre de préséance, nous allons commencer avec les parenthèses. Neuf moins 1. Cela nous donnera 8. Ensuite, nous pouvons passer à la division et la multiplication. Nous allons résoudre de gauche à droite. Donc, 10 divisé par 2 est de 5. Nous avons 5 fois 8 ici, et qui nous donnera 40. Puis, on passe à la prochaine commande de priorité. Donc nous nous retrouvons avec 3 plus 40 moins 1. Encore une fois tout résoudre gauche à droite, parce qu'il ya une priorité égale entre l'addition et la soustraction. Nous pouvons dire 3 + 40 est de 43, moins 1 est de 42. C'est notre réponse. Il ya 2 types d'opérateurs décrémentation et incrémentation; La forme de préfixe et suffixe la forme. La forme de suffixe, i + +, est couramment utilisé dans les boucles for, ce qui signifie que la valeur de courant est utilisé dans l'expression, puis il est incrémenté. Ainsi, la valeur ne sera différente la prochaine fois que la variable est utilisée. D'autre part, l'incrément ou le décrément préfixe signifie que la valeur courante est incrémentée ou décrémentée, et ensuite il est utilisé dans l'expression. Prenons un exemple avec le nombre entier x. Nous allons mettre cela égal à 5. Si nous utilisons l'opérateur suffixe et dire x + +, x sur cette ligne est toujours 5. Si nous étions à l'imprimer nous obtiendrions la valeur 5. Mais aller de l'avant fait x1 est égal à 6. Donc, ici, sur cette ligne x est égal à 6, et si nous l'imprimé nous obtiendrions la valeur 6. Maintenant, si nous avons utilisé l'opérateur de préfixe, + + x, x est incrémenté en premier, puis la valeur est utilisée. Il est donc égal à 7 sur cette ligne. L'augmentation du cours de 6 à 7, et si nous étions à l'imprimer nous obtiendrions la valeur 7. La dernière nuance dans precendence que nous allons examiner porte sur la notation pointeur. L'opérateur de déréférencement, étoile, a la priorité sur les opérateurs mathématiques de base, mais pas sur le incement suffixe et opérateurs décrémentation. Ce qui nous amène à notre dernier exemple. Prenons l'entier x et mettez-le égal à 7. Nous allons également faire un pointeur et il y égale à l'adresse de x. De sorte que lorsque nous y déréférencer nous devrions obtenir la valeur 7. Or, dans cette ligne de code, nous avons une situation quelque peu ambiguë. Est-ce qu'on y déréférencement d'abord, puis incrémentation de la valeur 7? Ou sommes-nous incrémenter le pointeur, puis déréférencement? En fait, parce que l'opérateur d'incrémentation suffixe a préséance sur l'opérateur de déréférencement, nous essayons d'incrémenter le pointeur y, qui déplacer le pointeur de la taille des octets int. Essentiellement nous donnant une adresse dans un moment tout à fait différente dans la mémoire, puis nous le déréférencement. Donc, c'est très ligne vide de sens. Si l'on voulait vraiment augmenter la valeur de 7, nous devons mettre l'opérateur de déréférencement avec y entre parenthèses. Ensuite, nous pourrions l'incrémenter. Ainsi, alors que nous ne serions pas en incrémentant la valeur x de la deuxième à la dernière ligne de code, dans la dernière ligne de code que nous y aurait en fait déréférencer Pour obtenir la valeur x et que incrémenter. Nous serions laissé à la valeur x est égal à 8. Voici un bref résumé des règles precendence que nous avons parlé. Nous allons commencer par les parenthèses les plus intérieures et travailler vers l'extérieur. Puis, on passe aux opérateurs de suffixe comme i + + ou i -. Puis déréférence et l'adresse des opérateurs comme étoile x ou x esperluette, et les opérateurs de préfixe comme i + + ou - i. Enfin nous faisons les opérations mathématiques simples comme la multiplication, la division, modulo. Puis addition, la soustraction. C'est precendence. Je suis Jordan Jozwiak, et c'est CS50. Nous allons déréférencement et à utiliser l'adresse et - comment faites-vous une expression qui? Je suis fait. D'accord.