More Related Content
Similar to งานทำBlog บทที่ 4
Similar to งานทำBlog บทที่ 4 (20)
More from รัสนา สิงหปรีชา
More from รัสนา สิงหปรีชา (20)
งานทำBlog บทที่ 4
- 2. นิพจน์
(Expressions)
นิพจน์ (Expression) คือ ข้อความหรือประโยคที่เขียนอยู่
ในรูปสัญลักษณ์ โดยนาข้อมูล, ตัวแปร, ฟังก์ชัน หรือค่าคงที่ มา
สัมพันธ์กับตัวดาเนินการ (Operator) อย่างใดอย่างหนึ่ง สิ่งที่
ควรระลึกอยู่เสมอคือในการสร้างนิพจน์ 1 นิพจน์นั้นคือ นิพจน์
จะต้ อ งมี ตั ว ถู ก ระท า (Operand) อย่ า งน้ อ ยหนึ่ ง ตั ว และตั ว
ดาเนินการ (Operator) อย่างน้อยหนึ่งตัว
- 5. 1. ตัวดาเนินการกาหนดค่า (Assignment Operator)
ใช้สาหรับการกาหนดค่าให้กับตัวแปรทางด้านซ้ายของตัวดาเนินการ ในการ
กาหนดค่าของตัวดาเนินการแต่ละชนิด จะมีหลักการทางานที่แตกต่างกัน
ตัวดาเนินการ
ความหมาย
=
เท่ากับ : การนาค่าตัวถูกกระทาที่ได้จากด้านขวาของตัวดาเนินการ มา
ใส่ในตัวถูกกระทาทางด้านซ้ายของตัวดาเนินการ
+=
บวกเท่ากับ : การกาหนดค่าตัวถูกกระทาทางด้านซ้าย เท่ากับ ค่าตัว
ถูกกระทาด้านซ้าย บวกกับ ค่าตัวถูกกระทาด้านขวาของตัวดาเนินการ
-=
ลบเท่ากับ : การกาหนดค่าตัวถูกกระทาทางด้านซ้าย เท่ากับ ค่าตัวถูก
กระทาด้านซ้าย ลบกับ ค่าตัวถูกกระทาด้านขวาของตัวดาเนินการ
*=
คูณเท่ากับ : การกาหนดค่าตัวถูกกระทาทางด้านซ้าย เท่ากับ ค่าตัวถูก
กระทาด้านซ้าย คูณกับ ค่าตัวถูกกระทาด้านขวาของตัวดาเนินการ
- 6. 1. ตัวดาเนินการกาหนดค่า (Assignment Operator) (ต่อ)
ตัวดาเนินการ
ความหมาย
/=
หารเท่ากับ : การกาหนดค่าตัวถูกกระทาทางด้านซ้าย เท่ากับ ค่าตัว
ถูกกระทาด้านซ้าย หารกับ ค่าตัวถูกกระทาด้านขวาของตัวดาเนินการ
%=
หารเอาเศษเท่ากับ : การกาหนดค่าตัวถูกกระทาทางด้านซ้าย เท่ากับ
เศษเหลือจากการหารระหว่างค่ าตัวถูกกระทาด้ านซ้ายกับค่าตัวถู ก
กระทาด้านขวาของตัวดาเนินการ
- 7. 2. ตัวดาเนินการทางคณิตศาสตร์ (Arithmetic Operators)
ตัวดาเนิตั วการ น การทางคณิ ต ศาสตร์ ใ นการเขี ย นโปรแกรม จะมี ก ารท างาน
น ด าเนิ
ความหมาย
ตัวอย่าง
ผลลัพธ์
เหมือนกับการใช้ทางคณิตศาสตร์ทั่วไป โดยมีตวดาเนินการต่าง ๆ ดังนี้
ั
+
การบวก (Addition)
10 + 4
14
10 + 4.0
14.00
10.0 + 4
10.0 + 4.0
‘A’ + 2
67
-
การลบ (Subtraction)
10 – 4
10.0 – 4
10 – 4.0
10.0 – 4.0
6
6.00
- 8. 2. ตัวดาเนินการทางคณิตศาสตร์ (Arithmetic Operators) (ต่อ)
ตัวดาเนินการ
ความหมาย
*
การคูณ (Multiply)
การหารเอาเศษ
(Modulus)
ผลลัพธ์
40
40.00
-10 * -4
%
ตัวอย่าง
10 * 4
10 * 4.0
10.0 * 4
10.0 * 4.0
10 * -4
40
11%4
4%10
-11%4
3
4
-3
-40
- 10. 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
เมื่ อ ใส่ เครื่ อ งหมายลบหน้ า ตั ว แปรใด ๆ
ผลลัพธ์ที่ได้จะเป็นค่าตรงกันข้าม
- 11. 4. ตัวดาเนินการเปรียบเทียบ (Comparision Operators)
เป็นตัวดาเนินการสาหรับเปรียบเทียบข้อมูลระหว่างตัวถูกกระทาทางด้านซ้ายและ
ด้านขวา ผลลัพธ์ที่ได้จะมีค่าเป็นจริง (True) หรือเท็จ (False) เท่านั้น
ตัวดาเนินการ
==
!=
>
ตัวอย่าง
ความหมาย
เท่ากับ : เปรียบเทียบระหว่างตัวถูกกระทาด้านซ้ายกับ A = = B
ด้านขวาของตัวดาเนินการ ว่ามีค่าเท่ากันหรือไม่ ถ้าเท่ากันจะ
ให้ผลลัพธ์เป็นจริง ถ้าไม่เท่ากันจะให้ผลลัพธ์เป็นเท็จ
ไม่ เ ท่ า กั บ : เปรีย บเที ย บระหว่ า งตั ว ถู ก กระท าด้ า นซ้ า ยกั บ A ! = B
ด้ า นขวาของตั ว ด าเนิ น การ ว่ า มี ค่ า ไม่ เ ท่ า กั น หรื อ ไม่ ถ้ า ไม่
เท่ากันจะให้ผลลัพธ์เป็นจริง ถ้าเท่ากันจะให้ผลลัพธ์เป็นเท็จ
มากกว่า : เปรียบเทียบระหว่างตัวถูกกระทาด้านซ้ายมีค่า A > B
มากกว่าตัวถูกกระทาด้านขวาของตัวดาเนินการหรือไม่ ถ้า
มากกว่าจะให้ผลลัพธ์เป็นจริง ถ้าน้อยกว่าจะให้ผลลัพธ์เป็นเท็จ
- 12. 4. ตัวดาเนินการเปรียบเทียบ (Comparision Operators) (ต่อ)
ตัวอย่าง
ตัวดาเนินการ
ความหมาย
มากกว่าหรือเท่ากับ : เปรียบเทียบระหว่างตัวถูกกระทาด้านซ้ายมีค่า A > = B
>=
มากกว่ า หรื อ เท่ า กั บ ตั ว ถู ก กระท าด้ า นขวาของตั ว ด าเนิ น การ ถ้ า
มากกว่าหรือเท่ากับจะให้ผลลัพธ์เป็นจริง ถ้าไม่ใช่จะให้ผลลัพธ์เป็นเท็จ
<
น้อยกว่า : เปรียบเทียบระหว่างตัวถูกกระทาด้านซ้ายมีค่าน้อยกว่าตัว
ถูกกระทาด้านขวาของตัวดาเนินการหรือไม่ ถ้าน้อยกว่าจะให้ผลลัพธ์
เป็นจริง ถ้ามากกว่าจะให้ผลลัพธ์เป็นเท็จ
<=
น้อยกว่าหรือเท่ากับ : เปรียบเทียบระหว่างตัวถูกกระทาด้านซ้ายมีค่า A <= B
น้อยกว่าหรือเท่ากับตัวถูกกระทาด้านขวาของตัวดาเนินการ ถ้าน้อย
กว่าหรือเท่ากับจะให้ผลลัพธ์เป็นจริง ถ้าไม่ใช่จะให้ผลลัพธ์เป็นเท็จ
A<B
- 13. 5. ตัวดาเนินการตรรกะ (Logial Operators)
ตัวดาเนินการตรรกะ (Logial Operators) เป็นตัวดาเนินการทางด้าน
ตรรกศาสตร์ ใช้สาหรับกาหนดเงื่อนไขมากกว่า 1 เงื่อนไข ซึ่งผลลัพธ์ที่ได้จะมีค่า
เป็นจริง(True) หรือ เท็จ(False) เท่านั้น
ตัวดาเนินการ
&&
||
!
ความหมาย
ตัวอย่าง
และ : ใช้กาหนดเงื่อนไขในกรณีที่ต้องการให้เงื่อนไข (A>B) && A>C)
ของนิพจน์ด้านซ้ายและด้านขวาของตัวดาเนินเป็นจริง
ทั้งสองด้าน จึงทางานที่ต้องการ
หรือ : ใช้กาหนดเงื่อนไขในกรณีที่ต้องการให้เงื่อนไข (A>B) || (A>C)
ของนิพจน์และด้านขวาของตัวดาเนินการเป็นจริงด้าน
ใดด้านหนึ่งหรือทั้งสองด้าน จึงทางานที่ต้องการ
นิเสธ (not) : ใช้กาหนดเงื่อนไขในกรณีท่ต้องการค่า
ี
!(A < B)
ความจริงตรงกันข้าม
- 15. 6. ตัวดาเนินการแบบมีเงือนไข (Condition Operators)
่
ตัวดาเนินการชนิดนี้ใช้สาหรับตรวจสอบเงื่อนไขของนิพจน์ ว่า
มีความจริงเป็นจริง (True) หรือเท็จ (False) โดยมีรูปแบบการ
ใช้งานดังนี้
Expression ? ValueTrue : ValueFalse;
โดยที่ Expression คือ นิพจน์เงื่อนไข
ValueTrue คือ ค่าที่ได้กรณีที่เงื่อนไขเป็นจริง
ValueFalse คือ ค่าที่ได้กรณีเงื่อนไขเป็นเท็จ
- 16. 7. ตัวดาเนินการบอกขนาดชนิดข้อมูล (Sizeof Operators)
ตั ว ด าเนิ น การชนิ ด นี้ จ ะใช้ ส าหรั บ หาขนาดชนิ ด ของข้ อ มู ล ต่ า ง ๆ ที่
ต้องการรู้ โดยมีรูปแบบการใช้งานดังนี้
sizeof(Data)
โดยที่ sizeof คือ ตัวดาเนินการบอกขนาดชนิดข้อมูล
Data คือ ชนิดข้อมูลหรือตัวแปรที่ต้องการทราบขนาด
- 17. 8. ตัวดาเนินการระดับบิต (Bitwse Operators)
ในบางครั้งเราก็ต้องมีการประมวลผลในระดับบิต ซึ่งเป็นหน่วย
ข้อมูลที่เล็กที่สุด การทางานในระดับบิตนี้จะช่วยให้ CPU ทางาน
เร็วขึ้น เพราะว่า CPU ประมวลผลที่ชนิดข้อมูลที่เป็นบิตเท่านั้น
ซึ่งถ้าเป็นข้อมูลชนิดอื่น ๆ จะต้องแปลงข้อมูลให้เป็นบิตก่อน
บันทึก
บิต (Bit) เป็นหน่วยข้อมูลที่เล็กที่สุด โดยข้อมูลหนึ่งบิตจะมี
สถานะได้ 2 สถานะ คือ 0 (ปิด) หรือ 1 (เปิด) หรือเรียกอีก
อย่างว่า เลขฐานสอง
- 18. ตารางแสดงผลการทางานของตัวดาเนินการระดับบิต โดยกาหนดให้
p และ q เป็นตัวถูกดาเนินการระหว่างบิต
p q (Bitwise AND)
(Bitwise OR)
(Bitwise XOR)
p&q
p|q
p^q
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
• p & q หมายถึงให้ผลลัพธ์การเปรียบเทียบแบบ AND ระหว่าง p กับ q
• p | q หมายถึงให้ผลลัพธ์การเปรียบเทียบแบบ OR ระหว่าง p กับ q
• p ^ q หมายถึงให้ผลลัพธ์การเปรียบเทียบแบบ XOR ระหว่าง p กับ q
- 19. Bitwise Shift Left
Bitwise Shift Left (<<) เป็นตัวดาเนินการสาหรับเลื่อนค่าบิต
ไปทางซ้าย โดยมีหลักการทางาน ดังนี้
กาหนดให้ X เป็นตัวถูกดาเนินการ (อยู่ในรูปแบบเลขฐานสอง)
และ Y เป็นจานวนการ Shift โดยที่ X << Y หมายถึง เลื่อนบิต
ในตัวถูกดาเนินการ X ไปทางซ้าย Y บิต ผลลัพธ์ที่ได้จากการ
Shift Left จะได้เท่ากบผลคูณของ X กับ 2Y
1
1
1
0
1
…
1
0
1
0
1
0
1
0
…
0
1
0
0
บิตซ้ายมือสุดตัดทิ้ง
บิตขวามือสุดเติม 0
- 20. Bitwise Shift Right
Bitwise Shift Right (>>) เป็นตัวดาเนินการสาหรับเลื่อนค่าบิต
ไปทางขวา โดยมีหลักการทางาน ดังนี้
กาหนดให้ X เป็นตัวถูกดาเนินการ (อยู่ในรูปแบบเลขฐานสอง)
และ Y เป็นจานวนการ Shift โดยที่ X >> Y หมายถึง เลื่อนบิต
ในตัวถูกดาเนินการ X ไปทางขวา Y บิต ผลลัพธ์ที่ได้จากการ
Shift Right จะได้เท่ากับผลหารของ X กับ 2Y
1
1
0
1
…
1
0
1
0
0
0
1
0
…
0
1
0
1
บิตซ้ายมือสุดเติม 0
บิตขวามือตัดทิ้ง
0
- 21. One’s Complement ()
One’s Complement () เป็นตัวดาเนินการสาหรับปรับค่าของบิต
เป็นค่าตรงกันข้าม กล่าวคือปรบค่าบิต 1 เปลี่ยนเป็นค่าบิต 0 และ
ปรับค่าบิต 0 เปลี่ยนเป็นค่าบิต 1 ซึ่งเราสามารถสรุปได้ดังตาราง
ดังนี้
ค่าบิตเริ่มต้น (P)
1
0
ผลจากการทา One’s Complement (P)
0
1
- 32. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER