เครื่องหมายและการดำเนินการในภาษา C
การดำเนินการในการเขียนโปรแกรมภาษา C มีอยู่ 3
ประเภท คือ การคำนวณทางคณิตศาสตร์
การดำเนินการทางตรรกศาสตร์ และการเปรียบเทียบ
ซึ่งการดำเนินการแต่ละประเภทจะมีเครื่องหมายที่ต้องใช้เพื่อเขียนคำสั่งสำหรับการดำเนินการประเภทนั้น
ๆ ดังรายละเอียด
เครื่องหมายการคำนวณทางคณิตศาสตร์
เครื่องหมายที่ใช้สำหรับการคำนวณทางคณิตศาสตร์ใช้ภาษา C สรุปดังนี้
เครื่องหมาย
|
ความหมาย
|
ตัวอย่าง
|
+
|
บวก
|
3+2 การบวกเลข 3
บวกกับ 2 ได้ผลลัพธ์คือ 5
|
-
|
ลบ
|
3 - 2 การลบเลข 3
ลบกับ 2 ได้ผลลัพธ์คือ 1
|
*
|
คูณ
|
2*3 การคูณเลข
3 บวกกับ 2 ได้ผลลัพธ์คือ 6
|
/
|
หาร
|
15/2 การหาร 15
หารกับ 2 ได้ผลลัพธ์คือ 7
|
%
|
หารเอาเศษ
|
15%2การหารเอาเศษ 15
หารกับ 2 ได้ผลลัพธ์คือ 1
|
++
|
เพิ่มค่าขึ้น 1 โดย
a++ จะนำค่าของ a ไปใช้ก่อนแล้วจึงเพิ่มค่าของ a ขึ้น 1 ++a จะเพิ่มค่าของ a ขึ้น 1 ก่อนแล้วจึงนำค่าของ a ไปใช้ |
b=a++;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้ b=a; a=a+1; b=++a; จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้ a=a+1; b=a; |
--
|
ลดค่า 1 โดย
a-- จะนำค่าของ a ไปใช้ก่อน แล้วจึงลดค่าของ a ลง 1 --a จะลดค่าของ a ลง 1 ก่อน แล้วจึงนำค่าของ a ไปใช้ |
ิb=a--;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้ ิb=a; a=a-1; b=--a; จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้ a=a-1; b=a; |
ตัวดำเนินการเปรียบเทียบ
ใช้เปรียบเทียบค่า 2 ค่าเพื่อแสดงการเลือก
ซึ่งโปรแกรมโดยทั่วไปใช้ในการทดสอบเงื่อนไขตามที่กำหนด
การเปรียบเทียบโดยการเท่ากันของ 2 ค่าจะใช้เครื่องหมาย ==
การเปรียบเทียบโดยการเท่ากันของ 2 ค่าจะใช้เครื่องหมาย ==
เครื่องหมาย
|
ความหมาย
|
ตัวอย่าง
|
>
|
มากกว่า
|
a > b a มากกว่า b
|
>==
|
มากกว่าหรือเท่ากับ
|
a >= b a มากกว่าหรือเท่ากับ
b
|
<
|
น้อยกว่า
|
a < b a น้อยกว่า b
|
<==
|
น้อยกว่าหรือเท่ากับ
|
a <= b a น้อยกว่าหรือเท่ากับ
b
|
==
|
เท่ากับ
|
a == b a เท่ากับ b
|
!=
|
ไม่เท่ากับ
|
a != b a ไม่เท่ากับ
b
|
ตัวดำเนินการตรรกะ
ความหมาย
การดำเนินการเปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่)
การดำเนินการเปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่)
เครื่องหมาย
|
ความหมาย
|
ตัวอย่าง
|
&&
|
และ
|
x < 60 && x >
50 กำหนดให้ x มีค่าในช่วง 50
ถึง 60
|
||
|
หรือ
|
x == 10 || x ==
15 กำหนดให้ x มีค่าเท่ากับตัวเลข
2 ค่า คือ 10 หรือ 15
|
!
|
ไม่
|
x = 10 !x กำหนดให้ x ไม่เท่ากับ 10
|
การเขียนนิพจน์ในภาษา C
นิพจน์ในภาษา C ก็คือ การนำข้อมูลและตัวแปรในภาษา C
มาดำเนินการด้วยเครื่องหมายทางคณิตศาสตร์ ตรรกศาสตร์ หรือเครื่องหมายเปรียบเทียบในภาษา C
เป็นตัวสั่งงาน ดังตัวอย่าง
ลำดับความสำคัญของเครื่องหมาย
ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน มีการดำเนินการหลายอย่างปะปนอยู่ภายในนิพจน์เดียวกัน
ลำดับความสำคัญ
|
ลำดับความสำคัญจากสูงไปต่ำ
|
1
|
(
)
|
2
|
!,++,-
-
|
3
|
*,/,%
|
4
|
+,-
|
5
|
<,<=,>,>=
|
6
|
=
=,!=
|
7
|
&&
|
8
|
||
|
9
|
*=,/=,%=,+=,-=
|
ตัวอย่างการทำงานของโอเปอเรเตอร์
จงหาค่าของนิพจน์ 8 + 7 * 6
วิธีทำ
1. ให้สังเกตที่ตัวโอเปอเรเตอร์ก่อนเสมอว่ามีโอเปอเรเตอร์อะไรบ้าง ในที่นี้มี + และ *
2. ทำการไล่ลำดับความสำคัญของโอเปอเรเตอร์ทั้งหมดเปรียบเทียบกัน จากตัวที่มีลำดับความสำคัญสูงสุดไปยังตัวที่มีลำดับสำคับต่ำสุด
วิธีทำ
1. ให้สังเกตที่ตัวโอเปอเรเตอร์ก่อนเสมอว่ามีโอเปอเรเตอร์อะไรบ้าง ในที่นี้มี + และ *
2. ทำการไล่ลำดับความสำคัญของโอเปอเรเตอร์ทั้งหมดเปรียบเทียบกัน จากตัวที่มีลำดับความสำคัญสูงสุดไปยังตัวที่มีลำดับสำคับต่ำสุด
ลำดับความสำคัญจากสูงไปต่ำ
|
โอเปอเรเตอร์
|
*
|
|
+
|
3. จากข้อ
2 จะได้ลำดับการทำงานเป็นดังนี้
ขั้นที่ 1 7 * 6 = 42
ื ขั้นที่ 2 8 + ค่าที่ได้จากขั้นที่ 1
= 8 + 42
= 50
ดังนั้น 8 + 7 * 6 = 50
ขั้นที่ 1 7 * 6 = 42
ื ขั้นที่ 2 8 + ค่าที่ได้จากขั้นที่ 1
= 8 + 42
= 50
ดังนั้น 8 + 7 * 6 = 50
จงหานิพจน์ต่อไปนี้
x*y
- 20%z
|
|
1)
|
x * y
|
2)
|
20%z
|
3)
|
1) - 2)
|
(a
- b)*10/c && d + 5
|
|
1)
|
a - b
|
2)
|
1)*10
|
3)
|
2)/c
|
4)
|
d+5
|
5)
|
3) && 4)
|
(a
+ b) * 4 = = c%d(e+10)
|
|
1)
|
a + b
|
2)
|
e + 10
|
3)
|
1) * 4
|
4)
|
d * 2)
|
5)
|
c %4)
|
6)
|
3) = = 5)
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น