C言語,if文で比較演算子を使用しない場合の真と偽

スポンサーリンク

鍛錬 938

C言語,if文で比較演算子を使用しない場合の真と偽

if文で「==」「!=」「<」「>」などの比較演算子(関係演算子)を使用しない場合の、真と偽について確認しています。

論理演算子の否定(!)を使用した「if(!条件式)」についても確認しています。

if文について

以下は、if文についてです。

 
if (条件式) {
	条件式が真の場合実行される
}
else {
	条件式が偽の場合実行される
}
 

比較演算子を使用する場合

以下の例では条件式の「num == 123」が真であるため、「処理(A)」が実行されます。

 
int num;

num = 123;

if (num == 123) {
	処理(A)
}
else {
	処理(B)
}
 

比較演算子を使用しない場合

以下の例では変数 num に格納されている値が「真 (0 以外)」であるため、「処理(A)」が実行されます。

 
int num;

num = 123;

if (num) {
	処理(A)
}
else {
	処理(B)
}
 

 
以下の例では変数 num に格納されている値が「偽 (0)」であるため、「処理(B)」が実行されます。

 
int num;

num = 0;

if (num) {
	処理(A)
}
else {
	処理(B)
}
 

比較演算子を使用しない場合(論理演算子の否定(!)を使用する場合)

以下の例では変数 num に格納されている値が「真 (0 以外)」となっていますが、論理演算子の否定(!)により「偽」となるため、「処理(B)」が実行されます。

 
int num;

num = 123;

if (!num) {
	処理(A)
}
else {
	処理(B)
}
 

 
以下の例では、変数 num に格納されている値が「偽 (0)」となっていますが、論理演算子の否定(!)により「真」となるため、「処理(A)」が実行されます。

 
int num;

num = 0;

if (!num) {
	処理(A)
}
else {
	処理(B)
}
 
スポンサーリンク

プログラムと実行結果

以下は、if文で比較演算子を使用しない場合について確認しています。

if(123) の場合

// include
#include <stdio.h>

// main
int main(void)
{
	int num;
	
	num = 123;
	if (num) {
		printf("%d は真\n", num);
	}
	else {
		printf("%d は偽\n", num);
	}
	
	return 0;
}
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_if.c -o test_if
***@ubuntu:~/***/test/c$ ./test_if
123 は真

if(0) の場合

// include
#include <stdio.h>

// main
int main(void)
{
	int num;
	
	num = 0;
	if (num) {
		printf("%d は真\n", num);
	}
	else {
		printf("%d は偽\n", num);
	}
	
	return 0;
}
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_if.c -o test_if
***@ubuntu:~/***/test/c$ ./test_if
0 は偽

if(!123) の場合

// include
#include <stdio.h>

// main
int main(void)
{
	int num;
	
	num = 123;
	if (!num) {
		printf("%d は真\n", num);
	}
	else {
		printf("%d は偽\n", num);
	}
	
	return 0;
}
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_if.c -o test_if
***@ubuntu:~/***/test/c$ ./test_if
123 は偽

if(!0) の場合

// include
#include <stdio.h>

// main
int main(void)
{
	int num;
	
	num = 0;
	if (!num) {
		printf("%d は真\n", num);
	}
	else {
		printf("%d は偽\n", num);
	}
	
	return 0;
}
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_if.c -o test_if
***@ubuntu:~/***/test/c$ ./test_if
0 は真
タイトルとURLをコピーしました