วันอังคารที่ 15 พฤศจิกายน พ.ศ. 2554
วันจันทร์ที่ 14 พฤศจิกายน พ.ศ. 2554
นิพจน์ในภาษาซี
นิพจน์เป็นองค์ประกอบพื้นฐาน ที่สร้างประโยคเชิงซ้อนในภาษาซี ขึ้นมา นิพจน์ประกอบไปด้วยตัวแปรและตัวดำเนินการ ภาษาซีมีตัวดำเนินการหลายประเภทเพื่อทำหน้าที่แตกต่างกัน ได้แก่
นิพจน์เป็นองค์ประกอบพื้นฐาน ที่สร้างประโยคเชิงซ้อนในภาษาซี ขึ้นมา นิพจน์ประกอบไปด้วยตัวแปรและตัวดำเนินการ ภาษาซีมีตัวดำเนินการหลายประเภทเพื่อทำหน้าที่แตกต่างกัน ได้แก่
- ตัวดำเนินการคณิตศาสตร์ (Arithmetic operator)
- ตัวดำเนินการกำหนดค่า (Assignment operator)
- ตัวดำเนินการแบบยูนารี (Unary opeator)
- ตัวดำเนินการเชิงตรรก (Logical operator) และ ตัวดำเนินการเปรียบเทียบ (Comparative operator)
- ตัวดำเนินการเงื่อนไข (Conditional Operator)
ต่อไปนี้จะกล่าวถึงตัวดำเนินการต่างๆ โดยละเอียด
ตัวดำเนินการคณิตศาสตร์
ได้แก่
ได้แก่
- + (การบวก)
- - (การลบ)
- * (การคูณ)
- / (การหาร)
- % (modulus หรือเศษที่ได้จากการหารเลขจำนวนเต็ม)
ตัวดำเนินการกำหนดค่า
เป็นตัวดำเนินการในการใส่ค่าตัวเลขแก่ตัวแปร เช่น
เป็นตัวดำเนินการในการใส่ค่าตัวเลขแก่ตัวแปร เช่น
i = 6 ;
x = y = 6 ;
นอกจากนั้นยังมีตัวกำหนดค่าอื่นๆ อีก คือ
- +=
- -=
- *=
- /=
- %=
ตัวอย่างการใช้งานเช่น i +=3 มีความหมายเดียวกับ i = i + 3
ตัวดำเนินการแบบยูนารี
เป็นตัวดำเนินการที่ต้องการตัวถูกดำเนินการเพียงตัวเดียวเท่านั้น ได้แก่ ++ และ -- เช่น
เป็นตัวดำเนินการที่ต้องการตัวถูกดำเนินการเพียงตัวเดียวเท่านั้น ได้แก่ ++ และ -- เช่น
i++ มีความหมายเดียวกันกับ i + 1
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 ; } |
ตัวดำเนินการเชิงตรรก และ ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการเปรียบเทียบใช้เพื่อเปรียบเทียบค่าสองค่า เพื่อให้ผลเป็นค่าตรรกะคือ จริง หรือ เท็จ โดยผลจากการดำเนินการจะเป็นเลขจำนวนเต็ม คือ หากได้ 1 หมายถึง จริง และ 0 หมายถึง เท็จ ตัวดำเนินการเปรียบเทียบก็ได้แก่
ตัวดำเนินการเปรียบเทียบใช้เพื่อเปรียบเทียบค่าสองค่า เพื่อให้ผลเป็นค่าตรรกะคือ จริง หรือ เท็จ โดยผลจากการดำเนินการจะเป็นเลขจำนวนเต็ม คือ หากได้ 1 หมายถึง จริง และ 0 หมายถึง เท็จ ตัวดำเนินการเปรียบเทียบก็ได้แก่
- < (น้อยกว่า)
- > (มากกว่า)
- <= (น้อยกว่าหรือเท่ากับ)
- >= (มากกว่าหรือเท่ากับ)
- == (เท่ากับ)
- != (ไม่เท่ากับ)
จงลองเขียนโปรแกรมข้างล่างนี้ เพื่อทดสอบการใช้งานตัวดำเนินการเปรียบเทียบ
โปรแกรมที่ 2 การใช้งานตัวดำเนินการเปรียบเทียบ # include <stdio.h> main() { int i = 1 , j = 2 , k = 3 ; printf(" The value of i < j is %d \n", i < j) ; printf(" The value of (k-i) > j is %d \n",(k-i) > j) ; printf(" The value of (i+j)==k is %d \n", (i+j)==k) ; } |
ตัวดำเนินการเชิงตรรกในภาษาซีมีอยู่ 3 ตัวได้แก่
- && (และ)
- || (หรือ)
- ! (ไม่ใช่)
โปรแกรมที่ 3 การใช้งานตัวดำเนินการเปรียบเทียบและตัวดำเนินการเชิงตรรก # include <stdio.h> main( ) { int i = 1 , j =2 , k = 3 ; printf("The value of (j > i) && (k > i) is %d \n",(j > i) && (k > i)) ; printf("The value of (j > i) || (k > i) is %d \n", (j > i) || (k > i)) ; printf("The value of !(j > i) && (k > i) is %d \n", (j > i) && (k > i)) ; printf("The value of !(j > i) || (k > i) is %d \n", !(j > i) || (k > i)) ; return 0 ; } |
สมัครสมาชิก:
บทความ (Atom)