3.4 ตัวดำเนินการและนิพจน์

32
ตวดำเนินกำรและนิพจน์ (OPERATOR AND EXPRESSIONS)

Transcript of 3.4 ตัวดำเนินการและนิพจน์

Page 1: 3.4 ตัวดำเนินการและนิพจน์

ตัวด ำเนินกำรและนิพจน์

(OPERATOR AND EXPRESSIONS)

Page 2: 3.4 ตัวดำเนินการและนิพจน์

นิพจน์

(Expressions)

นิพจน์ (Expression) คือ ข้อควำมหรือประโยคที่เขียนอยู่

ในรูปสัญลักษณ์ โดยน ำข้อมูล, ตัวแปร, ฟังก์ชัน หรือค่ำคงที่ มำ

สัมพันธ์กับตัวด ำเนินกำร (Operator) อย่ำงใดอย่ำงหนึ่ง สิ่งที่

ควรระลึกอยู่เสมอคือในกำรสร้ำงนิพจน์ 1 นิพจน์น้ันคือ นิพจน์

จะต้องมีตัวถูกระท ำ (Operand) อย่ำงน้อยหนึ่งตัว และตัว

ด ำเนินกำร (Operator) อย่ำงน้อยหนึ่งตัว

Page 3: 3.4 ตัวดำเนินการและนิพจน์

นิพจน์

(Expressions)

ตัวอย่ำงกำรสร้ำงนิพจน์ โดยแสดงควำมสัมพันธ์ระหว่ำงตัวถูกกระท ำ ตัว

ด ำเนินกำรและนิพจน์ ดังนี้ เช่น

นิพจน์

C++ C + 1

ตวัถูกกระท ำตวัที่ 1 (ตวัแปร)

ค่ำคงที ่

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

A + B – (C + 2)

ตวัด ำเนินกำรที่ 1

ตวัถูกกระท ำตวัที่ 1 (ตวัแปร)

ตวัถูกกระท ำตวัที่ 2 (ตวัแปร)

ตวัด ำเนินกำรที่ 2

ตวัถูกกระท ำตวัที่ 3 (นิพจน์)

C + 2

ตวัถูกกระท ำตวัที่ 1 (ตวัแปร)

ค่ำคงที ่

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

Page 4: 3.4 ตัวดำเนินการและนิพจน์

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

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

ตัวด ำเนินกำรก ำหนดคำ่

(Assignment Operators)

ตัวด ำเนินกำรทำงคณิตศำสตร ์

(Arithmetic Operators) ตัวด ำเนินกำรเปรยีบเทยีบ

(Comparison Operators)

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

(Logical Operators)

ตัวด ำเนินกำรแบบมเีงื่อนไข

(Conditional Operators)

ตัวด ำเนินกำรระดบับติ

(Bitwise Operators)

ตัวด ำเนินกำรบอกขนำดชนดิของขอ้มูล

(Sizeof Operators)

ตัวด ำเนินกำรยนูำรี

(Unary Operators)

ในกำรเขียนโปรแกรมทุกครั้งนั้นจะต้องมีกำรประมวลผลเข้ำมำเกี่ยวข้องเสมอ

แล้วสิ่งที่ท ำให้เกิดกำรประมวลผลนั้นก็คือ ตัวด ำเนินกำร สำมำรถแบ่งออกเป็น

ประเภทต่ำง ๆ ได้ดังนี้

Page 5: 3.4 ตัวดำเนินการและนิพจน์

1. ตัวด ำเนนิกำรก ำหนดคำ่ (Assignment Operator)

ใช้ส ำหรับกำรก ำหนดค่ำให้กับตัวแปรทำงด้ำนซ้ำยของตัวด ำเนินกำร ในกำร

ก ำหนดค่ำของตัวด ำเนินกำรแต่ละชนิด จะมีหลกักำรท ำงำนที่แตกต่ำงกัน

ตัวด ำเนินกำร ควำมหมำย

= เท่ำกับ : กำรน ำค่ำตัวถูกกระท ำที่ได้จำกด้ำนขวำของตัวด ำเนินกำร มำ

ใส่ในตัวถูกกระท ำทำงด้ำนซ้ำยของตวัด ำเนินกำร

+= บวกเท่ำกับ : กำรก ำหนดค่ำตัวถูกกระท ำทำงด้ำนซ้ำย เท่ำกับ ค่ำตัว

ถูกกระท ำด้ำนซ้ำย บวกกับ ค่ำตัวถูกกระท ำด้ำนขวำของตวัด ำเนินกำร

-= ลบเท่ำกับ : กำรก ำหนดค่ำตัวถูกกระท ำทำงด้ำนซ้ำย เท่ำกับ ค่ำตัวถูก

กระท ำด้ำนซ้ำย ลบกบั ค่ำตวัถูกกระท ำด้ำนขวำของตวัด ำเนินกำร

*= คูณเท่ำกับ : กำรก ำหนดค่ำตัวถูกกระท ำทำงด้ำนซ้ำย เท่ำกับ ค่ำตวัถูก

กระท ำด้ำนซ้ำย คูณกับ ค่ำตัวถูกกระท ำด้ำนขวำของตวัด ำเนินกำร

Page 6: 3.4 ตัวดำเนินการและนิพจน์

1. ตัวด ำเนนิกำรก ำหนดคำ่ (Assignment Operator) (ต่อ)

ตัวด ำเนินกำร ควำมหมำย

/= หำรเท่ำกบั : กำรก ำหนดค่ำตัวถูกกระท ำทำงด้ำนซ้ำย เท่ำกับ ค่ำตัว

ถูกกระท ำด้ำนซ้ำย หำรกับ ค่ำตัวถูกกระท ำด้ำนขวำของตวัด ำเนินกำร

%= หำรเอำเศษเท่ำกบั : กำรก ำหนดค่ำตัวถูกกระท ำทำงด้ำนซ้ำย เท่ำกับ

เศษเหลือจำกกำรหำรระหว่ำงค่ำตัวถูกกระท ำด้ำนซ้ำยกับค่ำตัวถูก

กระท ำด้ำนขวำของตวัด ำเนินกำร

Page 7: 3.4 ตัวดำเนินการและนิพจน์

2. ตัวด ำเนนิกำรทำงคณติศำสตร ์(Arithmetic Operators)

ตัวด ำเนินกำรทำงคณิตศำสตร์ในกำรเขียนโปรแกรม จะมีกำรท ำงำน

เหมือนกับกำรใช้ทำงคณิตศำสตร์ทั่วไป โดยมีตวัด ำเนินกำรต่ำง ๆ ดังนี้

ตัวด ำเนนิกำร ควำมหมำย ตัวอยำ่ง ผลลัพธ ์

+ กำรบวก (Addition) 10 + 4 14

10 + 4.0

10.0 + 4

10.0 + 4.0

14.00

‘A’ + 2 67

- กำรลบ (Subtraction) 10 – 4 6

10.0 – 4

10 – 4.0

10.0 – 4.0

6.00

Page 8: 3.4 ตัวดำเนินการและนิพจน์

2. ตัวด ำเนนิกำรทำงคณติศำสตร ์(Arithmetic Operators) (ต่อ)

ตัวด ำเนนิกำร ควำมหมำย ตัวอยำ่ง ผลลัพธ ์

* กำรคูณ (Multiply) 10 * 4 40

10 * 4.0

10.0 * 4

10.0 * 4.0

40.00

10 * -4 -40

-10 * -4 40

% กำรหำรเอำเศษ

(Modulus)

11%4 3

4%10 4

-11%4 -3

Page 9: 3.4 ตัวดำเนินการและนิพจน์

2. ตัวด ำเนนิกำรทำงคณติศำสตร ์(Arithmetic Operators) (ต่อ)

ตัวด ำเนนิกำร ควำมหมำย ตัวอยำ่ง ผลลัพธ ์

/ กำรหำร (Divide) 10 / 4 2

10.0 / 4

10 / 4.0

10.0 / 4.0

2.50

-11/4 -2

11/-4 -2

-11/-4 2

Page 10: 3.4 ตัวดำเนินการและนิพจน์

3. ตัวด ำเนนิกำรยูนำร ี(Unary Operators)

ตัวด ำเนนิกำร ควำมหมำย รูปแบบ ตัวอยำ่ง กำรท ำงำน ข้อสงัเกต

++ เพิ่มค่ำหนึ่งค่ำ

ให้กับตัวแปร

Postfix X = A++ X = A

A = A + 1

จะก ำหนดค่ำให้กับตัวแปร X

ก่อนเพิ่มค่ำให้กับตัวแปร A

Prefix X= ++A A = A + 1

X = A

จะเพิ่มค่ำให้กับตัวแปร A

ก่อนก ำหนดค่ำให้กบัตวัแปร X

- - ลดค่ำลงหนึ่งค่ำ

ให้กบัตัวแปร

Postfix X = A-- X = A

A = A - 1

จะก ำหนดค่ำให้กับตัวแปร X

ก่อนลดค่ำให้กับตัวแปร A

Prefix X = --A A = A - 1

X = A

จะลดค่ำให้กับตัวแปร A

ก่อนก ำหนดค่ำให้กบัตวัแปร X

+ บวก (plus) Prefix A = +2 ค่ำตัวแปร A

จะมีค่ำเท่ำกับ 2

กรณีเป็นค่ำบวกจะใส่เครื่องหมำย +

หรือไม่ก็ได้ เพรำะกรณีไม่ใส่เครื่องหมำย

คอมไพเลอร์จะมองค่ำนั้นเป็นบวกเสมอ

- ลบ (minus) Prefix A = -2 ค่ำตัวแปร A

จะมีค่ำเท่ำ -2

เครื่องหมำยลบหน้ำตวัเลขแสดงถึงค่ำเป็น

จ ำนวนลบ

A = -2

A = -A

A = -2

A = 2

เมื่อใส่เครื่องหมำยลบหน้ำตัวแปรใด ๆ

ผลลัพธ์ที่ได้จะเป็นค่ำตรงกันข้ำม

Page 11: 3.4 ตัวดำเนินการและนิพจน์

4. ตัวด ำเนนิกำรเปรียบเทียบ (Comparision Operators)

เป็นตัวด ำเนินกำรส ำหรับเปรียบเทียบข้อมูลระหว่ำงตัวถูกกระท ำทำงด้ำนซ้ำยและ

ด้ำนขวำ ผลลัพธ์ที่ได้จะมีค่ำเป็นจริง (True) หรือเท็จ (False) เท่ำนั้น

ตัวด ำเนนิกำร ควำมหมำย ตัวอย่ำง

= =

เท่ำกับ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยกับ

ด้ำนขวำของตัวด ำเนินกำร ว่ำมีค่ำเท่ำกันหรือไม่ ถ้ำเท่ำกันจะ

ให้ผลลพัธ์เป็นจริง ถ้ำไม่เท่ำกันจะให้ผลลัพธ์เป็นเท็จ

A = = B

! = ไม่เท่ำกับ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยกับ

ด้ำนขวำของตัวด ำเนินกำร ว่ำมีค่ำไม่เท่ำกันหรือไม่ ถ้ำไม่

เท่ำกันจะให้ผลลพัธ์เป็นจริง ถ้ำเท่ำกันจะให้ผลลพัธ์เป็นเท็จ

A ! = B

> มำกกว่ำ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยมีค่ำ

มำกกว่ำตัวถูกกระท ำด้ำนขวำของตัวด ำเนินกำรหรือไม่ ถ้ำ

มำกกว่ำจะให้ผลลพัธ์เป็นจริง ถ้ำน้อยกว่ำจะให้ผลลัพธ์เป็นเท็จ

A > B

Page 12: 3.4 ตัวดำเนินการและนิพจน์

4. ตัวด ำเนนิกำรเปรยีบเทียบ (Comparision Operators) (ต่อ)

ตัวด ำเนนิกำร ควำมหมำย ตัวอย่ำง

> = มำกกว่ำหรือเท่ำกับ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยมีค่ำ

มำกกว่ำหรือเท่ำกับตัวถูกกระท ำด้ำนขวำของตัวด ำเนินกำร ถ้ำ

มำกกว่ำหรือเท่ำกับจะให้ผลลัพธ์เป็นจริง ถ้ำไม่ใช่จะให้ผลลัพธ์เป็นเท็จ

A > = B

< น้อยกว่ำ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยมีค่ำน้อยกว่ำตัว

ถูกกระท ำด้ำนขวำของตัวด ำเนินกำรหรือไม่ ถ้ำน้อยกว่ำจะให้ผลลัพธ์

เป็นจริง ถ้ำมำกกว่ำจะให้ผลลัพธ์เป็นเท็จ

A < B

<= น้อยกว่ำหรือเท่ำกับ : เปรียบเทียบระหว่ำงตัวถูกกระท ำด้ำนซ้ำยมีค่ำ

น้อยกว่ำหรือเท่ำกับตัวถูกกระท ำด้ำนขวำของตัวด ำเนินกำร ถ้ำน้อย

กว่ำหรือเท่ำกับจะให้ผลลัพธ์เป็นจริง ถ้ำไม่ใช่จะให้ผลลัพธ์เป็นเท็จ

A <= B

Page 13: 3.4 ตัวดำเนินการและนิพจน์

5. ตัวด ำเนนิกำรตรรกะ (Logial Operators)

ตัวด ำเนินกำรตรรกะ (Logial Operators) เป็นตัวด ำเนินกำรทำงด้ำน

ตรรกศำสตร์ ใช้ส ำหรับก ำหนดเงื่อนไขมำกกว่ำ 1 เงื่อนไข ซึ่งผลลัพธ์ที่ได้จะมีค่ำ

เป็นจริง(True) หรือ เท็จ(False) เท่ำนั้น

ตัวด ำเนนิกำร ควำมหมำย ตัวอย่ำง

&& และ : ใช้ก ำหนดเงื่อนไขในกรณีที่ต้องกำรให้เงื่อนไข

ของนิพจน์ด้ำนซ้ำยและด้ำนขวำของตัวด ำเนินเป็นจริง

ทั้งสองด้ำน จึงท ำงำนที่ต้องกำร

(A>B) && A>C)

|| หรือ : ใช้ก ำหนดเงื่อนไขในกรณทีี่ต้องกำรให้เงื่อนไข

ของนิพจน์และด้ำนขวำของตวัด ำเนินกำรเป็นจริงด้ำน

ใดด้ำนหนึ่งหรอืทั้งสองด้ำน จึงท ำงำนที่ต้องกำร

(A>B) || (A>C)

! นิเสธ (not) : ใช้ก ำหนดเงื่อนไขในกรณีที่ต้องกำรค่ำ

ควำมจริงตรงกนัข้ำม

!(A < B)

Page 14: 3.4 ตัวดำเนินการและนิพจน์

p q p && q p || q !p !q

จริง จริง จริง จริง เท็จ เท็จ

จริง เท็จ เท็จ จริง เท็จ จริง

เท็จ จริง เท็จ จริง จริง เท็จ

เท็จ เท็จ เท็จ เท็จ จริง จริง

ตำรำงเปรียบเทียบค่ำควำมจริงของนิพจน์ โดยก ำหนดให้ p และ q เป็นตัวถูก

ด ำเนินกำรทำงตรรกศำสตร์

Page 15: 3.4 ตัวดำเนินการและนิพจน์

ตัวด ำเนินกำรชนิดนี้ใช้ส ำหรับตรวจสอบเงื่อนไขของนิพจน์ ว่ำ

มีควำมจริงเป็นจริง (True) หรือเท็จ (False) โดยมีรูปแบบกำร

ใช้งำนดังนี้

โดยที ่ Expression คือ นิพจน์เงื่อนไข

ValueTrue คือ ค่ำที่ได้กรณีที่เงื่อนไขเป็นจริง

ValueFalse คือ ค่ำที่ได้กรณีเงื่อนไขเป็นเท็จ

6. ตัวด ำเนนิกำรแบบมเีงือ่นไข (Condition Operators)

Expression ? ValueTrue : ValueFalse;

Page 16: 3.4 ตัวดำเนินการและนิพจน์

ตัวด ำเนินกำรชนิดนี้จะใช้ส ำหรับหำขนำดชนิดของข้อมูลต่ำง ๆ ที่

ต้องกำรรู้ โดยมีรูปแบบกำรใช้งำนดังนี้

7. ตัวด ำเนนิกำรบอกขนำดชนดิข้อมลู (Sizeof Operators)

sizeof(Data)

โดยที ่ sizeof คือ ตัวด ำเนินกำรบอกขนำดชนิดข้อมูล

Data คือ ชนิดข้อมูลหรือตัวแปรที่ต้องกำรทรำบขนำด

Page 17: 3.4 ตัวดำเนินการและนิพจน์

ในบำงครั้งเรำก็ต้องมีกำรประมวลผลในระดับบิต ซึ่งเป็นหน่วย

ข้อมูลที่เล็กที่สุด กำรท ำงำนในระดับบิตนี้จะช่วยให้ CPU ท ำงำน

เร็วขึ้น เพรำะว่ำ CPU ประมวลผลที่ชนิดข้อมูลที่เป็นบิตเท่ำนั้น

ซึ่งถ้ำเป็นข้อมูลชนิดอ่ืน ๆ จะต้องแปลงข้อมูลให้เป็นบิตก่อน

บันทึก

บิต (Bit) เป็นหน่วยข้อมูลที่เล็กที่สุด โดยข้อมูลหนึ่งบิตจะมี

สถำนะได้ 2 สถำนะ คือ 0 (ปิด) หรือ 1 (เปิด) หรือเรียกอีก

อย่ำงว่ำ เลขฐำนสอง

8. ตัวด ำเนนิกำรระดับบติ (Bitwse Operators)

Page 18: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงผลกำรท ำงำนของตัวด ำเนินกำรระดับบิต โดยก ำหนดให้

p และ q เป็นตัวถูกด ำเนินกำรระหว่ำงบิต

p q (Bitwise AND)

p & q

(Bitwise OR)

p | q

(Bitwise XOR)

p ^ q

0 0 0 0 0

0 1 0 1 1

1 0 0 1 1

1 1 1 1 0

• p & q หมำยถึงให้ผลลัพธ์กำรเปรียบเทียบแบบ AND ระหว่ำง p กับ q

• p | q หมำยถึงให้ผลลัพธ์กำรเปรียบเทียบแบบ OR ระหว่ำง p กับ q

• p ^ q หมำยถึงให้ผลลัพธ์กำรเปรียบเทยีบแบบ XOR ระหว่ำง p กับ q

Page 19: 3.4 ตัวดำเนินการและนิพจน์

Bitwise Shift Left (<<) เป็นตัวด ำเนินกำรส ำหรับเลื่อนค่ำบิต

ไปทำงซ้ำย โดยมีหลักกำรท ำงำน ดังนี้

ก ำหนดให้ X เป็นตัวถูกด ำเนินกำร (อยู่ในรูปแบบเลขฐำนสอง)

และ Y เป็นจ ำนวนกำร Shift โดยที่ X << Y หมำยถึง เลื่อนบิต

ในตัวถูกด ำเนินกำร X ไปทำงซ้ำย Y บิต ผลลัพธ์ที่ได้จำกกำร

Shift Left จะได้เท่ำกบผลคูณของ X กับ 2Y

Bitwise Shift Left

1 1 0 1 … 1 0 1 0

1 0 1 0 … 0 1 0 0 1

บิตซ้ำยมือสุดตัดทิ้ง บิตขวำมือสุดเติม 0

Page 20: 3.4 ตัวดำเนินการและนิพจน์

Bitwise Shift Right (>>) เป็นตัวด ำเนินกำรส ำหรับเลื่อนค่ำบิต

ไปทำงขวำ โดยมีหลักกำรท ำงำน ดังนี้

ก ำหนดให้ X เป็นตัวถูกด ำเนินกำร (อยู่ในรูปแบบเลขฐำนสอง)

และ Y เป็นจ ำนวนกำร Shift โดยที่ X >> Y หมำยถึง เลื่อนบิต

ในตัวถูกด ำเนินกำร X ไปทำงขวำ Y บิต ผลลัพธ์ที่ได้จำกกำร

Shift Right จะได้เท่ำกับผลหำรของ X กับ 2Y

Bitwise Shift Right

1 1 0 1 … 1 0 1 0

0 0 1 0 … 0 1 0 1

บิตซ้ำยมือสุดเติม 0 บิตขวำมือตัดทิ้ง

0

Page 21: 3.4 ตัวดำเนินการและนิพจน์

One’s Complement ()

One’s Complement () เป็นตัวด ำเนินกำรส ำหรับปรับค่ำของบิต

เป็นค่ำตรงกันข้ำม กล่ำวคือปรบค่ำบิต 1 เปลี่ยนเป็นค่ำบิต 0 และ

ปรับค่ำบิต 0 เปลี่ยนเป็นค่ำบิต 1 ซึ่งเรำสำมำรถสรุปได้ดังตำรำง

ดังนี ้

ค่ำบิตเริ่มต้น (P) ผลจำกกำรท ำ One’s Complement (P)

1 0

0 1

Page 22: 3.4 ตัวดำเนินการและนิพจน์

ล ำดับควำมส ำคัญของตัวด ำเนนิกำร

(Operator of Precedence)

ในกำรท ำงำนของตัวด ำเนินกำร (Operator) แต่

ละตัวนั้น ล ำดับกำรท ำงำนจะขึ้นอยู่กับล ำดับควำมส ำคัญ

(Precedence) ของตัวด ำเนินกำรนั้น ๆ ด้วย กำรท ำงำน

จะเริ่มจำกล ำดับควำมส ำคัญสูงไปยังต่ ำ

*จำกตำรำงที่จะแสดงต่อไปนั้น ล ำดับควำมส ำคัญที่ 1 จะ

มีควำมส ำคัญสูงสุด และล ำดับควำมส ำคัญที่ 18 จะมี

ควำมส ำคัญต่ ำสุด

Page 23: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่ม

จำก

(Associativity)

1 ( ) วงเล็บ (Identifier) ไม่ได้ก ำหนด

(N/A)

2 ( ) ฟังก์ชัน (Function) ซ้ำยไปขวำ

(Left) [ ] อำร์เรย์ (Array)

Structure Selection

Structure Member

Page 24: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

3 ++ เพิ่มค่ำขึ้นอีกหนึ่งค่ำ โดยตัว

ด ำ เนิ นกำรอยู่ ห ลั ง ตั วถู ก

กระท ำ (Postfix Increment)

ซ้ำยไปขวำ

(Left)

-- ลดค่ำลงอีกหนึ่งค่ำ โดยตัว

ด ำ เนิ นกำรอยู่ ห ลั ง ตั วถู ก

กระท ำ (Postfix Decrement)

Page 25: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่ม

จำก

(Associativity)

4 ++ เพิ่มค่ำขึ้นอีกหนึ่งค่ำ โดยตัว

ด ำ เนิ นกำรอยู่ หน้ ำ ตั ว ถู ก

กระท ำ (Prefix Increment)

ขวำไปซ้ำย

(Left)

-- ลดค่ำลงอีกหนึ่งค่ำ โดยตัว

ด ำ เนิ นกำรอยู่ หน้ ำ ตั ว ถู ก

กระท ำ (Prefix Decrement)

Page 26: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

4

(ต่อ)

sizeof หำขนำดชนิดข้อมูล

(Size of Object in byte)

ซ้ำยไปขวำ

(Left)

+ บวก (plus)

- ลบ (minus)

! ตรรกะนิเสธ (not)

& ชี้ ที่ อ ยู่ ใ น ห น่ ว ย ค ว ำ ม จ ำ

(Address)

Page 27: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

4

(ต่อ)

* ตัวชี้พอยเตอร์ (Indirection) ซ้ำยไปขวำ

(Left)

วันคอมพลเีมนต์

(One’s Complement)

5 ( ) แปลงค่ำชนิดข้อมูล

6 * คูณ (Multiply) ซ้ำยไปขวำ

/ หำร (Divide)

% หำรเอำเศษ (Modulus)

Page 28: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

7 + บวกเพิ่มค่ำ (Addition) ซ้ำยไปขวำ

- ลบลดค่ำ (Subtraction)

8 << เลื่อนบิตไปทำงซ้ำย

(Bit Left)

>> เลื่อนบิตไปทำงขวำ

(Bit Right)

9 > เปรียบเทียบมำกกว่ำ

< เปรียบเทียบน้อยกว่ำ

Page 29: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

9

(ต่อ)

>= เปรียบเทียบมำกกว่ำเท่ำกับ ซ้ำยไปขวำ

<= เปรียบเทียบน้อยกว่ำเท่ำกับ

10 == เปรียบเทียบเท่ำกับ

!= เปรียบเทียบไม่เท่ำกับ

11 & กำรกระท ำบิต AND

(bitwise AND)

12 ^ กำรกระท ำบิต XOR

(bitwise exclusive OR)

Page 30: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

13 l กำรกระท ำบิต OR (bitwise

OR)

ซ้ำยไปขวำ

14 && ตรรกะ AND (Logical AND)

15 Ll ตรรกะ OR (Logical OR)

16 ? : เงื่อนไข (Conditional) ขวำไปซ้ำย

17 = += -=

*= /= %=

ก ำหนดค่ำให้ตัวถูกกระท ำ

(Assignment)

>>= <<=

&= ^= l=

ก ำหนดค่ำระดับบิต

(Bit Assignment)

Page 31: 3.4 ตัวดำเนินการและนิพจน์

ตำรำงแสดงล ำดับควำมส ำคญัของตัวด ำเนนิกำร (ต่อ)

ล ำดับ

ควำมส ำคญั ตัวด ำเนินกำร ควำมหมำย

กำรท ำงำนเริ่มจำก

(Associativity)

18 , คอมมำ (Comma) ซ้ำยไปขวำ

Page 32: 3.4 ตัวดำเนินการและนิพจน์

ที่มำ : คู่มืออบรมครูวิทยำศำสตร์ คณิตศำสตร์ คอมพิวเตอร์ โลก ดำรำศำสตร์ และอวกำศ ระดับมัธยมศึกษำตอนปลำย

หนังสือเรียนรำยวิชำเพิ่มเติม กำรเขียนโปรแกรมเบื้องต้นด้วยภำษำ C บริษทซัคเซสมีเดีย

คู่มือเรียนเขียนโปรแกรมภำษำ ส ำนักพิมพ์ IDC PREMIER