- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/演算子の高度な使い方 へ行く。
- 1 (2015-12-17 (木) 08:24:02)
- 2 (2015-12-17 (木) 11:13:22)
- 3 (2015-12-17 (木) 12:21:30)
- 4 (2015-12-18 (金) 03:46:30)
- 5 (2015-12-21 (月) 09:07:10)
これまでの勉強で、演算子は必要に応じて少しずつ出てきました。
ここでは、演算子について、改めてきちんと説明します。
オペランド †
演算の対象となる値や変数をオペランドといいます。
オペランドが1つの演算子を単項演算子、2つのものを2項演算子、3つのものを3項演算子といいます。
増分・減分演算子の前置と後置 †
単項演算子である増分演算子 ++ は、オペランドの値を1増やします。 同じく単項演算子である減分演算子 -- は、オペランドの値を1減らします。
増分・減分演算子は、演算子をオペランドの前に置くこと(前置)も、オペランドの後に置くこと(後置)もできますが、実は、振る舞いが異なります。
前置のとき、増分・減分演算子を含む式や命令文は、増分・減分演算子が適用されてから評価されます。
後置のとき、増分・減分演算子を含む式や命令文は、増分・減分演算子が適用される前に評価され、それから増分・減分演算子が適用されます。
次のプログラムは、増分演算子を前置と後置で使用しています(プログラム1)。
int i = 0; printf("%d\n", ++i); printf("%d\n", i++); printf("%d\n", i);
最初のprintf関数は、前置の増分演算子なので、先に増分演算子が適用され、その後にprintf関数が実行されます。 次のprintf関数は、後置の増分演算子なので、先にprintf関数が実行され、その後に増分演算子が実行されます。
したがって、このプログラムを実行すると、次のようになります。
luna% a.out 1 1 2