スポンサーリンク

論理演算子で込み入った条件を指定する

C言語

C言語 論理演算子

前回演算子【 a<=10 】aが10以下なら 【 b<=5 】bが5以下なら 【 c==100 】cが100なら、、これま「実行する条件分」でと言う条件を勉強致しました。

今回のポイントは
【 a<=10 】かつ【 b<=10 】aが10以下かつbが10以下なら、、
【 c>=10 】かつ【 c<=20 】cが10以上かつ100以下なら、、
【 d==1 】または【 c==1 】dが1又はcが1の場合、、

演算子 条件例 説明

&& if(a==1 && b==2) 論理積 (かつ) aが1且つbが2の場合

|| if(a==1 || b==2) 論理和 (または) aが1又はbが2の場合

! if(!(a==1 && b==2)) 否定 (ではない) aが1且つbが2、ではない場合

論理積

【 1 && 2 】

1だけもしくは2では×

1と2が交わる○

論理和

【 1 || 2 】

1のみ、または2のみでも○

1と2が交わる○

否定

【 !(1 && 2) 】

1と2が交わる部分のみ×

それ以外は○

【 !(1 || 2) 】

1または2は×

1と2以外○

倫理演算子サンプルソース うるう年の判定

うるう年は『4で割り切れる西暦』かつ『100で割り切れない西暦』または『400で割り切れる西暦』が該当します。

#include <stdio.h>

main()

{

int nen;

printf(“年?”);

scanf(“%d”,&nen);

if( (nen%4 == 0 && n%100 != 0) || n%400 == 0){

printf(“うるう年です\n”);

}

else{

printf(“うるう年ではありません”)

}

}

上記の解説

【 if 】条件文を使い【 nen 】の余りが0で無いかを指定(剰余『%』を使います詳細はこちら)、【 nen 】を4で割った余りが0の場合さらに100で割った余りが0になら無いかを先に判定、それ以外に(又は)の条件 【 nen 】を400でも余り0にならないかを判定します。

この条件に該当する場合は『うるう年です』を実行します。該当しない場合は【 else 】を実行し『うるう年ではありません』を出力します。

ソースコードの実行結果

コメント

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