四則演算子 ( +、-、*、/、% )
|
| | コード | 結果
|
---|
加算演算子 | + | printf("%d", 1+1); | 2
減算演算子 | - | printf("%d", 1-1); | 0
乗算演算子 | * | printf("%d", 2*2); | 4
除算演算子 | / | printf("%d", 4/2); | 2
剰余演算子 | % | printf("%d", 3%2); | 1
|
---|
|
---|
|
---|
|
---|
|
---|
|
代入演算子 ( =、+=、-=、*=、/=、%= )
|
C言語における =(イコール) は、数学に於けるそれとは全く別物である。
Cでは、右辺の値を左辺に代入する という意味である。
四則演算子と組み合わせると、左辺と右辺で演算し、その結果を左辺に代入する。
| | コード | 結果
|
---|
単純代入演算子 | = | int a=0; printf("%d", a=1); | 1
加算代入演算子 | += | int a=0; printf("%d", a+=1); | 1
減算代入演算子 | -= | int a=0; printf("%d", a-=1); | -1
乗算代入演算子 | *= | int a=2; printf("%d", a*=2); | 4
除算代入演算子 | /= | int a=4; printf("%d", a/=2); | 2
剰余代入演算子 | %= | int a=3; printf("%d", a%=2); | 1
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
増減演算子 ( 増分演算子(++)、減分演算子(--) )
|
値なら、1 増減し、ポインタなら 1 前後する。
インクリメント、デクリメント というのが一般的である。
次の例では、数値の前に増減演算子を付ける事で、出力前に演算されるので、演算後の値が出力される。
コード | 結果
|
---|
int i=0; printf("%d\n",++i); | 1
int i=0; printf("%d\n",--i); | -1
| |
ところが次の例では、数値の後に増減演算子を付ける事で、出力後に演算されるので、演算前の値が出力される。
コード | 結果
|
---|
int i=0; printf("%d\n",i++); | 0
int i=0; printf("%d\n",i--); | 0
| |
|
sizeof (sizeof(...))
括弧内の型、オブジェクトのサイズを、バイト単位で返す。
次の例では、int型のサイズと、int型の変数 i のサイズを出力する。
コード | 結果
|
---|
int i;
printf("%d\n%d\n", sizeof(int), sizeof(i));
|
4
4
|
条件演算子 ( ? : )
|
if (…){…}else{…} と似たような機能である。
上記の構文で、式が真であれば分岐1、偽であれば分岐2 が演算結果となる。
次の例では、char型の変数 c の値は 'a' だが、'b' ではないので '?' と出力する。
コード | 結果
|
---|
char c = 'a';
printf("%c\n", (c=='b')?'b':'?');
|
?
|
|
© GPU (Game Programming Unit)