虽然已经学了一年多了,但是看到《程序员的数学》第二章后感想又有很多,就写个读后 小感吧!
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语句将将世界分为条件成立的世界和条件不成立的世界!!