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 】を実行し『うるう年ではありません』を出力します。
ソースコードの実行結果
コメント