C初級:数値の比較を行う(比較演算子)

C言語初級カテゴリのロゴ画像 C言語初級
スポンサーリンク

C言語で数値の比較を行うには、以下の6種類の演算子を使います。

記述 種類 意味 使い方 解説
== 等価演算子 一致 a == 10 aが10である
!= 等価演算子 不一致 a != 10 aが10ではない
>= 関係演算子 以上 a >= 10 aが10以上である
(aが10と同じか10より大きい)
> 関係演算子 越える a > 10 aが10を越える
(aが10より大きい)
<= 関係演算子 以下 a <= 10 aが10以下である
(aが10と同じか10より小さい)
< 関係演算子 未満 a < 10 aが10未満である
(aが10より小さい)

試しに上記6つの比較演算子(等価演算子と関係演算子)を使ってプログラムを作ってみます。

/*
	hikaku_all.c 6つの比較演算子を全て使ってみる
*/
#include <stdio.h>
int main(void)
{
	int n;
	
	printf("0から9のうちのどれかの数字を入力してね: ");
	scanf("%d", &n);
	
	if(n < 0){
		printf("小さすぎるよ!\n");
	}
	else if(n > 9){
		printf("大きすぎるよ!\n");
	}
	else if(n != 4){
		printf("いい数字だね!\n");
	}
	
	if(n == 0){
		printf("一番小さい数にしたね。\n");
	}
	
	if(n >= 0){
		if(n <= 9){
			printf("OK %d だね!\n", n);
		}
	}
		
	return 0;
}

解説
キーボードから数値を入力させます。
入力した数値によってメッセージを変えています。
最初のif文のブロックから見ていきます。

if(n < 0){
	printf("小さすぎるよ!\n");
}
else if(n > 9){
	printf("大きすぎるよ!\n");
}
else if(n != 4){
	printf("いい数字だね!\n");
}

n < 0 で、最初に0未満かどうかを判定しています。 そうでない場合は、n > 9 で9より大きいかどうかを判定します。
更にそうでない場合、n != 4 で4以外の数値であるかを判定します。

入力した値によるメッセージの例を表にするとこんな感じです。

入力した値 表示結果
-1 小さすぎるよ!
10 大きすぎるよ!
4を除く1~9 いい数字だね!

次のif文ブロックです。

if(n == 0){
	printf("一番小さい数にしたね。\n");
}

n == 0 で0と一致する場合を判定しています。0なら「一番小さい数にしたね。」と表示します。
0以外の場合は、何もメッセージを表示しません。

最後のif文です。
if文の中にif文が存在します。
この場合は、外側のif文から判定します。
n >= 0 なので、0以上の場合、内側のif文を実行します。
内側のif文の条件は、n <= 9 ですので、9以下の場合という意味になります。 したがって、2つを合わせてnが0以上で9以下の場合という意味になります。

if(n >= 0){
	if(n <= 9){
		printf("OK %d だね!\n", n);
	}
}

このようにAかつBであるというものを表す場合、「&&」記号を使って、以下のようにも記述可能です。

if( (n >= 0) && (n <= 9) ){
	printf("OK %d だね!\n", n);
}

コメント

  1. […] 実は否定の記述は等価演算子の「!=」で使われています。 「!」の部分です。 これはC言語では否定を表します。 どういう事かと言うと、反対の意味になるということです。 […]

  2. […] if文で数値の比較を行う方法は、10.数値の比較を行う(比較演算子)で述べました。 […]

タイトルとURLをコピーしました