การกำหนดตัวดำเนินการในภาษาซีนั้นมีหลายประเภทด้วยกัน ซึ่งแต่ละประเภทจะทำหน้าที่แตกต่างกันออกไป
ดังต่อไปนี้
ดังต่อไปนี้
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 มาจา
|
ศักดิ์สิทธิ์ ปักกาสิเนย์
ตอบลบสุกัญญา ไฝชอบ
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบปนัดดา สวนดี
ตอบลบสุธิตา สุพรรณ
ตอบลบน.ส.กุลสตรี สกุลกลาง
ตอบลบน.ส . มนัญญา ชาหลาบคำ
ตอบลบน.ส.วรรณวิสา จันคำ
ตอบลบนายตะวัน วรรณปะเข
ตอบลบน.ส.เรณูมาศ จันทร์งาม เลขที่19 ม.4/1
ตอบลบน.ส.กุลธิดา สกุลกลาง เลขที่ 2 ม.4/1
ตอบลบน.ส วณัฐชา ชัยปัญหา เลขที่ 8
ตอบลบนาย กฤษณะ หนูสุวรรณ์ ม.4/1
ตอบลบเลขที่ 22
นางสาวนุชรินทร์ โพธิ์ศรี ม.4/1 เลขที่16
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบนางสาวมุกรินทร์ หยวกวิ่ง ชั้นม.4/1 เลขที่30😀😀😀
ตอบลบนาย สุธิวัฒน์ศรีวรรณภูมิ เลขที่21 ม.4/1
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบโชคสันติ ละครพล เลขที่5 ม.4/1
ตอบลบโชคสันติ ละครพล เลขที่5 ม.4/1
ตอบลบโชคสันติ ละครพล เลขที่5 ม.4/1
ตอบลบพัชรินทร์ หมั่นกิจ ชั้นม.4/1
ตอบลบพัชรินทร์ หมั่นกิจ ชั้นม.4/1เลขที่29
ตอบลบนางสาวสายสมร สีเสน
ตอบลบน.ส.ฉวีวรรณ บุญเหลา
ตอบลบน.ส.ยุภาวดี ศรีพวงเพชร เลขที่18 ม.4/1
ตอบลบนางสาวสุภัสสร ดีสวนม.4/1 เลขที่24
ตอบลบนางสาวกัญญารัตน์ ยอดทองหลาง ม.4/1 เลขที่ 27
ตอบลบน.ส.อารียา ยาย่อ
ตอบลบน.ส.ฉวีวรรณ บุญเหลา เลขที่ 28
ตอบลบ