ตัวดำเนินการ (Operator)

Topic Progress:

ตัวดำเนินการ

ตัวดำเนินการคำนวณพื้นฐาน  ประกอบด้วย

สัญลักษณ์
ตัวดำเนินการ
ตัวอย่างและความหมาย
+
บวก
x = a+b; นำค่า a บวกกับ b แล้วเก็บไว้ใน x
ลบ
x = a-b; นำค่า a ลบด้วย b แล้วเก็บไว้ใน x
*
คูณ
x = a*b; นำค่า a คูณกับค่า b แล้วเก็บไว้ใน x
/
หาร
x = a/b นำค่า a หารด้วย b ผลลัพธ์เก็บไว้ใน x
%
หารเอาเศษ
x = a%b นำเศษจากการหาร a ด้วย b แล้วเก็บไว้ใน x

ลำดับความสำคัญของตัวดำเนินการจากมากไปหาน้อย สรุปได้ดังนี้

เครื่องหมาย
ความหมาย
( )
วงเล็บ
* / %
ตัวดำเนินการ คูณ หาร และมอดูลัส
+ –
ตัวดำเนินการบวก และลบ

ตัวดำเนินการเปรียบเทียบ  ประกอบด้วย

เครื่องหมาย
ความหมาย
ตัวอย่าง
= =
เท่ากับ
a == b
! =
ไม่เท่ากับ
a != b
>
มากกว่า
a >  b
> =
มากกว่าหรือเท่ากับ
a >= b
<
น้อยกว่า
a <  b
< =
น้อยกว่าหรือเท่ากับ
a <= b


คำสั่งเพิ่มและลดค่า

รูปแบบการเขียนคำสั่งเพื่อเพิ่มหรือลดค่าตัวแปรชนิดจำนวนเต็มทีละ 1 ในแบบย่อ โดยอาศัยตัวดำเนินการเอกภาคเพิ่มค่า ++  และดำเนินการเอกภาคลดค่า – –  ดังตัวอย่างต่อไปนี้

ตัวดำเนินการเอกภาคเพิ่มค่า

int x = 4 ;
x = x+1;
x+=1;
x++ ;

ตัวดำเนินการเอกภาคลดค่า

int y = 8 ;
y = y – 1;
y -= 1;
– -y  ;

แต่ละคำสั่งด้านบนจะมีผลให้ x มีค่าเพิ่มขึ้นทีละ 1 และ y มีค่าลดลงทีละ 1 ดังนั้น หลังจากประมวลผลคำสั่งข้างต้นแล้ว x และ y จำมีค่าเป็น 5 และ 7 ตามลำดับ

ตัวดำเนินการ ++ และตัวดำเนินการ – – อาจวางอยู่ด้านหลัง หรือด้านหน้าตัวแปร ดังเช่น x++ หรือ ++x เป็นต้น เมื่อวางตัวดำเนินการเอกภาคเพิ่มค่า (หรือเอกภาคลดค่า) ไว้ด้านหลังตัวแปร จะมีผลให้การเพิ่มหรือลด ค่าตัวแปรอีก 1 เกิดขึ้นหลังจากการอ้างอิงค่าตัวแปรดังกล่าวในคำสั่งเดียวกัน  และเมื่อวางตัวดำเนินการเอกภาคเพิ่มค่า (หรือเอกภาคลดค่า) ไว้ด้านหน้าตัวแปร  จะมีผลให้การเพิ่ม (หรือลด) ค่าตัวแปรอีก 1 เกิดขึ้นก่อนการอ้างอิงค่าตัวแปรดังกล่าวในคำสั่ง เดียวกัน

ตัวอย่างโปรแกรมเพิ่มค่าตัวแปร

#include<stdio.h>
main(){
int x=8;
printf(“x is %d. \n”,x);
printf(“x++ is %d. \n”,x++);
printf(“x is %d. \n”,x);
}

ผลลัพธ์ของโปรแกรม

x is 8
x++ is 8
x is 9

ตัวอย่างโปรแกรมลดค่าตัวแปร

#include<stdio.h>
main(){
int x=4;
printf(“x is %d. \n”,x);
printf(“–x is %d. \n”,–x);
printf(“x is %d. \n”,x);
}

ผลลัพธ์ของโปรแกรม

x is 4
– -x is 3
x is 3