เครื่องหมายและการดำเนินการในภาษา 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. ทำการไล่ลำดับความสำคัญของโอเปอเรเตอร์ทั้งหมดเปรียบเทียบกัน จากตัวที่มีลำดับความสำคัญสูงสุดไปยังตัวที่มีลำดับสำคับต่ำสุด
ลำดับความสำคัญจากสูงไปต่ำ
|
โอเปอเรเตอร์
|
*
| |
+
|
ขั้นที่ 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) |
thank you ^_^
ตอบลบi love you
ลบเข้าใจขึ้นมากเลยครับ ขอบคุณครับ
ตอบลบ-3--3--3-
ตอบลบVery good
ตอบลบเยี่ยม
ตอบลบควย
ตอบลบควยแม่มึงอ่ะ
ลบงงเหมือนเดิม°^°
ตอบลบ