นักศึกษาลองเขียนโปรแกรมคำนวณผลจากการดำเนินการหาร 10 / 3 = ? ในภาษาซี นั้น 10.0 / 3.0 จะไม่เท่ากับ 10 / 3 ลองทำดู |
i = 6 ; x = y = 6 ;นอกจากนั้นยังมีตัวกำหนดค่าอื่นๆ อีก คือ
นักศึกษาลองเขียนโปรแกรมใช้งานตัวดำเนินการ += -= *= และ /= |
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 ; } |
โปรแกรมที่ 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 ; } |