授業/C言語基礎/演算子の高度な使い方 のバックアップ差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
これまでの勉強で、演算子は必要に応じて少しずつ出てきました。

ここでは、演算子について、改めてきちんと説明します。


*オペランド [#m77529e0]

演算の対象となる値や変数を''オペランド''といいます。

オペランドが1つの演算子を''単項演算子''、2つのものを''2項演算子''、3つのものを''3項演算子''といいます。


*増分・減分演算子の前置と後置 [#a54f1eaf]

単項演算子である増分演算子 ''++'' は、オペランドの値を1増やします。
同じく単項演算子である減分演算子 ''--'' は、オペランドの値を1減らします。

増分・減分演算子は、演算子をオペランドの前に置くこと(前置)も、オペランドの後に置くこと(後置)もできますが、実は、振る舞いが異なります。

''前置''のとき、増分・減分演算子を含む式や命令文は、増分・減分演算子が適用されてから評価されます。

''後置''のとき、増分・減分演算子を含む式や命令文は、増分・減分演算子が適用される前に評価され、それから増分・減分演算子が適用されます。

次のプログラムは、増分演算子を前置と後置で使用しています(プログラム1)。
#geshi(c){{
  int i = 0;

  printf("%d\n", ++i);
  printf("%d\n", i++);
  printf("%d\n", i);
}}
最初のprintf関数は、前置の増分演算子なので、先に増分演算子が適用され、その後にprintf関数が実行されます。
次のprintf関数は、後置の増分演算子なので、先にprintf関数が実行され、その後に増分演算子が実行されます。

したがって、このプログラムを実行すると、次のようになります。
#geshi(sh){{
luna% a.out
1
1
2
}}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS