More Related Content Similar to 3.4 ตัวดำเนินการและนิพจน์
Similar to 3.4 ตัวดำเนินการและนิพจน์ (20) More from รัสนา สิงหปรีชา
More from รัสนา สิงหปรีชา (20) 3.4 ตัวดำเนินการและนิพจน์2. นิพจน์
(Expressions)
นิพจน์ (Expression) คือ ข้อควำมหรือประโยคที่เขียนอยู่
ในรูปสัญลักษณ์ โดยนำข้อมูล, ตัวแปร, ฟังก์ชัน หรือค่ำคงที่ มำ
สัมพันธ์กับตัวดำเนินกำร (Operator) อย่ำงใดอย่ำงหนึ่ง สิ่งที่
ควรระลึกอยู่เสมอคือในกำรสร้ำงนิพจน์ 1 นิพจน์นั้นคือ นิพจน์
จะต้ อ งมี ตั ว ถู ก ระท ำ (Operand) อย่ ำ งน้ อ ยหนึ่ ง ตั ว และตั ว
ดำเนินกำร (Operator) อย่ำงน้อยหนึ่งตัว
3. นิพจน์
(Expressions)
ตัวอย่ำ งกำรสร้ำงนิ พ จน์ โดยแสดงควำมสั มพั น ธ์ ระหว่ำ งตัว ถูก กระทำ ตั ว
ดำเนินกำรและนิพจน์ ดังนี้ เช่น
นิพจน์
C++
C+1
ตัวถูกกระทำตัวที่ 1 (ตัวแปร)
ค่ำคงที่
ตัวดำเนินกำร
ตัวถูกกระทำตัวที่ 1 (ตัวแปร)
ตัวดำเนินกำรที่ 1
ตัวถูกกระทำตัวที่ 1 (ตัวแปร)
ตัวถูกกระทำตัวที่ 2 (ตัวแปร)
ตัวดำเนินกำรที่ 2
ตัวถูกกระทำตัวที่ 3 (นิพจน์)
A + B – (C + 2)
ตัวดำเนินกำร
C+2
ค่ำคงที่
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