นิพจน์ (Expressions) ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่ใช้ในการคำนวณ ซึ่งนิพจน์ทางคณิตศาสตร์นั้นจะมีรูปแบบเหมือนกับสมการคณิตศาสตร์ แต่จะประกอบไปด้วย ค่าคงที่หรือตัวแปร ซึ่งเรียกอีกอย่างว่า ตัวถูกดำเนินการ (Operand) แล้วเชื่อมกันด้วยเครื่องหมายทางคณิตศาสตร์ หรือเรียกอีกอย่างว่า ตัวดำเนินการ (Operator) นั่นเอง
รูปแบบ
[ตัวถูกดำเนินการตัวแรก] [ตัวดำเนินการ] [ตัวถูกดำเนินการตัวที่สอง]
ตัวอย่าง
A+B
2+A
ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์ของภาษา C มีดังนี้
ตารางที่ 4.1 แสดงตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการ |
ความหมาย |
+ |
บวก ลบ คูณ หาร หารเอาเศษหรือ Modulus เพิ่มค่าครั้งละ 1 ลดค่าครั้งละ 1 |
การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูกดำเนินการเพียง 2 ตัวจะไม่มีปัญหาอะไร แต่ถ้าเกิดมีตัวถูกดำเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคำนึงถึงลำดับความสำคัญของตัวดำเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรงตามความต้องการได้
ตัวอย่าง
ผู้ใช้ต้องการให้เอา 2 บวกกับ 3 แล้วนำไปคูณด้วย 5 ซึ่งคำตอบที่ผู้ใช้ต้องการ คือ 25 แต่ถ้าผู้ใช้เขียนนิพจน์เป็น
2 + 3 * 5
ผลลัพธ์ที่ได้จะเท่ากับ 17 เพราะภาษา C จะคิดตามลำดับความสำคัญของตัวดำเนินการ (Precedence) ดังนี้ เอา 3 คูณกับ 5 ได้ 15 แล้วนำไปบวกกับ 2 ได้ 17 ซึ่งเป็นคำตอบที่ไม่ตรงตามความต้องการ เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่องนี้อย่างมาก วิธีการแก้ไขก็สามารถทำได้โดยการใช้วงเล็บเข้ามาช่วย ซึ่งวงเล็บจะมีลำดับความสำคัญสูงที่สุด และเมื่อลำดับความสำคัญเท่ากัน ให้ดูในตารางโดยเรียงจากซ้ายไปขวา ซึ่งถ้ามีหลายวงเล็บซ้อนกัน ภาษา C จะคิดจากวงเล็บในออกมา ดังนั้นถ้าตัวอย่างด้านบนจะเขียนนิพจน์ให้ได้ผลลัพธ์ตามต้องการ จะต้องเขียนดังนี้
(2 + 3) * 5
ผลลัพธ์ที่ได้จะเป็น 2 บวกกับ 3 ได้ 5 แล้วคูณด้วย 5 จะเท่ากับ 25
ตารางที่ 4.2 ลำดับความสำคัญของตัวดำเนินการทางคณิตศาสตร์ (ยิ่งมากยิ่งสำคัญ)
ตัวดำเนินการ |
ลำดับความสำคัญ |
++,– |
16 |
– (เครื่องหมายลบหน้าตัวเลข) |
15 |
*, /, % |
13 |
+, – |
12 |
ตัวอย่างนิพจน์ และวิธีการคำนวณ
นิพจน์ |
วิธีการคำนวณ |
10 / 2 * 3 | เอา 10 หาร 2 ได้ 5 แล้วคูณด้วย 3 จะได้ผลลัพธ์ 15 |
((5 + 3) * (9 – 2)) + 3 | เอา 5 บวก 3 ได้ 8 แล้วเอา 9 ลบ ได้ 7 แล้วนำ 5 บวก 7 ได้ 12 แล้วนำ 12 มาบวก 3 จะได้ผลลัพธ์ 15 |
12 * 2 + (2 * 6) | เอา 2 คูณ 6 ได้ 12 แล้วนำ 12 มาคูณ 2 ได้ 24 จากนั้นนำ 24 มาบวก 12 จะได้ผลลัพธ์ 36 |
โปรแกรมที่ 4-1 แสดงผลของตัวดำเนินการต่าง ๆ
ตัวดำเนินการในการกำหนดค่า
ตัวดำเนินการที่ใช้ในการกำหนดค่านั้นจะเป็นเครื่องหมาย = การทำงานของตัวดำเนินการนี้จะทำการนำค่าที่อยู่ทางด้านขวาของตัวดำเนินการไปเก็บไว้ในตัวแปรทางด้านซ้ายของตัวดำเนินการสิ่งที่อยู่ด้านขวาของตัวดำเนินการนั้นอาจจะเป็นนิพจน์ทางคณิตศาสตร์ หรือจะเป็นตัวแปรก็ได้
รูปแบบ
[ตัวแปร] = [นิพจน์]
Simple Assignments (การกำหนดค่าแบบง่าย)
Simple Assignments จะมีรูปแบบเหมือนกับรูปแบบด้านบน หรือเหมือนกับสมการทางคณิตศาสตร์ทั่วไป
ตัวอย่าง
A = 2
Sum = 2 + A
Sum = (2 * 5) + 6
ตัวอย่าง Simple Assignments
ค่าของ x |
ค่าของ y |
นิพจน์ |
ค่าของนิพจน์ |
ผลลัพธ์ของนิพจน์ |
10 |
5 |
x=y +2 |
7 |
x=7 |
10 |
5 |
x=x /y |
2 |
x=2 |
10 |
5 |
x=y % 4 |
1 |
x=1 |
โปรแกรม 4-2 การกำหนดให้กับตัวแปรในลักษณะต่าง ๆ
Compound Assignments (การกำหนดค่าแบบผสม)
Compound Assignment เป็นการกำหนดที่สั้นกว่าแบบ Simple Assignment ซึ่งจะใช้ตัวดำเนินการ 5 ตัวด้วยกัน ดังนี้ *=, /=, %=, += และ-=
ตารางที่ 4-3 ความหมายของตัวดำเนินการ
นิพจน์แบบ Compound |
เทียบเท่ากับนิพจน์แบบ Simple |
x * = y | x = x* y |
X / = y | X = x/y |
X % = y | X =x %y |
X + = y | X = x+y |
X – =y | X =x-y |
ตัวอย่าง Simple Assignments
ค่าของ x |
ค่าของ y |
นิพจน์ |
ค่าของนิพจน์ |
ผลลัพธ์ของนิพจน์ |
10 | 5 | x * = y | 50 | X = 50 |
10 | 5 | X / = t | 2 | X = 2 |
10 | 5 | X % = y | 0 | X = 0 |
10 | 5 | X + = y | 15 | X = 15 |
10 | 5 | X – = y | 5 | X = 5 |
โปรแกรม 4.3 ผลของตัวดำเนินการแบบผสม
ตัวดำเนินการ ++ และ —
ตัวดำเนินการ ++ จะทำการเพิ่มค่าของตัวแปรอีก 1 ส่วน — นั้นจะทำการลดค่าของตัวแปรลง 1 ซึ่งการสร้างนิพจน์ด้วยตัวดำเนินการ 2 ตัวนี้ จะมี 2 แบบ คือ
แบบ Postfix
รูปแบบ
[ตัวแปร] [ตัวดำเนินการ]
ตัวอย่าง
A ++
A –
ขั้นตอนการทำงานของนิพจน์แบบ Postfix เมื่อนิพจน์ x = a++
1. ให้ x = a
2. จากนั้นจะทำการ a = a + 1
หรือ เมื่อนิพจน์เป็น y = b– จะมีขั้นตอนการทำการ ดังนี้
1. ให้ y = b
2. จากนั้นจะทำการ b = b – 1
ค่าของ a ตอนแรก |
นิพจน์ |
ผลลัพธ์ของนิพจน์ |
ค่าของ a ตอนหลัง |
10 |
a++ |
10 |
11 |
10 |
a– |
10 |
9 |
โปรแกรม 4-4 แสดงผลของตัวดำเนินการ ++ ในแบบ Postfix
/imgs/clip_image004_0003.gif
แบบ Prefix
รูปแบบ
[ตัวดำเนินการ] [ตัวแปร]
ตัวอย่าง
++a
–a
ขั้นตอนการทำงานของนิพจน์แบบ Prefix เมื่อนิพจน์ x = ++a
1. จากนั้นจะทำการ a = a + 1
2. ให้ x = a
หรือ เมื่อนิพจน์เป็น y = –b จะมีขั้นตอนการทำการ ดังนี้
1. จากนั้นจะทำการ b = b-1
2. ให้ y = b
ค่าของ a ตอนแรก |
นิพจน์ |
ผลลัพธ์ของนิพจน์ |
ค่าของ a ตอนหลัง |
10 |
++a |
11 |
11 |
10 |
–a |
9 |
9 |
โปรแกรม 4-5 แสดงผลของตัวดำเนินการ ++ ในแบบ Prefix
Design by Pratya |