Incrément et décrément en C ++




l'incrément en C ++, décrément en c ++, incrémentation et décrémentation avec ++, c ++la article précédent nous sommes considérés comme des opérateurs binaires, qui est utilisé pour des opérations arithmétiques sur les deux opérandes (les variables). Dans cette leçon, nous allons apprendre comment appliquer les opérateurs unaires, qui nécessitent une opérande. ils sont appelés incrément ( ++ ) et décroissance (). Le rôle de ces opérateurs, aux changements (augmenter ou diminuer, respectivement,) la valeur d'une variable par une, et la valeur sera écrasée. Prenons l'exemple, ce qui changera la valeur d'une variable variable Unité de trois différentes façons:

Après chaque opération dans les lignes 11, 13 et 15. à la variable variable augmenté d'une. Comme vous pouvez le voir, l'enregistrement le plus court – un enregistrement avec l'incrément. dessous, sur les lignes 17 – 19, Nous avons appliqué trois fois décrémenter et finalement obtenir la valeur variable réduite à 3.

Kompiliruem:

incrémentation et décrémentation

Les deux opérateur unaire peut avoir deux formes: postfix ( où l'opérateur se trouve juste derrière la variable) et préfixe (l'opérateur se trouve en face de la variable). Dans cet exemple, nous avons utilisé postfix incrémentation et décrémentation. Quelle est la différence entre ces deux formes de l'autre? Les première et deuxième formes de ces opérateurs effectuent le même rôle – augmenter ou diminuer d'une variable d'un. Mais si une ligne de code, où l'augmentation ou la diminution est appliquée, présenter les nouvelles commandes, que ces opérateurs de différentes manières se comportent. Postfix sera utilisé après les autres équipes. Regardons l'exemple suivant,:

À la suite de lignes de code 12, nous allons voir à l'écran le nombre de 0. Cela arrive parce que, que l'augmentation de l'unité fonctionnera après que la valeur de retrait de la variable variable l'écran. Pour vous assurer que, que la valeur a vraiment changé – en ligne 13 s'il vous plaît nous montrer variable. Mais dans le cas de la forme de préfixe d'incrément (rangée 16), Variable écrasée directement et déjà alors seulement afficher. Décrémenter tous les mêmes, mais avec une unité de réduction.

Kompiliruem:

incrémentation et décrémentation

Voici un coup d'oeil à cet exemple plus:

résultat:
incrémentation et décrémentation

Essayez de comprendre, la raison pour laquelle à la suite d'une série d'opérations 11, variable une Il est devenu égal 10. Poser des questions dans les commentaires pas interdit :)

Bulletin de nouvelles leçons sur la programmation:

Incrément et décrément en C ++
4.6 (92%) 10 votes

38 réflexions sur "Incrément et décrément en C ++

  1. S'il vous plaît aidez-moi dans le problème:
    x = y = 0;
    tandis que ( et < 10 ) x + = ++ et;
    printf (" x= %d y = %d\n", X, et);

    La réponse est x = 55 y = 10
    Je ne comprends pas comment obtenir x 55. tête droite cassé(((

    1. x = 0 + 1 = 1
      x = 1 + 2 = 3
      x = 3 + 3 = 6
      x = 6 + 4 = 10
      x = 10 + 5 = 15
      x = 15 + 6 = 21
      x = 21 + 7 = 28
      x = 28 + 8 = 36
      x = 36 + 9 = 45
      x = 45 + 10 = 55

      Pervaya cifra eto zna4enie x un Vtoraya cifra eto zna4enie y, vote et les résultats, ++y srazu uveli4ivaet zna4enie y na 1

  2. x = 0 + 1 = 1
    x = 1 + 2 = 3
    x = 3 + 3 = 6
    x = 6 + 4 = 10
    x = 10 + 5 = 15
    x = 15 + 6 = 21
    x = 21 + 7 = 28
    x = 28 + 8 = 36
    x = 36 + 9 = 45
    x = 45 + 10 = 55

    Pervaya cifra eto zna4enie x un Vtoraya cifra eto zna4enie y, vote et les résultats, ++y srazu uveli4ivaet zna4enie y na 1

  3. à propos, et pourquoi le nombre de tours 10 , en ligne 11 ?? Je l'utilise comme moyen codeblock. Au début, j'ai écrit le code lui-même, a obtenu un 9. Ensuite, je copie votre spécial et … de nouveau 9. Je comprends, que dans le processus de calcul,lorsqu'il est traité par un second incrément, il est en outre multipliée par le 2, et alors seulement est ajouté à la partie gauche de l'équipe. peut expliquer, pourquoi tant ? Ou la façon dont il devrait être ? Alors pourquoi avez-vous 10? Oui et voobshte, algorithme est logique de manière quelque peu…

  4. Такая последовательность вычислений?
    a = ++ variables + 1 + ++variable * 2
    a = (2 + 1 + 2) * 2

    1. a=++variable + 1 + ++variable*2;
      a=(2+1+3)*2; \\ я все правильно понимаю?

      Тогда получается 12))

  5. Мне не понятно! Если считать правильно, то должно получиться 7, depuis – 2+1+2*2 = 7.
    mais 10 получиться, если компилятор воспринял значения (2+1+2) как в скобках, а почему он так воспринял не понятно и как писать, что бы не воспринимал так!?
    А вот больше всего мне не понятнопочему в онлайн компиляторе вообще получается 9!? – я даже не понял как он так посчитал! Может кто-то объяснит?

  6. si, сейчас понял, что второй инкремент тоже увеличиваетсяно тогда в онлайн компилляторе правильно – 9, но почему 10 – вот не понятно!?

Leave a Reply to huile Annuler la réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *