หน้าแรก:คำแนะนำและวิธีการใช้งานบทเรียน
ขอบข่ายเนื้อหา
เรื่องที่ 1 ขั้นตอนการพัฒนาโปรแกรม
เรื่องที่ 2 การวิเคราะห์ปัญหา
เรื่องที่ 3 ผังงาน
เรื่องที่ 4 ลักษณะโครงสร้างผังงาน
เรื่องที่ 5 ซูโดโค้ด
เรื่องที่ 6 ภาษาคอมพิวเตอร์
เรื่องที่ 7 โครงสร้างโปรแกรมภาษาซี
เรื่องที่ 8 การติดตั้งโปรแกรมภาษาซี
เรื่องที่ 9 ตัวแปรภาษาซี
เรื่องที่ 10  ตัวดำเนินการในภาษาซี

 

แหล่งเรียนรู้เพิ่มเติม
ผู้จัดทำ
 
 
 
 
 
 
 

 


 

                  มีความรู้ความเข้าใจเกี่ยวกับตัวดำเนินการในภาษาซี การแปลงนิพจน์ทางคณิตศาสตร์เป็นนิพจน์ภาษาซี

 

 


   10.1 ตัวคำนวณทางคณิตศาสตร์

 

   10.2 ตัวคำนวณทางตรรกะ

 

   10.3 ตัวคำนวณเปรียบเทียบ

   10.4 นิพจน์

 

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

               ตัวดำเนินการ(Operator) ในการเขียนโปรแกรมภาษาซี มีอยู่ 3 ประเภทใหญ่ ๆ ดังนี้

                1)  ตัวคำนวณทางคณิตศาสตร์ (arithmetic operators)
                2)  ตัวดำเนินการทางตรรกะ (logical operator)
                3)  ตัวดำเนินการเปรียบเทียบ (relational operator)

                ซึ่งการดำเนินการแต่ละประเภทจะมีเครื่องหมายที่ต้องใช้เพื่อเขียนคำสั่ง สำหรับการดำเนินการประเภทนั้น ๆ ดังรายละเอียด

               ตัวคำนวณทางคณิตศาสตร์ (arithmetic operators)

                   เป็นตัวดำเนินการทางคณิตศาสตร์ ได้แก่ เครื่องหมายที่ใช้ในการบวก ลบ คูร หาร ตัวเลข และอื่น ๆ ดังตาราง

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

ความหมาย

ตัวอย่าง

+

การบวก

X + Y

-

การลบ

X - Y

*

การคูณ

X * Y

/

การหาร

X / Y

%

การหารจะเอาเฉพาะเศษไว้

11%3=3 เศษ 2 ดังนั้น 2 เป็นผลลัพธ์

- -

การลดค่าลงครั้งละ 1

X-- หรือ --X เหมือนกับ X=X-1

++

การเพิ่มค่าครั้งละ 1

X++ หรือ ++X เหมือนกับ X=X+1

ตารางแสดงตัวดำเนินการของภาษาซี

 

                   ขั้นตอนการทำงานของตัวดำเนินการในซี

                     ในบางครั้งนิพจน์ประกอบด้วยตัวดำเนินการมากมาย ทำให้เกิดความยุ่งยากในการพิจารณาขั้นตอนการทำงานของตัวดำเนินการ จึงได้ตั้งกฎเกี่ยวกับลำดับการทำงานก่อนหลังของตัวดำเนินการ (Operator) ดังตาราง

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

ตัวอย่าง

( )

1 (สูงสุด)

++   --   unary

2

*    /    %

3

+   -

4

+=     -=     *=     =     /=     %=

5 (ต่ำสุด)

ตารางแสดงลำดับการทำงานของตัวดำเนินการ

 

                       ตัวดำเนินการที่มีความสำคัญอยู่ในระดับเดียวกัน ให้ทำงานตามขั้นตอนจากซ้ายไปขวาเป็นหลัก  ดังตัวอย่างในตาราง

     ตัวอย่าง

     5 + 6 * 2

     ตัวดำเนินการ  *  อยู่ลำดับสูงกว่า  +  จึงต้องคูณเลข
      ก่อนแล้วบวก 5 ภายหลัง

     2  *  3  -  14/7  +  5

     ตัวดำเนินการ  *  และ  /  อยู่ลำดับเดียวกัน ให้ทำจาก
      ซ้ายไปขวา คือ คูณเลข แล้วหารเลข

 

     ตัวดำเนินการ  -  และ  +  อยู่ลำดับเดียวกัน ทำจาก
      ซ้ายมือก่อน คือ ลบเลข แล้วจึงบวกเลขในภายหลัง

ตารางแสดงลำดับการทำงานของตัวดำเนินการ


               ตัวคำนวณทางตรรกะ (logical operators)

                   เครื่องหมายรรกะ มีจุดประสงค์ใช้ในการเปรียบเทียบเพื่อตัดสินใจ   

                   เครื่องหมายตรรกะที่ใช้ในภาษาซี  มีดังนี้

เครื่องหมาย

ความหมาย

ตัวอย่าง

&&

และ

 x < 60 && x > 50  กำหนดให้  x  มีค่าในช่วง 50 ถึง 60

||

หรือ

 x = = 10 || x = = 15 กำหนดให้ x มีค่าเท่ากับตัวเลข 2 ค่า
 คือ  10  หรือ  15

!

ไม่

 x = 10  !x  กำหนดให้  x  ไม่เท่ากับ  10

 

                 ตัวคำนวณเปรียบเทียบ (relational operators)

                   ใช้เปรียบเทียบค่า 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


 

 นิพจน์ (Expression)

               นิพจน์(Expression) คือ  การนำตัวแปร ค่าคงที่ และตัวดำเนินการมาเขียนประกอบกัน โดยใช้เครื่องหมายอย่างใดอย่างหนึ่งเป็นตัวเชื่อม และเพื่อให้ตัวแปรภาษาสามารถเข้าใจและคำนวณหาผลลัพธ์ได้ตามที่เราต้องการ โดยมีกฎเกณฑ์ทั่ว ๆ ไปในการเขียนนิพจน์ของภาษาซี มีดังนี้

               1)  เขียนตัวอักษรหลายตัวติดกันได้โดยไม่มีเครื่องหมายคั่น เช่น  XY ถือเป็น 1 ตัวแปร
               2)  กรณีนิพจน์มีค่าของตัวแปรหรือค่าคงที่ต่างชนิดกันในนิพจน์เดียวกัน กลไกของภาษาซี จะเปลี่ยนชนิดของข้อมูลที่มีขนาดเล็กให้เป็นชนิดของข้อมูลที่ใหญ่ขึ้น ดังนั้นจึงควรระวังในการตั้งตัวแปรเพื่อเก็บผลลัพธ์ที่ได้จากการดำเนินการของนิพจน์มีค่าของตัวแปรหรือค่าคงที่ต่างชนิดกัน ซึ่งตัวแปรที่ตั้งขึ้น ควรเป็นชนิดของข้อมูลที่ใหญ่ที่สุดในนิพจน์นั้น ดังตัวอย่าง

                   หากนิพจน์มี  int  กับ  long  กลไกของภาษาซีจะเปลี่ยนชนิดของข้อมูลเป็น  long
                   หากนิพจน์มี  int  กับ  double กลไกของภาษาซีจะเปลี่ยนชนิดของข้อมูลเป็น  double

         ตัวอย่างนิพจน์

นิพจน์ทางคณิตศาสตร์ตามปกติ

นิพจน์ทางคณิตศาสตร์ในภาษาซี

x + y - z

x + y - z

2xy + 4z

2 * x * y + 4 * z

x2 + 2x + 1

x * x + 2 * x + 1

2r

2 * r

(a - b) / (c - d)

b - 4ac

b * b - 4 * a * c

x * x / (x * y + 2)