PR

【C・C++】演算子とは?【比較演算子・論理演算子】

アイキャッチ C++
この記事は約5分で読めます。

演算子に関しての記事です。
計算で使う演算子のほかに、比較演算子・論理演算子についても解説しています。

のんびり丸

WEBアプリの開発等をしています。
日々の学習の備忘録として運営していこうと思います。

のんびり丸をフォローする

計算で使う演算子

プログラミングで計算をする際に用いる【+】や【-】などのことを演算子と言います。
プログラミングをするうえでは、必須の知識なのでマスターしましょう。

演算子役割使い方
++【足す】a = b + c
--【引く】a = b - c
*×【掛ける】a = b * c
/÷【割る】a = b / c
%・・・【余り】a = b % c

余りは整数型のみ使用可能です。

コーディング例①

#include <stdio.h> // printf()を使用するために必要

int main()
{
	printf("3+3は%dです。\n", 3 + 3);
	printf("3-3は%dです。\n", 3 - 3);
	printf("3×3は%dです。\n", 3 * 3);
	printf("3÷3は%dです。\n", 3 / 3);
	printf("3÷2の余りは%dです。\n", 3 % 2);

	return 0;
}
出力
3+3は6です。
3-3は0です。
3×3は9です。
3÷3は1です。
3÷2の余りは1です。

代入演算子

【=】や【+=】のことを代入演算子と言います。
【+=】などを利用すると、コードの記述量を削減することが出来ます。

演算子使い方同様の意味
=a = b-
+=a += ba = a + b
-=a -= ba = a - b
*=a *= ba = a * b
/=a /= ba = a / b
%=a %= ba = a % b

コーディング例①

#include <stdio.h> // printf()を使用するために必要

int main()
{
	int a = 10, b = 40;
	a = a + 10;
	b += 10;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;
}
出力
20
50

インクリメント・デクリメント演算子

【++】をインクリメント演算子【--】をデクリメント演算子と言います。

演算子使い方同様の意味
++【インクリメント】a++ or ++a変数の値を1増やす
--【デクリメント】a-- or --a変数の値を1減らす

コーディング例①

#include <stdio.h> // printf()を使用するために必要

int main()
{
	int a = 10;
	printf("%d\n", a);
	a++;
	printf("%d\n", a);
	a--;
	printf("%d\n", a);

	return 0;
}
出力
10
11
10

前置と後置

++a【--a】を前置a++【a--】を後置と言います。
これらの書き方によって演算を行うタイミングが異なってきます。

前置は、変数の参照より先に演算が行われます。
後置は、変数の参照より後に演算が行われます。

コーディング例②

#include <stdio.h> // printf()を使用するために必要

int main()
{
	int a = 5, b = 5;
	printf("%d\n", ++a);
	printf("%d\n", b++);

	return 0;
}
出力
6
5

比較演算子

値を比較する際に使う演算子を比較演算子と言います。
条件式を作る際には、その結果により真・偽を判定し、処理の分岐を行います。

演算子役割使い方
== =【等しい】a == b
<<【小なり】a < b
>>【大なり】a > b
<=≦【以下】a <= b
>=≧【以上】a >= b
!=≠【等しくない】a != b

真偽の値は、以下のように設定されます。

  • true:1
  • false:0

コーディング例①

#include <stdio.h> // printf()を使用するために必要

int main()
{
	int a = 5, b = 10;
	printf("a = %d b = %d\n", a, b);
	printf("a == b ⇒ %d\n", a == b);
	printf("a < b ⇒ %d\n", a < b);
	printf("a <= b ⇒ %d\n", a <= b);
	printf("a > b ⇒ %d\n", a > b);
	printf("a >= b ⇒ %d\n", a >= b);
	printf("a != b ⇒ %d\n", a != b);

	return 0;
}
出力
a = 5 b = 10
a == b ⇒ 0
a < b ⇒ 1
a <= b ⇒ 1
a > b ⇒ 0
a >= b ⇒ 0
a != b ⇒ 1

論理演算子

【0 <= a <= 10】のような少し複雑な条件を作りたい場合は、論理演算子を使います。

演算子役割使い方
&&かつ(a >= 10) && (a < 20)
||または(a == 10) || (a == 20)
!~ではない!(a == 10)

条件付き代入

条件によって代入する値を変更したい場合は、以下のように記述します。

x = (条件) ? a : b;

a:条件が真の場合に代入
b:条件が偽の場合に代入

コーディング例①

#include <stdio.h> // printf()を使用するために必要

int main()
{
	int a = 10, b = 20;
	int c;
	c = (0 <= a && a <= 10) ? 1 : 0;
	printf("%d\n", c);
	c = (0 <= b && b <= 10) ? 1 : 0;
	printf("%d\n", c);

	return 0;
}
出力
1
0

演算子の優先順位

演算子には優先順位があります。
全ての優先順位を覚えるのは大変なので、基本的には以下のルールを覚えておけば良いかと思います。

  • 基本的に、左から右へと計算する
  • 四則計算の順番に従う
  • ()でくくられた箇所を優先して計算する
タイトルとURLをコピーしました