セクション21論理式

1.論理演算の概念

論理演算は、複数の判断を組み合わせて複雑な条件を形成することです

x是非负数                !x<0
收入在20003500元之间    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

おすすめ

転載: blog.csdn.net/m0_51439429/article/details/114794579