演算子

プログラムの計算式は主にオペランドとそれらを関連付ける演算子で構成されています。オペランドとは、計算式の中にある演算の対象となる値や変数のことです。一方、演算子は演算内容を指示する数学記号です。たとえば、計算式 y = 2*x + 3では、y,2,x,3がオペランド、=, *, +が演算子です。

プログラムによる計算の最も基本となるものが算術演算です。次の表はC言語で使用できる主な算術演算子です。

記号 意味 例の意味
+ 加算 a + b a と b の和
- 減算 a - b a から b を引いた値
* 乗算 a * b a と b の積
/ 除算 a / b a を b で割った商(整数どうしの場合は切り捨て)
% 剰余算 a % b a を b で割った余り

代入演算子

次のプログラムは入力された複数の整数を加算するプログラムです。

#include<stdio.h>

int main(){
  int S, M, L, base = 1000;

  scanf("%d %d %d", &S, &M, &L);

  base += S;
  base += M + L;

  printf("%d\n", base);

  return 0;
}

+= 演算子は、「左辺の変数に右辺の計算式の結果を加える」という演算を行います。たとえば、 base += S; は変数 base に変数 S の値を加えるという演算となり、これは base = base + S; と同じ意味になります。 このような 演算代入 を一つの演算子にまとめた演算子を、 複合代入演算子 と呼びます。

代入演算子よりも算術演算子の方が優先的に評価されるので、 base += M + L; では、 baseM + L の評価値を加えた値が base に代入されます。

C言語では、 = 以外にも次の表に示す代入演算子を使用することができます。

記号 使用例 意味
= a = b aにbを代入する
+= a += b aにbを加えた値をaに代入する (a = a + b)
-= a -= b aからbを引いた値をaに代入する (a = a - b)
*= a *= b aにbを掛けた値をaに代入する (a = a * b)
/= a /= b aをbで割った値をaに代入する (a = a / b)
%= a %= b aをbで割った余りをaに代入する (a = a % b)


Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。