三值逻辑小解

虽然已经学了一年多了,但是看到《程序员的数学》第二章后感想又有很多,就写个读后 小感吧!

1.带条件的逻辑与(&&)

逻辑与(&&)定义  :  (表格形式)

三值逻辑小解


可以看出:

1).  A 为 true 时 , B 的值就为 A && B 的值。

2).  A 为 false 时,不用看 B ,A && B 的值为 false 。

3).  A 为 undefined 时,计算机不进行任何处理,因此不用 看 A 和 B ,A && B 的值 为 undefined。

代码解释:

代码块1

if(A && B)
{
    ……
}

代码块 2

if(A)
{
    if(B)
    {
        
    }
}

代码块1 和 代码块2 是等价的,都可看做是逻辑与的程序表达,

同时 代码块 2 也可加深 对     带条件的逻辑与   的理解。。

————————————————————

C++代码测试:

A 为 true 时:


    bool A,B;
    A = true;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 时:

    bool A,B;
    A = false;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 No

A 为undefined 时,有点小问题,暂且先不上代码 。


2. 带条件的逻辑或 (||)

逻辑或(||)定义  :  (表格形式)


三值逻辑小解


可以看出:

1).  A 为 true 时 , A|| B 的值必定为 true。

2).  A 为 false 时,A || B 的值为 B 的值。

3).  A 为 undefined 时,计算机不进行任何处理,因此不用 看 A 和 B ,A && B 的值 为 undefined。

代码解释:

代码块1

if(A || B)
{
    ……
}

代码块 2

if(A)
{
}
else
{
    if(B)
    {
    }
}

同逻辑与一样, 这两个代码块也是相同的。。

————————————————————————

C++代码测试:

A 为 true 时

    bool A,B;
    A = true;
    //B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 且B 为 true

    bool A,B;
    A = false;
    B = true;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 且 B 为 false 时

    bool A,B;
    A = false;
    B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 No

————————————————

3. 三值逻辑中的否定 (!)


表格定义:
三值逻辑小解


不包含 undefined 时,!A = A的逻辑非运算,
A为 undefined 时,B也为undefined。
否定较为简单,就不再写代码了。。


————————————————————————

最后加一句《程序员的数学》第二章结束语吧。。

if语句将将世界分为条件成立的世界和条件不成立的世界!!

你可能感兴趣的:(逻辑)