アットウィキロゴ

「関係・論理演算子」のページです



関係・論理演算子は論理演算をさらに深くするための記号です





関係演算子


関係演算子は、二つの値を比較するために使います
if文に出てきた「==」も関係演算子です


サンプルコード
#include <stdio.h>
 
int main()
{
	int a = 1;
 
	if(a > 0)
		printf("aは0以上です\n");
 
	return 0;
}
 


実行結果



もう分かった人もいるかもしれませんが「if(a > 0)」の「 > 」は「大なり」、つまり左の値が右の値より大きい時に「真」になる演算子です

例1 大なり
 
if(A > B)
       AがBより大きいと、「A > B」は0以外()になり実行する
else
       AがBより小さいと、「A > B」は0()になり実行する
 

大なりがあれば、小なり(A < B)もあります

例2 小なり
 
if(A < B)
    AがBより小さいと、「A < B」は0以外()になり実行する
else
       AがBより大きいと、「A < B」は0()になり実行する
 




また、「if文」で出てきた「==」(等号)にも、反対の演算子があります

サンプルコード2
#include <stdio.h>
 
int main()
{
	int a = 1;
 
	if(a != 0)
		printf("aは0ではありません\n");
 
	return 0;
}
 

実行結果



「!=」は左の値と右の値が等しくないときに「真」になります

例3 
 
if(A != B)
       AとBが等しくないときに0以外()になり実行する
else
       AとBが等しいときに0()になり実行する
 



関係演算子の表です

関係演算子 真になる条件
A == B AとBが等しい
A != B AとBが等しくない
A > B AがBより大きい
A < B AがBより小さい
A >= B AがB以上
A <= B AがB以下




論理演算子


論理演算子は、論理演算を行うために使います

サンプルコード
#include <stdio.h>
 
int main()
{
	int a = 3;
 
	if(a > 1 && a < 5)
		printf("aは1より大きく5より小さいです\n");
 
	return 0;
}
 

実行結果


「&&」はAND、つまり右の値と左の値が両方とも真(0以外)の時に真になります

例1
 
if( A && B )
        AとBが両方とも真の時に実行
else
        AかBどちらかでも真では無い場合に実行
 

サンプルコードの様に、例1のAとBの所に式を入れるという使い方もあります

この場合は、Aの式とBの式が両方とも真の時に実行される事になります






サンプルコード2
#include <stdio.h>
 
int main()
{
	int a = 2;
 
	if(a < 3 || a > 5)
		printf("aは3より下か5より上です\n");
 
	return 0;
}
 


「a」が2のとき



「a」が4のとき


「||」はOR、つまり右の値と左の値のどちらかでも真(0以外)の時に真になります

例2
 
if( A || B )
         AとBのどちらが真、もしくは両方が真の時に実行
else
     AとBが両方とも偽の時に実行されます
 


論理演算子の表です
論理演算子 名前 書き方の例 例に対する効果
 &&   論理積・AND   A && B  AとBが両方とも真(0以外)の時に真になる
 ||   論理和・OR   A || B  AとBがどちらかでも真(0以外)の時に真になる
 !   否定・NOT   !A  Aが偽(0)の時に真になる

※「例に対する効果」で、条件に当てはまっていないもの、つまり真にならないものは全て偽です

タグ:

+ タグ編集
  • タグ:
最終更新:2011年09月29日 23:45