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

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

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

記述種類意味使い方解説
==等価演算子一致a == 10aが10である
!=等価演算子不一致a != 10aが10ではない
>=関係演算子以上a >= 10aが10以上である
(aが10と同じか10より大きい)
>関係演算子越えるa > 10aが10を越える
(aが10より大きい)
<=関係演算子以下a <= 10aが10以下である
(aが10と同じか10より小さい)
<関係演算子未満a < 10aが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);
}
スポンサーリンク
C言語初級
スポンサーリンク
dennouをフォローする
電脳産物

コメント

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

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