Expressions en C ++

Variables et constantes ne sont utiles que si vous pouvez les utiliser pour effectuer des calculs. Le terme expression

Sommaire

C est de jargon pour un calcul. Vous avez déjà vu la plus simple expression:

L'expression de int n = // declarationn 1-

Programmeurs combiner des variables, des constantes et des opérateurs à rendre les expressions. Un opérateur effectue une opération arithmétique sur ses arguments. La plupart des opérateurs prennent deux arguments - ceux-ci sont appelés opérateurs binaires. Quelques opérateurs prennent un seul argument - ce sont les opérateurs unaires.

Toutes les expressions renvoient une valeur et un type.

Les opérateurs binaires

UN opérateur binaire est un opérateur qui prend deux arguments. Si vous pouvez dire var1 var2 op, puis op doit être un opérateur binaire. Les opérateurs binaires les plus courants sont les mêmes opérations simples que vous avez appris à l'école primaire. Les opérateurs binaires communs apparaissent dans le tableau.

Opérateurs mathématiques par ordre de préséance
PrioritéOpérateurSignification
1- (unaire)Retourne le négatif de son argument
2++ (unaire)Incrément
2-- (unaire)Décrément
3* (Binaire)Multiplication
3/ (Binaire)Division
3% (Binaire)Modulo
4+ (binaire)Addition
4- (binaire)Soustraction
5=, * =,% =, + =, - = (Spéciale)Types d'affectation

Le binaire simple est l'opérateur d'affectation noté par le signe égal. L'opérateur d'affectation dit, “ Prendre la valeur sur la droite; côté et conserver à l'emplacement sur la gauche;. Côté de l'opérateur n ° 148;

Multiplication, division, addition, soustraction, et modulo sont les opérateurs utilisés pour effectuer des opérations arithmétiques. Ils fonctionnent exactement comme les opérateurs arithmétiques que vous avez appris à l'école de grammaire, avec les considérations spéciales suivantes:

  • Multiplication doit toujours être expresse et qu'elle est jamais laissé entendre qu'il est en algèbre. Prenons l'exemple suivant:

    int n = 2 // déclarer une variableint m = 2n // cela génère une erreur

    L'expression ci-dessus ne confie pas m la valeur de 2 fois n. Au lieu de cela, C ++ tente d'interpréter 2n comme nom de variable. Depuis noms de variables ne peuvent pas commencer par un chiffre, il génère une erreur lors de l'étape de construction.

    Qu'est-ce que le programmeur voulait dire:

    int n = 2 int m = 2 * n // ceci est OK



  • La division entière jette le reste. Ainsi, ce qui suit:

    int n = 13 / 7- // affecte la valeur 1 à n

    Quatorze divisé par 7 est 2. Treize divisé par sept est 1.

  • L'opérateur modulo renvoie le reste de la division (vous pourriez ne pas rappeler modulo):

    int n = 13% 7- // définit n à 6

    Quatorze modulo sept est zéro. Treize modulo sept est de six.

Éclaircir expressions composées

Une seule expression peut inclure plusieurs opérateurs:

int n = 5 + 100 + 32-

Lorsque tous les opérateurs sont les mêmes, C ++ évalue l'expression de gauche à droite:

5 + 100 + 32105 + 32137

Lorsque différents opérateurs sont combinés en une seule expression, C ++ utilise une propriété appelée priorité. Priorité est l'ordre que les opérateurs sont évalués dans une expression de composé. Prenons l'exemple suivant:

int n = 5 * 100 + 32-

Ce qui vient en premier, la multiplication ou l'addition? Ou est-ce tout simplement l'expression évaluée de gauche à droite? Reportez-vous à la table, qui vous indique que la multiplication a une priorité de 3, ce qui est plus élevé que la priorité de l'addition qui est 4 (les plus petites valeurs ont une priorité plus élevée). Ainsi la multiplication survient en premier:

5 * 100 + 32500 + 32532

L'ordre des opérations est rejetée par la priorité des opérateurs. Comme tu peux le voir

int n = 32 + 5 * 100-

génère le même résultat:

32 + 5 * 10 032 + 500 532

Mais que faire si vous voulez vraiment 5 fois la somme de 100 plus 32? Vous pouvez remplacer la priorité des opérateurs en enveloppant expressions que vous voulez d'abord exécuté entre parenthèses, comme suit:

int n = 5 * (100 + 32) -

Maintenant, l'addition est effectuée avant la multiplication:

5 * (100 + 32) 5 * 132660

Vous pouvez combiner entre parenthèses à rendre les expressions aussi compliqué que vous le souhaitez. C ++ commence toujours avec les parenthèses profond-imbriqués qu'il peut trouver et fait son chemin.

(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 1575

Vous pouvez toujours diviser les expressions compliqués utilisant des variables intermédiaires. Ce qui suit est plus sûr:

facteur de int = 3 + 2 int principale = (100/20) + (50/5) totale -int = facteur * principal-

Attribution d'un nom à des valeurs intermédiaires permet également le programmeur d'expliquer les parties d'une équation complexe - qui rend plus facile pour la prochaine programmeur de comprendre.