1.論理演算の概念
論理演算は、複数の判断を組み合わせて複雑な条件を形成することです
x是非负数 !x<0
收入在2000到3500元之间 s>=2000 && s<3500
温度低于-15度或高于35度 t<=-15||t>=35
y年是闰年 (y%4==0 && y%100!=0)||y%400==0
2.論理データについて
1.論理値は値1を使用して真を表し、値0を使用して偽を表します
。2。数値データを使用して算術演算を実行できます。3。
値を論理値として使用する場合、ゼロ以外は「」と見なされます。 true」および0は「false」と見なされます。
3.論理演算子とルール
優先順位:論理ではなく「!」>論理および「&&」論理または「||」
下面的运算如何进行?
a>b && x>y <=> (a>b) && (x>y)
a==b || x==y <=> (a==b)||(x==y)
!a || a>b <=> (!a)||(a>b)
a = !b + c > 0 <=> a=(((!b)+c)>0)
4.論理演算アプリケーション
1.うるう年を判断するための条件:①4で割り切れますが、100で割り切れません。②400で割り切れる。
(year%4==0 && year%100!=0) || year%400==0
2.うるう年以外の条件を特定します。「!」を追加します。
!((year%4==0&&year%100!= 0)||year%400==0)
3.区分的関数2 <= x <= 6のxの値の範囲は、x> = 2 && x <= 6としてコード形式に変換されます。
V.拡張:論理短絡問題
A && B:Aがfalseの場合、式の値はfalseである必要があり、Bは評価されません。
#include <stdio.h>
main()
{
int a = 5, b = 6, c = 7, d = 8, m = 2, n = 2;
(m = a > b) && (n = c > d);
printf("%d\t%d", m, n);
}
运行结果:
0 2
A || B:Aが真の場合、式の値は真でなければならず、Bは評価されません。
#include <stdio.h>
main()
{
int a = 5, b = 6, c = 7, d = 8, m = 2, n = 2;
(m = a < b) || (n = c > d);
printf("%d %d", m, n);
}
运行结果:
1 2