นิพจน์
และตัวดาเนินการ
KRUTO
c = a * b (10 + 5 ) * 10 % 9 = 15
(8 * a + 2 * b)/c 5 + (5 – 1 ) * 4 = 21
นิพจน์ (Expression) คือ การนาค่าคงที่หรือตัวแปรมาเชื่อมต่อกัน
ด้วยเครื่องหมายทางคณิตศาสตร์ เช่น
KRUTO
ตัวดาเนินการ (Operator) ในโปรแกรมภาษาซีมีตัว
ดาเนินการหลายชนิดเพื่อใช้ในการเขียนโปรแกรม ดังนี้
1.ตัวดาเนินการคณิตศาสตร์
2.ตัวดาเนินการยูนารี
3.ตัวดาเนินการเปรียบเทียบ
4.ตัวดาเนินการตรรกะ
5.ตัวดาเนินการกาหนดค่าแบบผสม
6.ตัวดาเนินการเงื่อนไข
KRUTO
KRUTO
1.ตัวดาเนินการคณิตศาสตร์ เช่น บวก ลบ คูณ หารเปอร์เซ็นต์
ดังตัวอย่างในตารางข้างล่างนี้
ตัวดาเนินการ ความหมาย ตัวอย่าง
+ บวก (Addition) X + y
- ลบ (Subtraction) X – y
* คูณ (Multiplication) X * y
/ หาร (Division) X / y
% หารเอาผลลัพธ์เฉพาะเศษ (Modulus) X % y
KRUTO
ตัวอย่าง กาหนดให้ x และ y เป็นตัวแปรชนิดเลขจานวนเต็ม(int)
โดยที่ x = 10 , y = 2
นิพจน์ ผลลัพธ์
X + y 12
X – y 8
X * y 20
X / y 5
X % y 0
KRUTO
2. ตัวดาเนินการยูนารี การใช้เครื่องหมายลบนาหน้าค่าตัวแปร จะทาให้ค่าถูก
เปลี่ยนเป็นค่าติดลบโดยทันที เช่น -10 , -x (มิใช่ตัวดาเนินการลบแต่อย่างใด)
ตัวอย่าง ให้ a และ b เป็นตัวแปรชนิดเลขจานวเต็ม (int) โดยที่ a = 10 และ b = 2 ดังนั้น
นิพจน์ ผลลัพธ์
a + b 12
-a + b -8
-a * b -20
a - - b 12
ตัวดาเนินการเพิ่มค่าและตัวดาเนินการลบค่า จะใช้เครื่องหมาย - - เพื่อลดค่าทีละหนึ่ง และ
เครื่องหมาย + + เพื่อเพิ่มค่าทีละหนึ่ง โดยเขียนนาหน้าค่าตัวแปรหรือหลังตัวแปรก็ได้
การเพิ่มค่าทีละหนึ่ง (Increment) ใช้ a++ หรือ ++a ก็มีความหมายเดียวกันกับนิพจน์ a = a + 1
การลดค่าทีละหนึ่ง (Decrement) ใช้ b-- หรือ --b ก็มีความหมายเดียวกันกับนิพจน์ a = b – 1
KRUTO
ตารางแสดงตัวดาเนินการยูนารีแบบเพิ่มค่าและลดค่าทีละหนึ่ง
นิพจน์ ความหมาย
++a เพิ่มค่าอีกหนึ่งให้กับ a ก่อน แล้วจึงนาค่าใหม่ของ a ไปใช้งาน
a++ นาค่าเดิมของ a ไปใช้งานก่อน แล้วจึงเพิ่มค่า a อีกหนึ่ง
--a ลดค่าลงหนึ่งให้กับ a ก่อน แล้วจึงนาค่าใหม่ของ a ไปใช้งาน
a-- นาค่าเดิมของ a ไปใช้งานก่อน แล้วจึงลดค่า a ลงอีกหนึ่ง
KRUTO
3. ตัวดาเนินการเปรียบเทียบ คือ เครื่องหมายที่ใช้ในการเปรียบเทียบในทางคณิตศาสตร์
ผลลัพธ์จะมี 2 กรณีคือ ถ้าผลลัพธ์ถูกต้องหรือเป็นจริง (True) จะมีค่าเป็น 1 ถ้าผลลัพธ์ผิดหรือ
เป็นเท็จ (False) จะมีค่าเป็น 0 ผลลัพธ์ของการเปรียบเทียบ เรียกว่า ค่าคงที่บูลีน (Boolean
Constant)
ตัวดาเนินการ ความหมาย ตัวอย่าง
> มากกว่า (Greather
Than)
X > y
< น้อยกว่า (Less Than) X < y
>= มากกว่าหรือเท่ากับ
(Greather Than or
Equal)
X >= y
<= น้อยกว่าหรือเท่ากับ (Less
Than or Equal)
X <= y
== เท่ากับ (Equal) X == y
!= ไม่เท่ากับ (Not Equal) X != y
KRUTO
4. ตัวดาเนินการตรรกะ คือเครื่องหมายที่ใช้เชื่อมเงื่อนไข 2 เงื่อนไข หรือมากกว่า 2 เงื่อนไข
เพื่อให้การเปรียบเทียบมีความละเอียดมากขึ้น ใช้สัญลักษณ์แทนในแต่ละเครื่องหมาย ดังนี้
ตัว
ดาเนินการ
อธิบาย ความหมาย
&& และ (and) จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขทั้งสองเป็นจริง แต่ถ้าเงื่อนไขใดเป็นเท็จ
หรือทั้งสองเงื่อนไขเป็นเท็จจะทาให้ผลลัพธ์เป็นเท็จ
|| หรือ (or) จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง หรือเป็นจริงทั้งสอง
เงื่อนไข แต่ถ้าเป็นเท็จทั้งสองเงื่อนไขจะทาให้ผลลัพธ์เป็นเท็จ
! ไม่ใช่ (not) จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขหลัง not เป็นเท็จ แต่ถ้าเงื่อนไขหลัง
not เป็นจริงจะทาให้ผลลัพธ์เป็นเท็จตัวดาเนินการ ความหมาย
KRUTO
โดยผลลัพธ์จะเป็นไปตามตารางค่าความจริง ดังนี้(T = True , F = False)
ตัวเปรียบเทียบ ผลลัพธ์
a b a && b a || b !a !b
T T T T F F
T F F T F T
F T F T T F
F F F F T T
KRUTO
5. ตัวดาเนินการกาหนดค่าแบบผสม จะประกอบด้วย + = , - = , * = , / = และ
% = โดยสามารถแสดงได้ดังนี้
นิพจน์ทั่วไป นิพจน์แบบผสม
a = a + 5 a + = 5
a = a - b a - = 5
a = a * (b - 3) a * = (b – 3)
a = a / 3 a / = -
a = a % (b – 2) a % = (b - 2)
KRUTO
6. ตัวดาเนินการเงื่อนไข จะนาไปใช้ในการทดสอบค่านิพจน์ทางตรรกะว่า จริงหรือเท็จ
ดังนี้
รูปแบ expression1 ? expression2 : expression3
โดยที่ expression 1 หมายถึง นิพจน์เงื่อนไข
expression 2 หมายถึง นิพจน์กรณีเป็นจริง
expression 3 หมายถึง นิพจน์กรณีเป็นเท็จ
KRUTO
result = (x < y) ? 0 : 100 ; หรือ if (x < y)
result = 0 ;
else
result = 100 ;
หมายความว่า ถ้า x มีค่าน้อยกว่า y แล้ว
กรณีเป็นจริง ตัวแปร result จะถูกกาหนดค่าเป็น 0
กรณีเป็นเท็จ ตัวแปร result จะถูกกาหนดค่าเป็น 100
ตัวอย่าง
KRUTO
ลาดับการประมวลผลของนิพจน์ จะทาการประมวลผลในส่วนของวงเล็บก่อนใน
กรณีที่มีวงเล็บ จากนั้นจะคานวณไปตามลาดับของการประมวลดังตารางข้างล่างนี้และหาก
มีเครื่องหมายที่อยู่ในลาดับการประมวลผลเดียวกันจะทาการคานวณจากด้านซ้ายไป
ด้านขวา
ตัวดาเนินการกับลาดับความสาคัญ
ลาดับ ตัวดาเนินการ ความหมาย
1 ( ) เครื่องหมายวงเล็บ
2 ++ , -- ตัวดาเนินการเพิ่มค่า , ลดค่า
3 -, ! ยูนารีลบ , ตรรกะ NOT
4 * , / , % คูณ หาร โมดูลัส
5 + , - บวก ลบ
KRUTO
ตัวอย่างนิพจน์การคานวณ
ตัวอย่าง 1 (10 -34) * 5 = 35 ลาดับการประมวลผล
10 - 3 = 7 แล้วคูณกับ 5 ได้ผลลัพธ์ 35
ตัวอย่าง 2 5 + 10 *2 = 25 ลาดับการประมวลผล
10 * 2 = 20 แล้วบวกดับ 5 ได้ผลลัพธ์ 25
ตัวอย่าง 3 (2 + 7) * 4 % 10 = 6 ลาดับการประมวลผล
2 + 7 = 9 แล้วคูณกับ 4 ได้ 36 หารแบบเอาเศษด้วย
10 ได้ 6
ตัวอย่าง 4 2 + 7 * 4 % 10 = 10 ลาดับการประมวลผล
7 * 4 = 28 แล้วหารแบบเอาเศษด้วย 10 ได้ 8 บวกกับ
2 เป็น 10
ตัวอย่าง 5 10 + 2 * 8 / 4 * 3 – 5 = 17 ลาดับการประมวลผล
1. 2 * 8 = 16
2. 16 / 4 = 4
3. 4 * 3 = 12
4. 12 + 10 = 22
5. 22 – 5 = 17

นิพจน์