ในการเขียนโปรแกรม ภาษา c นั้น จำเป็นจะต้องมีการดำเนินการระหว่างค่อ หรือ ข้อมูลต่างๆอยู่ตลอดเวลา ซึ่งในบทความนี้เราจะมาศึกษาเกียวกับตัวนำเนินการต่างๆ ของภาษษซี เราจะมาดูว่าตัวนำเนินการ (Operator) ของภาษาซีนั้นจะมีอะไรบ้าง และแต่ละอย่างมีการทำงานอย่างไร
โอเปอเรเตอร์(Operator) คือ ตัวดำเนินการซึงอาจเป็น การดำเนินการทางคณิตศาตร์ การนำเนินการทางตรรกศาสตร์ หรือ อื่นๆ โดยที่ โอเปอเรเตอร์มักจะเป็นเครื่องหมายหรือสัญญาลักษณ์พิเศษต่างๆเช่น +,-,*,/,%,&&,||,>,< เป็นต้น
โอเปอแรนด์(Operand) คือ : คือตัวกระทำ อาจเป็นค่าคงที่ ตัวแปร นิพจน์ หรือฟังก์ชั่นก็ได้
นิพจน์(Expression) คือ : การนำเอาโอเปอเรเตอร์ และโอเปอแรนด์หลายๆตัวมารวมกันเป็นประโยคเดียวกัน
รูปนี้เป็นรูปแสดงความสำพันธ์ระหว่าง Operand And Expression
กาดำเนินการทางคณิตศาสตร์ คือ การนำค่า โอเปอเแรนด์( Operand ) 2 ค่ามากระทำกันโดยใช้ โอเปอร์เรเตอร์(Operator)หรือตัวดำเนินการทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร หรือบางครั้งก็ เอา โอเปอเรเตอร์ไปกระทำกับ โอเปอแรนด์(Operand) เพียงตัวเดียว เรามาดูกันว่า Operator ทางคณิตศาสตร์ นั้นมีอะไรกันบางนะครับ
Arithmetic Operator (โอเปอเรเตอร์ คณิตศาสตร์) นั้นเราจะสามารถแบ่งออก เป็น 7 ประเภท แล้วมันมี อะไรบ้างเราจะมาดูกัน ตามตารางข้างล่างนี้เลย
โอเปอร์เรเตอร์ | ความหมาย | ตัวอย่าง | ผลลัพธ์ |
+ | บวก | 10+5 | 15 |
- | ลบ | 10-5 | 5 |
* | คูณ | 10*5 | 50 |
/ | หาร | 11 / 5 | 2 (คือง่ายๆเลยนะครับมัน |
% | Modulo หรือ หารเอาแต่เศษ | 11 / 5 | 1 |
++
| เพิ่มค่าขึ้น 1 โดย ท่าไว้ด้านหลัง เช่น a++ มันจะทำการเพิ่มค่าให้ ตัวแปร a แต่จะเอาค่า a ไปใช้ก่อนแล้วจึงจะเพิ่มค่าให้ a ขึ้น1 | b=a++; มีความหมายว่า b=a; แล้ว a=a+1; อีกที
| ถ้า a=2; เราก็จะได้ b=3; a=2; |
ท่าเอาไว้ด้านหน้า ++a มันก็จะทำการเพิ่มค่าให้ตัวแปร a ก่อนที่จะเอาค่า a ไปใช้งานครับ | b=++a;มีความหมายว่า a=a+1;แล้วจึงค่อยมา b=a; อีกที | ถ้า a=2 เราก็จะได้b=3; a=3; | |
--
| ลดค่าลง 1 โดย ท่าเอาไปไว้ด้านหลัง เช่นนี้ a--ก็จะเอาค่า a ไปใช้ก่อนแล้วจึงนำค่า a ไปใช้งาน นะครับ | b=a--;มีความหมายว่า b=a; แล้ว a=a-1; อีกที | ถ้า a = 10; เราก็จะได้ a=9; b=10; |
| ท่าเอาไปไว้ด้านหหน้า เช่นนี้ | b=--a;มีความหมายว่า a=a-1; แล้ว b=a; อีกที | ถ้า a = 10; เราก็จะได้ a=9; b=9; |
ขอปิดท้ายด้วย แบบ ฝึกหัดเล่นๆ เพื่อความเข้าจัยหน่อยนะครับแล้วเราก็ค่อยมาศึกษาต่อใน บท Operator and Operations2 เรื่อง ลำดับความสำคัญของการทำงานของ Operator งันเรามาลองทำแบบฝึกหัดดีกว่า
จงหา
ถ้า x=1, y=3;
1. x+y=?
2. x-y=?
3. x*y=?
4. x/y=?
5. x%y=?
6. z=x++; z=? x=?
7. z= --y; z=? y=?
8. z= y++; z=? y=?
9. z= –x; z=? x=?
ลองทำดูนะครับ
0 ความคิดเห็น:
แสดงความคิดเห็น