เครื่องหมายและการดำเนินการในภาษา 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) | 
ไม่มีความคิดเห็น:
แสดงความคิดเห็น