Just another WordPress.com site

Logical Operator ใน C++

Logical Operator คือ operator ที่ return ค่าเป็น true หรือ false เท่านั้น

ใน C++ เราสามารถแบ่ง logical operator ออกเป็น 2 กลุ่ม คือ

logical operator ภายในประโยค ได้แก่

1. == เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายกับขวาว่าเท่ากันหรือไม่

2. > เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายว่ามากกว่าด้านขวาหรือไม่

3. <  เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายว่าน้อยกว่าด้านขวาหรือไม่

4. != เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายกับขวาว่าไม่เท่ากันหรือไม่

5. >= เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายว่ามากกว่าหรือเท่ากับด้านขวาหรือไม่

6. <= เป็น operator ที่ตรวจสอบว่าค่าด้านซ้ายว่าน้อยกว่าหรือเท่ากับด้านขวาหรือไม่

operator เหล่านี้จะถ้าผลลัพธ์เป็น true จะ return ค่าเป็น 1 ถ้าผลลัพธ์เป็น false จะ return ค่าเป็น 0

ตัวอย่างเช่น

เมื่อนำมารันจะได้ผลลัพธ์เป็น

logical operator ที่เชื่อมภายนอกประโยค ได้แก่

1. && (AND operator) operator นี้จะให้ผลลัพธ์เป็น true เมื่อ ประโยคด้านซ้ายกับประโยคด้านขวาเป็น true ทั้งคู่ นอกนั้นจะให้ผลลัพธ์เป็น false

2. || (OR operator) operator นี้จะให้ผลลัพธ์เป็น true ทุกกรณี ยกเว้น กรณีประโยคด้านซ้ายกับประโยคด้านขวาเป็น false ทั้งคู่ นอกนั้นจะให้ผลลัพธ์เป็น false

3. ! (Negation operator) operator นี้ถ้าอยู่หน้าประโยคใดจะเปลี่ยนค่าความจริง จาก true เป็น false และเปลี่ยนจาก false เป็น true

ตัวอย่างเช่น

เมื่อนำมารันจะได้ผลลัพธ์ดังนี้

หมายเหตุ

1. ในกรณีที่มีประโยคเชื่อมด้วย && หลายๆประโยค C++ จะทำการตรวจสอบค่าความจริงจากซ้ายไปขวา ถ้าพบว่าว่าประโยคใดให้ค่าความจริงเป็น false มันจะ return ค่า false ทันที โดยไม่ตวจสอบค่าความจริงประโยคที่เหลือ เช่น สมมติว่าเราเขียนคำสั่ง p && q && r && s

สมมติว่าค่าความจริงของ p, q, r, s เป็น true, true ,false, false ตามลำดับ

C++ จะทำการตรวจสอบค่าถึง r เท่านั้น มันจะ return ค่าความจริงเป็น false ทันที  โดยจะไม่ทำการตรวจสอบค่าความจริงของ s

2. ในทำนองเดยวกัน ใน กรณีที่มีประโยคเชื่อมด้วย || หลายๆประโยค C++ จะทำการตรวจสอบค่าความจริงจากซ้ายไปขวา ถ้าพบว่าว่าประโยคใดให้ค่าความจริงเป็น true มันจะ return ค่า true ทันที โดยไม่ตวจสอบค่าความจริงประโยคที่เหลือ เช่น สมมติว่าเราเขียนคำสั่ง p || q || r || s

สมมติว่าค่าความจริงของ p, q, r, s เป็น false, true ,true, false ตามลำดับ

C++ จะทำการตรวจสอบค่าถึง q เท่านั้น มันจะ return ค่าความจริงเป็น true ทันที  โดยจะไม่ทำการตรวจสอบค่าความจริงของ r และ s

ความจริงตรงนี้มีประโยชน์ในการเขียนโปรแกรมมากๆ ครับ สำหรับตัวอย่างการใช้ประโยชน์ผมจะเขียนไว้ใน blog อื่นๆอีกทีนึงนะครับ…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: