代入・増分(減分)演算子

 C言語で四則演算を行う際、変数を使うことで、より簡単な書き方で計算を行うことが可能になります。

 以下のプログラムを書いて、実行してみて下さい。

#include <stdio.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    int result;
    
    result = 2;
    
    result = result + 2;
    printf("和は %d\n", result);
    
    result += 2;
    printf("和は %d\n", result);
    
    result -= 3;
    printf("差は %d\n", result);
    
    result *= 2;
    printf("積は %d\n", result);
    
    result /= 2;
    printf("商は %d\n", result);
    
    result %= 2;
    printf("余りは%d\n", result);
    
    return 0;
}

 このプログラムは、resultを連続的に計算しています。

result = 2;
result = result + 2;

 上記の命令は、result変数の中身に2を足す(その値をresultに入れ直す)ということを行っています。結果は4と表示されます。これと同じ命令を、

result += 2;

 このように書けます。4 + 2 = 6となります。こ「+=」の演算子を代入演算子と言います。「+=」は足し算の代入演算子ですが、

result -= 3;    //result = result - 3;
result *= 2;    //result = result * 2;
result /= 2;    //result = result / 2;
result %= 2;    //result = result % 2;

 上記のように引き算、かけ算、割り算、割り算の余りも代入演算子で書くことができます。

 また、仮にresult += 1というように、増減の数が1の場合は、

result++;  //result = result + 1;
result--;  //result = result - 1;

 このように書くことも出来ます。この「++」を増分演算子、「--」を減分演算子と呼びます。

#include <stdio.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    int a;
    int result;
    
    result = 2;
    
    result++;
    printf("%d\n", result);
    
    result--;
    printf("%d\n", result);
    
    ++result;
    printf("%d\n", result);
    
    --result;
    printf("%d\n", result);
    
    a = result++;
    printf("%d\n", a);
    
    a = ++result;
    printf("%d\n", a);
    
    a = result--;
    printf("%d\n", a);
    
    a = --result;
    printf("%d\n", a);
    
    return 0;
}

 上のプログラムを実行してみて下さい。変数名の前でも後でも1だけ増減されますが、

a = result++;  //aにresultの値を代入してからresultを1増やす
a = ++result;  //resultを1増やしてからaにresultの値を代入する
a = result--;  //aにresultの値を代入してからresultを1減らす
a = --result;  //resultを1減らしてからaにresultの値を代入する

 他の変数に計算結果を代入する際の挙動が変わります。代入演算子が変数の前か後かで、増減する前に代入するか、代入してから増減するか変わってきます。上記のプログラムを実行して、結果を確認してみて下さい。

■スポンサーリンク

このページの先頭へ