ตัวดำเนินการ

ตัวดำเนินการ (Operator)
การกำหนดตัวดำเนินการในภาษาซีนั้นมีหลายประเภทด้วยกัน ซึ่งแต่ละประเภทจะทำหน้าที่แตกต่างกันออกไป
ดังต่อไปนี้
1.ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)
2. ตัวดำเนินการเปรียบเทียบ (Comparative Operator)
3. ตัวดำเนินการทางตรรกะ (Logical Operator)
4. ตัวดำเนินการกำหนดค่า (Assignment Operator)
ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)
          ตัวดำเนินการทางคณิตศาสตร์ใช้เป็นตัวเชื่อมในการเขียนโปรแกรม เพื่อหาผลลัพธ์จากการคำนวนซึ่งสามารถกระทำกับข้อมูลได้หลายรูปแบบ
ตาราง แสดงตัวดำเนินการทางคณิตศาสตร์

ตัวดำเนินการ
ความหมาย
ตัวอย่าง
+
บวก (Addition)
A + b
-
ลบ (Subtraction)
A – b
*
คูณ (Multiplication)
A * b
/
หาร (Division)
A / b
%
หารเอาผลลัพธ์เฉพาะเศษ (Modulus)
A % b
++
เพิ่มค่าขึ้น 1 ค่า (Increment)
A++
- -
ลดค่าลง 1 ค่า (Decrement)
a- -

ผลการทำงานของโปรแกรม
 โอเปอเรเตอร์ increment และ decrement เป็นโอเปอเรเตอร์ที่ทำให้ค่าของตัวแปรเพิ่มขึ้นหนึ่งค่าตามลำดับ เช่น

++ x; ให้ผลลัพธ์เหมือนกับ x = x + 1;
--x; ให้ผลลัพธ์เหมือนกับ x = x – 1;
และ

++ x; สามารถเขียนได้อีกแบบหนึ่งเป็น x++;
--x; สามารถเขียนได้อีกแบบหนึ่งเป็น x--;
           
อย่างไรก็ตาม ++ x ให้ผลลัพธ์ที่ได้ไม่เหมือนกับ x++ ดังนั้น การใช้โอเปอเรเตอร์ increment หรือ ++ และโอเปอเรเตอร์ decrement หรือ -- รวมกับโอเปอเรเตอร์อื่นๆ ต้องระมัดระวังเรื่องการวางตำแหน่งของโอเปอเรเตอร์ด้วย

ผลการทำงานของโปรแกรม
          จากตัวอย่างถ้าผู้ศึกษาสังเกตผลการใช้โอเปอเรเตอร์แบบ a++ และ ++a จะได้ผลที่แตกต่างกัน เหมือนกับการใช้ b - - และ - - b ที่ให้ผลแตกต่างกัน

ตัวดำเนินการเปรียบเทียบ (Comparative Operator)
         ตัวดำเนินการเปรียบเทียบ คือ เครื่องหมายที่ใช้ในการเปรียบเทียบหรือตรวจสอบในทางคณิตศาสตร์ ซึ่งผลลัพธ์ที่จะได้จะมี 2 กรณีคือ ถ้าถูกต้องหรือเป็นจริงจะมีค่าเป็น 1 ถ้าผิดหรือเป็นเท็จจะมีค่าเป็น 0 ผลลัพธ์ของการเปรียบเทียบ มีชื่อเรียกอีกอย่างหนึ่งว่า ค่าคงที่บูลีน (Boolean Constant) ดังนี้

8 > 4 ผลลัพธ์เป็นจริง ค่าคงที่บุลีนเป็น 1
6 < = 2 ผลลัพธ์เป็นเท็จ ค่าคงที่บูลีนเป็น 0
-2 > -6 ผลลัพธ์เป็นจริง ค่าคงที่บูลีนเป็น 1
A > a ผลลัพธ์เป็นจริง ค่าคงที่บูลีนเป็น 1 (เปรียบเทียบค่าตามรหัสแอสกี)

ตาราง แสดงตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการ
ความหมาย
ตัวอย่าง
>  
มากกว่า (Greater Than)
a > b
<  
น้อยกว่า (Less Than)
a < b
> =
มากกว่าหรือเท่ากับ (Greater Than or Equal)
a > = b
< =
น้อยกว่าหรือเท่ากับ (Less Than or Equal)
a < = b
= =
เท่ากับ (Equal)
a = = b
! =
ไม่เท่ากับ (Not Equal) a ! = b

ตัวดำเนินการทางตรรกะ (Logical Operator)
         ตัวดำเนินการทางตรรกะ คือ เครื่องหมายที่ใช้เชื่อมเงื่อนไข 2 เงื่อนไข หรือมากกว่า เพื่อให้การเปรียบเทียบมีความละเอียดมากขึ้น

ตาราง แสดงตัวดำเนินการทางตรรกะ

ตัวดำเนินการ
ความหมาย
ตัวอย่าง
& &
และ (and)
Income>=5000&&income<=10000
ll
หรือ (or)
Hour<Ollhour>24
!
ไม่ใช่ (not)
! a &&! b

          ตัวดำเนินการ && จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขทั้งสองเป็นจริง แต่ถ้าเงื่อนไขใดเป็นเท็จหรือทั้งสองเงื่อนไขเป็นเท็จจะทำให้ผลลัพธ์เป็นเท็จ
         ตัวดำเนินการ ll จะใช้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง หรือเป็นจริงทั้งสองเงื่อนไข แต่ถ้าเป็นเท็จทั้งสองเงื่อนไขจะทำให้ผลลัพธ์เป็นเท็จ
         ตัวดำเนินการ ! จะให้ผลลัพธ์เป็นจริงเมื่อไขสันหลัง not เป็นเท็จ แต่ถ้าเงื่อนไขหลัง not เป็นจริงจะทำให้ผลลัพธ์เป็นเท็จ

ตัวดำเนินการกำหนดค่า (Assignment Operator)
         ตัวเนินการกำหนดค่าใช้ในการกำหนดค่าให้กับตัวแปรที่มีการคำนวณ และนำค่าที่ได้ไปเก็บไว้ยังตัวแปรอื่น เช่น c=a+b เป็นต้น

ตาราง แสดงตัวดำเนินการกำหนดค่า

ตัวดำเนินการ
ความหมาย
ตัวอย่าง
=
การกำหนดค่าให้เท่ากับ (Assignment)
a = b
+ =
การเพิ่มค่า (Addition)
A += b มาจาก a = a + b
- =
การลบค่า (Subtraction)
A -= b มาจาก a = a – b
* =
การคูณ (Multiply)
A *= b มาจาก a = a * b
/ =
การหารได้ผลลัพธ์จำนวนเต็ม (Devide)
A /= b มาจาก a = a / b
% =
การหารได้ผลลัพธ์เศษ (Devide)
A %= b มาจาก a = a % b
& =
ดำเนินการ bitwise and
A &= b มาจาก a = a & b
l =
ดำเนินการ inclusive or
A l= b มาจาก a = a l b
^ =
ดำเนินการ exclusive or
A ^= b มาจาก a = a ^ b
<< =
การเลื่อนบิตไปทางซ้าย (Left Shift)
A <<= b มาจาก a = a << b
>> =
การเลื่อนบิตไปทาขวา (Right Shift)
A >>= b มาจา


31 ความคิดเห็น:

  1. ศักดิ์สิทธิ์ ปักกาสิเนย์

    ตอบลบ
  2. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  3. น.ส.กุลสตรี สกุลกลาง

    ตอบลบ
  4. น.ส . มนัญญา ชาหลาบคำ

    ตอบลบ
  5. น.ส.วรรณวิสา จันคำ

    ตอบลบ
  6. นายตะวัน วรรณปะเข

    ตอบลบ
  7. น.ส.เรณูมาศ จันทร์งาม เลขที่19 ม.4/1

    ตอบลบ
  8. น.ส.กุลธิดา สกุลกลาง เลขที่ 2 ม.4/1

    ตอบลบ
  9. น.ส วณัฐชา ชัยปัญหา เลขที่ 8

    ตอบลบ
  10. นาย กฤษณะ หนูสุวรรณ์ ม.4/1
    เลขที่ 22

    ตอบลบ
  11. นางสาวนุชรินทร์ โพธิ์ศรี ม.4/1 เลขที่16

    ตอบลบ
  12. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  13. นางสาวมุกรินทร์ หยวกวิ่ง ชั้นม.4/1 เลขที่30😀😀😀

    ตอบลบ
  14. นาย สุธิวัฒน์ศรีวรรณภูมิ เลขที่21 ม.4/1

    ตอบลบ
  15. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  16. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  17. โชคสันติ ละครพล เลขที่5 ม.4/1

    ตอบลบ
  18. โชคสันติ ละครพล เลขที่5 ม.4/1

    ตอบลบ
  19. โชคสันติ ละครพล เลขที่5 ม.4/1

    ตอบลบ
  20. พัชรินทร์ หมั่นกิจ ชั้นม.4/1

    ตอบลบ
  21. พัชรินทร์ หมั่นกิจ ชั้นม.4/1เลขที่29

    ตอบลบ
  22. นางสาวสายสมร สีเสน

    ตอบลบ
  23. น.ส.ฉวีวรรณ บุญเหลา

    ตอบลบ
  24. น.ส.ยุภาวดี ศรีพวงเพชร เลขที่18 ม.4/1

    ตอบลบ
  25. นางสาวสุภัสสร ดีสวนม.4/1 เลขที่24

    ตอบลบ
  26. นางสาวกัญญารัตน์ ยอดทองหลาง ม.4/1 เลขที่ 27

    ตอบลบ
  27. น.ส.ฉวีวรรณ บุญเหลา เลขที่ 28

    ตอบลบ