| 演算子 | 意味 | 例 | 答え |
| + | 加算 | 1 + 2 | 3 |
| - | 減算 | 2 - 1 | 1 |
| * | 乗算 | 2 * 3 | 6 |
| / | 除算 | 2 / 1 3 / 2 3.0 / 2.0 |
2 1 整数同士の割り算は整数 1.5 |
| % | 剰余 | 2 % 1 3 % 2 |
0 1 |
| 演算子 | 意味 | 例 | 答え |
| + | 符号はそのまま | +1 +(-1) |
1 -1 |
| - | 符号を反転 | -1 -(-1) |
-1 1 |
| 演算子 | 意味 | 例 |
| < | より小さい | X < Y |
| > | より大きい | X > Y |
| <= | 以下 | X <= Y |
| >= | 以上 | X >= Y |
| == | 等しい | X == Y |
| != | 等しくない | X != Y |
| 演算子 | 意味 | 例 | 答え |
| && | 論理積(AND) | true && true true && false false && false |
true false false |
| || | 論理和(OR) | true || true true || false false || false |
true true false |
| ! | 論理否定(NOT) | !true !false |
false true |
| 演算子 | 意味 | 例 | 答え |
| ++ | オペランドに1加算される | int a = 0; cout << ++a; cout << ++a; cout << a; int b = 0; cout << b++; cout << b++; cout << b; |
1 2 2 0 1 2 |
| -- | オペランドから1減算される | int a = 0; cout << --a; cout << --a; cout << a; int b = 0; cout << b--; cout << b--; cout << b; |
-1 -2 -2 0 -1 -2 |
| 演算子 | 意味 | 例 | 答え |
| & | 論理積 | 12 & 10 | 8 |
| | | 論理和 | 12 | 10 | 14 |
| ^ | 排他的論理和 | 12 ^ 10 | 6 |
| << | 左シフト | 15 << 1 | 30 |
| >> | 右シフト | 15 >> 1 | 7 |
| 演算子 | 意味 | 例 | 答え |
| = | 代入 | int a = 1; | 1 |
| += | 加算代入 | int a = 1; a += 2; |
3 |
| -= | 減算代入 | int a = 2; a -= 1; |
1 |
| *= | 乗算代入 | int a = 2; a *= 3; |
6 |
| /= | 除算代入 | int a = 6; a /= 3; |
2 |
| %= | 剰余代入 | int a = 3; a %= 2; |
1 |
| &= | AND代入 | bool b = true; b &= false; |
False |
| |= | OR代入 | bool b = true; b |= false; |
true |
| ^= | 排他的OR代入 | bool b = true; b ^= false; |
True |
| <<= | 左シフト代入 | int a = 15; a <<= 1; |
30 |
| >>= | 右シフト代入 | int a = 15; a >>= 1; |
7 |
| 演算子 | 意味 | 例 | 答え |
| ?: | 三項条件 | true ? 1 : 2 false ? 1 : 2 |
1 2 |
| 演算子 | 意味 | 例 |
| , | カンマ演算子 | int a = 1; int b = 2; ↓ int a = 1,b =2; |
| 演算子 | 意味 | 例 | 答え |
| sizeof | sizeof演算子 | sizeof(int); sizeof(double); int a; sizeof a; sizeof(a); |
4 8 4 4 |
| 演算子 | 意味 | 例 |
| * | ポインタ演算子 |
//ポインタの宣言 int *pa; //アドレスの代入 int a = 1; pa = &a; //値の代入 *pa = 2; |
| & | アドレス演算子 |
| 種類 | 宣言 | 値 | アドレス |
| 変数 | int a; | a | &a |
| ポインタ | int *pa; | *pa | pa |
| 演算子 | 意味 | 例 |
| . | メンバへ直接アクセス | struct book{ int id; }; book bk; bk.id = 1; |
| -> | メンバへポインタを介しアクセス | struct book{ int id; }; book *pbk; pbk->id = 1; |
| 演算子 | 意味 | 例 |
| new | メモリ領域の動的確保 | int *pn; pn = new int; delete pn; |
| delete | メモリ領域の解放 |