นิพจน์และตัวดำเนินการ
คำนำ
นิพจน์เป็นองค์ประกอบพื้นฐาน ที่สร้างประโยคเชิงซ้อนในภาษาซี ขึ้นมา นิพจน์ประกอบไปด้วยตัวแปรและตัวดำเนินการ ภาษาซีมีตัวดำเนินการหลายประเภทเพื่อทำหน้าที่แตกต่างกัน ได้แก่
- ตัวดำเนินการคณิตศาสตร์ (Arithmetic operator)
- ตัวดำเนินการกำหนดค่า (Assignment operator)
- ตัวดำเนินการแบบยูนารี (Unary opeator)
- ตัวดำเนินการเชิงตรรก (Logical operator) และ ตัวดำเนินการเปรียบเทียบ (Comparative operator)
- ตัวดำเนินการเงื่อนไข (Conditional Operator)
ต่อไปนี้จะกล่าวถึงตัวดำเนินการต่างๆ โดยละเอียด
ตัวดำเนินการคณิตศาสตร์ได้แก่
- + (การบวก)
- - (การลบ)
- * (การคูณ)
- / (การหาร)
- % (modulus หรือเศษที่ได้จากการหารเลขจำนวนเต็ม)
| นักศึกษาลองเขียนโปรแกรมคำนวณผลจากการดำเนินการหาร 10 / 3 = ? ในภาษาซี นั้น 10.0 / 3.0 จะไม่เท่ากับ 10 / 3 ลองทำดู |
ตัวดำเนินการกำหนดค่าเป็นตัวดำเนินการในการใส่ค่าตัวเลขแก่ตัวแปร เช่น
i = 6 ;
x = y = 6 ;
นอกจากนั้นยังมีตัวกำหนดค่าอื่นๆ อีก คือ
ตัวอย่างการใช้งานเช่น i +=3 มีความหมายเดียวกับ i = i + 3
| นักศึกษาลองเขียนโปรแกรมใช้งานตัวดำเนินการ += -= *= และ /= |
ตัวดำเนินการแบบยูนารีเป็นตัวดำเนินการที่ต้องการตัวถูกดำเนินการเพียงตัวเดียวเท่านั้น ได้แก่ ++ และ -- เช่น
i++ มีความหมายเดียวกันกับ i + 1
i-- มีความหมายเดียวกันกับ i - 1
ลำดับการใช้งานของตัวดำเนินการแบบยูนารีมีความสำคัญ เราสามารถวางตัวดำเนินการแบบยูนารีไว้ข้างหน้า หรือ ข้างหลัง ตัวถูกดำเนินการก็ได้ ซึ่งจะให้ผลแตกต่างกัน ลองเขียนโปรแกรมข้างล่างนี้
โปรแกรมที่ 1 ตัวดำเนินการยูนารี
# include <stdio.h>
main()
{
int i , j ;
int x, y ;
i = j = 1 ;
x = i-- + 1 ;
y = --j + 1 ;
printf("i = %d and j = %d \n",i,j) ;
printf("x = %d and y = %d \n",x,y) ;
return 0 ;
}
|