雜~~瓦魯多~~筆記
若是需要兩個以上的條件判斷,那就少不了 邏輯運算 這個東東啦!
高二上數學(還是高一下?我忘ㄌ)的集合論那章,會大量用到這個觀念,那章很煩但是很好玩:)
如果已經懂基本觀念了,建議直接跳到 一些「騷操作」 這段開始看。
這裡是很有趣ㄉ地方,也是我寫這篇的目的,雖然好像實用性不大。
閱讀本篇時,請自動把所有的 true
都帶入「條件成立」。
程式裡面的 true
就是代表「條件成立」, false
則是「條件不成立」。
若 A 為 true
且 B 為 true
,則 A and B 為 true
。
(兩者都為 true
)
兩個條件做 且 運算的結果如下:
true | false | |
---|---|---|
true | true | false |
false | false | false |
若 A 為 true
或 B 為 true
,則 A and B 為 true
。
(其中一個為 true
)
兩個條件做 或 運算的結果如下:
true | false | |
---|---|---|
true | true | true |
false | true | false |
C++ 中的條件判斷,也時常用到 且 與 或。
且 有兩種寫法,直接寫作 and
或是 &&
:
或 也一樣,可直接寫作 or
或是 ||
:
理論上在做 and
與 or
時,兩個條件都要判斷嘛……不,這可不一定喔?
and
and
運算時, A and B
成立的條件是 A
跟 B
都為 true
。
換句話說,只要 A
與 B
其中一個不是 true
,那 A and B
就一定不會是 true
。
C++ 在接收到 A and B
這條判斷式時,它會先判斷 A
是 true
還是 false
。
-> 如果 A
是 false
, A and B
就絕對不會是 true
。
那後面的 B 就會被跳過不執行,A and B
直接得到結果為 false
。
-> 如果 A
是 true
,那後面的 B
就會照常執行。
or
在 or
的情況, A or B
成立的條件是 A
或 B
至少其中一個為 true
。
換句話說,只要 A
與 B
其中一個是 true
,那 A and B
就一定是 true
。
C++ 在接收到 A or B
這條判斷式時,它會先判斷 A
是否為 true
還是 false
。
-> 如果 A
是 true
, A or B
就一定是 true
。
那後面的 B 就會被直接跳過不執行,A or B
直接得到結果為 true
。
-> 如果 A
是 false
,那後面的 B
就會照常執行。
簡單來說, A and B
與 A or B
進行判斷時,會適當地跳過 B
的判斷,以此減少工作量。
那麼,可以利用這個小特性做什麼呢?
這東西超有趣,建議各位看個324遍,印出來放床邊:)
這裡就留給各位自行慢慢享受了:
輸入如下:
輸出如下:
也可以試試輸入 0 以外的數字觀察看看喔。
前面提過,and
與 or
會適當地跳過後面的條件「不執行」。
所以如果在後面的位置放一個 cout
,那它也會遵循這套規則,被第一個條件影響是否執行。
嘛,說真的這篇又是一篇冷知識向的筆記了。
所以看不懂也沒關係,不了解 and
與 or
的細部機制也不會影響一般日常使用。
不過 and 與 or 的基礎運用還是要盡量練習到熟悉,畢竟邏輯運算在條件判斷可說是不可或缺的。
所以你各位要多練題啊拜託ㄌ!!!!!(跪地哭