演算子

演算子とは、四則演算や条件判定のための記号のことです。既に登場しましたが、代入するために書いたイコール(=)も演算子です。

演算子はたくさんあるのですが、ここでは最初に覚えておきたいものだけに絞って解説します。

代入演算子

演算子説明
=右辺を左辺に代入します。

代入演算子は”=”の1つのみで、a = b; と書いた場合は、bの値がaに代入されます。

実際に書いて動かしてみましょう。

#include <stdio.h>

int data1 = 100;
int data2 = 200;

int main(void)
{
	data1 = data2;
	printf("data1 = %d\n", data1);

	return 0;
}

実行結果:

data1 = 200

変数”data1″の初期値は100ですが、data2の代入によってdata1の値が200になっているのがわかると思います。

算術演算子

四則演算、除算の余りを求める演算子を算術演算子と呼びます。

演算子説明
+加算します。(足し算のことです)
減算します。(引き算のことです)
*乗算します。(掛け算のことです)
/除算します。(割り算のことです)
%剰余を求めます。(割り算の余りのことです)
++インクリメントします。(変数が整数型の場合は1を足します)
デクリメントします。(変数が整数型の場合は1を引きます)

実際に書いて動かしてみましょう。

#include <stdio.h>

int data1 = 5;
int data2 = 2;

int main(void)
{
	int ans;

	printf("data1 = %d, data2 = %d\n", data1, data2);

	ans = data1 + data2;
	printf("data1 + data2 = %d\n", ans);

	ans = data1 - data2;
	printf("data1 - data2 = %d\n", ans);

	ans = data1 * data2;
	printf("data1 * data2 = %d\n", ans);

	ans = data1 / data2;
	printf("data1 / data2 = %d\n", ans);

	ans = data1 % data2;
	printf("data1 %% data2 = %d\n", ans);

	ans++;
	printf("ans = %d\n", ans);

	ans--;
	printf("ans = %d\n", ans);

	return 0;
}

実行結果:

data1 = 5, data2 = 2
data1 + data2 = 7
data1 – data2 = 3
data1 * data2 = 10
data1 / data2 = 2
data1 % data2 = 1
ans = 2
ans = 1

比較演算子

算術演算の場合は算術結果が求められますが、比較演算の場合は真(1)か偽(0)が求められます。

演算子説明
==等しい。
!=等しくない。
<より小さい。小なり。
>より大きい。大なり。
<=以下。
>=以上。

実際に書いて動かしてみましょう。

#include <stdio.h>

int data1 = 5;
int data2 = 2;

int main(void)
{
	int ans;
	
	printf("data1 = %d, data2 = %d\n", data1, data2);

	ans = data1 == data2;
	printf("ans = %d\n", ans);

	ans = data1 != data2;
	printf("ans = %d\n", ans);

	return 0;
}

実行結果:

data1 = 5, data2 = 2
ans = 0
ans = 1

論理演算子

論理演算は、真(1)偽(0)を入力に演算する演算子です。通常は、比較演算と組み合わせて記述します。

演算子説明
!論理否定。(NOT回路)
&&論理積。(AND回路)
||論理和。(OR回路)

論理否定はNOT回路と同じです。真(1)なら偽(0)、偽(0)なら真(1)になります。

論理積はAND回路と同じです。右辺と左辺の両方が真(1)の場合のみ、真(1)になります。

論理和はOR回路と同じです。右辺と左辺のどちらかが真(1)の場合に、真(1)になります。

実際に書いて動かしてみましょう。

#include <stdio.h>

int data1 = 1;
int data2 = 0;

int main(void)
{
	int ans;

	printf("data1 = %d, data2 = %d\n", data1, data2);

	ans = !(data1 == 1);
	printf("ans = %d\n", ans);

	ans = (data1 == 1) && (data2 == 1);
	printf("ans = %d\n", ans);

	ans = (data1 == 1) || (data2 == 1);
	printf("ans = %d\n", ans);

	return 0;
}

実行結果:

data1 = 1, data2 = 0
ans = 0
ans = 0
ans = 1

<<前へ(変数)

>>次へ(制御文)