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éer des documents d'aide PDF facilement