Comment utiliser le bon ordre pour les fonctions de maths de programmation C

Avant de vous fuyez la tyrannie de la Math inévitable, vous devez savoir à propos de l'ordre de priorité pour la programmation C. Il est pas un ordre religieux, et cela n'a rien à voir avec de deviner l'avenir. Il est à propos de faire en sorte que le calcul équations que vous code en C représentent ce que vous comptez.

Sommaire

Comment faire pour obtenir le bon ordre

Envisager l'énigme suivante. Pouvez-vous deviner la valeur de la variable répondre?

réponse = 5 + 4 * 3-

En tant qu'être humain, en lisant le puzzle de gauche à droite, vous seriez probablement répondre à 27: 5 + 4 est 9 fois 3 est de 27. Cela est exact. L'ordinateur, cependant, serait de répondre 17.

L'ordinateur n'a pas tort - il suppose simplement que la multiplication est plus important que l'addition. Par conséquent, cette partie de l'équation se calcule d'abord. Pour l'ordinateur, l'ordre réel des valeurs et des opérateurs est moins important que ce qui les opérateurs sont utilisés. Pour le dire autrement, la multiplication a priorité sur l'addition.

Vous pouvez rappeler l'ordre de priorité de base pour les opérateurs mathématiques de base comme ceci:

Premièrement: la Division Multiplication
Deuxièmement: Addition, soustraction



La mnémonique intelligent pour l'ordre de priorité de base est, “ ma chère tante Sally ”. Pour plus de détails sur l'ordre de priorité pour tous les opérateurs du langage C, voir l'annexe G.

Exercice 1: Écrire un programme qui évalue l'équation suivante, l'affichage du résultat:

20 - 5 * 2 + 42/6

Voyez si vous pouvez deviner la sortie avant que le programme fonctionne.

Exercice 2: Modifiez le code de l'exercice 1 de sorte que le programme évalue l'équation

12/3/2

Non, ce ne est pas une date. Il est 12 divisé par 3 divisé par 2.

Comment forcer l'ordre avec des parenthèses

L'ordre de préséance peut être trompé en utilisant des parenthèses. En ce qui concerne le langage C est concernée, rien ne se passe dans les parenthèses est évaluée en premier dans toute équation. Donc, même si vous oubliez l'ordre de préséance, vous pouvez le forcer en étreignant parties d'une équation avec des parenthèses.

Math en avant!

Exercice 3: Code de l'équation suivante afin que le résultat est égal à 14, et non pas 2:

12 - 5 * 2

Exercice 4: Code de la équation suivante (de l'exercice 1) de sorte que addition et la soustraction lieu avant multiplication et la division. Si vous le faites correctement, le résultat est de 110:

20 - 5 * 2 + 42/6
  • Dans l'avenir, le code que vous écrivez peut traiter davantage de variables que les valeurs immédiates, alors vous devez comprendre l'équation et ce qui est en cours d'évaluation. Par exemple, si vous avez besoin d'ajouter le nombre d'employés à temps plein et à temps partiel avant de vous divisez par la masse salariale totale, mettre les deux premières valeurs entre parenthèses.

  • Au-delà de l'ordre de préséance, entre parenthèses, ajouter un niveau de lisibilité du code, en particulier dans les longues équations. Même lorsque parenthèses ne sont pas nécessaires, envisager de les ajouter si le résultat est le code plus lisible.


» » » » Comment utiliser le bon ordre pour les fonctions de maths de programmation C