雖然已經學了一年多了,但是看到《程序員的數學》第二章後感想又有很多,就寫個讀後 小感吧!
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。
否定較爲簡單,就不再寫代碼了。。
最後加一句《程序員的數學》第二章結束語吧。。