C言語覚書 (演算子)

2013/03/21


◆ 算術演算子

種類 記号 BASIC風表記
加算 + a = 10 + 20 (a=30) a = 10 + 20
減算 - a = 20 - 10 (a=10) a = 20 - 10
乗算 * a = 10 * 20 (a=200) a = 10 * 20
除算 / a = 20 / 10 (a=2) a = 20 / 10
余り % a = 10 % 4 (a=2) a = 10 MOD 4

べき乗については演算子がなく、関数 pow で計算する。(算術関数参照)


◆ 論理演算子

種類 記号 BASIC風表記
論理和 || a == 1 || b == 1 a = 1 OR b = 1
論理積 && a == 1 && b == 1 a = 1 AND b = 1
否定 ! !a NOT a

◆ 比較演算子・関係演算子

種類 記号 BASIC風表記
大なり > a > b a > b
以上 >= a >= b a >= b
小なり < a < b a < b
以下 <= a <= b a <= b
等しい == a == b a = b
等しくない != a != b a <> b

◆ 条件演算子

種類 記号 BASIC風表記
条件演算子 ? : x = (a == 1) ? b : c IF a=1 THEN x=b ELSE x=c

◆ インクリメント・デクリメント演算子

種類 記号 BASIC風表記
インクリメント ++ a++ または ++a a = a + 1
デクリメント -- a-- または --a a = a - 1

◆ ビット演算子

種類 記号 BASIC風表記
論理積 & 1100 & 1010 → 1000 1100 AND 1010
論理和 | 1100 | 1010 → 1110 1100 OR 1010
排他的論理和 ^ 1100 ^ 1010 → 0110 1100 XOR 1010
1の補数 ~ ~1010 → 0101 NOT 1010
左シフト << 10100011 << 2 → 10001100  
右シフト >> 10100011 >> 2 → 00101000  

シフト演算子では新たに付け加えられるビットは、正の値なら0、負の値なら1となる。


◆ 代入演算子

種類 記号 BASIC風表記
  = a = b a = b
  += a += b a = a + b
  -= a -= b a = a - b
  *= a *= b a = a * b
  /= a /= b a = a / b
  %= a %= b a = a MOD b
  &= a &= b a = a AND b
  |= a |= b a = a OR b
  ^= a ^= b a = a XOR b
  <<= a <<= b a = a << b
  >>= a >>= b a = a >> b

◆ sizeof

変数型のサイズを戻す sizeof(b);