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

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

  • Upload
    -

  • View
    755

  • Download
    0

Embed Size (px)

DESCRIPTION

ghh

Citation preview

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 01

บิตซ้ายมือสุดตัดทิ้ง บิตขวามือสุดเติม 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