Opérateurs d'Accumulation

Opérateurs d'Accumulation

Pour chacun des opérateurs de calcul, il existe un opérateur d'accumulation permettant d'alléger l'écriture en évitant les opérations de la forme maVariable = maVariable + 2.

Il existe également deux opérateurs spécifiques pour l'incrémentation (++) et la décrémentation (--) unitaire.

Opérateurs

Descriptions

Exemples
(i = 4)

+=

addition

i += 5;
/* i vaut 9 */

++

incrémentation unitaire

i++;
/* i vaut 5 */

-=

soustraction

i -= 3;
/* i vaut 1 */

--

décrémentation unitaire

i--;
/* i vaut 3 */

*=

multiplication

i *= 4;
/* i vaut 16 */

/=

division

i /= 2;
/* i vaut 2 */

%=

modulo

i %= 3;
/* i vaut 1
(car 4 = 3 * 1 + 1) */


Pour comprendre, ces opérateurs, un bon exemple bien commenté suffit je pense :

int main()
{
    int i = 0; // On déclare un entier valant 0

    i++; // On ajoute 1
    i *= 2; // On multiplie par 2
    i += 8; // On ajoute 8
    i /= 4; // On divise par 4
    i--; // On retire 1
    i -= 5; // On retire 5
    i += 14; // On ajoute 14
    i %= 3; // On conserve le reste de la division entière par 3

    printf("%d", i); // On affiche le résultat final

    return 0;
}


Je vous conseille fortement, d'essayer de calculer le résultat final, si vous avez réussi, vous avez tout compris une fois de plus.
En programmation, ça ne sert à rien de tricher, il faut pratiquer pour s'améliorer.
Bon, je vous affiche quand même le résultat pour vérifier votre réponse !

1

J'espère que vous avez réussi, c'est important de comprendre ce code source, si vous n'avez pas réussi, réessayez !
N'oubliez pas que 10 / 4 = 2 ! On travaille sur des entiers, les chiffres après la virgule sont ignorés donc 10 / 4 = 2.5 !

Comme pour les opérateurs de calcul, je vous ai concocté un exemple identique au précédent pour vous aider à mieux comprendre ces opérateurs d'accumulation :

int main()
{
    int i = 0;

    i = i + 1;
    i = i * 2;
    i = i + 8;
    i = i / 4;
    i = i - 1;
    i = i - 5;
    i = i + 14;
    i = i % 3;

    printf("%d", i);

    return 0;
}


En C, le symbole = est l'opérateur d'affectation, l'instruction i = i + 1; peut être traduite par i prend la valeur de i + 1.

Pour finir, je tiens à vous préciser que je n'ai pas appelé ma variable i par hasard, une variable dont sa valeur a tendance à varier à l'aide d'opérateurs d'accumulation est généralement appelée i.

Vous en avez fini avec les opérateurs d'accumulations, ils permettent juste d'alléger l'écriture mais sont à connaître obligatoirement, un bon programmeur est un programmeur fainéant !

Créé avec HelpNDoc Personal Edition: Créez sans effort des fichiers PDF cryptés et protégés par mot de passe