การเขียนโปรแกรมภาษา C เบื้องต้น ตอนที่ 3 : ตัวดำเนินการ (Operators)
หายไปนานเลย กว่าจะมาเขียนบทนี้ได้ = =
ที่ผ่านมาเราได้เรียนรู้ตัวแปรและชนิดของตัวแปร เราสามารถที่จะจัดการหรือดำเนินการกับตัวแปรหรือตัวเลขได้ โดยใช้สิ่งที่เรียกว่า “ตัวดำเนินการ (Operator)” ซึ่งในภาษา C นั้นมีตัวดำเนินการต่างๆดังนี้
ตัวดำเนินการ +, –, *, / ก็คือ บวก ลบ คูณ หาร เหมือนในคณิตศาสตร์ตามปกติทั่วไป ที่พิเศษนิดนึงคือ % ตัวดำเนินการนี้เรียกว่า modulo โดยจะดำเนินการเอาเศษที่เหลือของการหารเช่น
ส่วน ++,-- คือการเพิ่มค่าทีละ 1 และลดค่าทีละ 1 ตามลำดับ
ตัวอย่างการใช้งาน
การใช้งานตัวดำเนินการ && และ || นั้นจะใช้งานเพื่อเปรียบเทียบ expressions โดยผลลัพธ์ที่ออกมาจะเป็นเพียงแค่ true หรือ false เท่านั้น เช่น
ที่ผ่านมาเราได้เรียนรู้ตัวแปรและชนิดของตัวแปร เราสามารถที่จะจัดการหรือดำเนินการกับตัวแปรหรือตัวเลขได้ โดยใช้สิ่งที่เรียกว่า “ตัวดำเนินการ (Operator)” ซึ่งในภาษา C นั้นมีตัวดำเนินการต่างๆดังนี้
ตัวดำเนินการคณิตศาสตร์ (Arithmetic operators)
+
|
Addition
|
-
|
Subtraction
|
*
|
Multiplication
|
/
|
Division
|
%
|
Modulo
|
++
|
Auto increment
|
--
|
Auto decrement
|
x จะมีค่าเท่ากับ 1 ซึ่งเป็นเศษที่เหลือจากการหารระหว่าง 10 กับ 3x = 10 % 3;
ส่วน ++,-- คือการเพิ่มค่าทีละ 1 และลดค่าทีละ 1 ตามลำดับ
ตัวดำเนินการผสมกำหนดค่า (Compound Assignment operators)
expression
|
เทียบเท่ากับ
|
value += increase;
|
value = value + increase;
|
x += 5;
|
x = x + 5;
|
x *= 2;
|
x = x * 2;
|
ตัวดำเนินการเปรียบเทียบ (Relational operators)
==
|
เท่ากับ
|
!=
|
ไม่เท่ากับ
|
>
|
มากกว่า
|
<
|
น้อยกว่า
|
>=
|
มากกว่าหรือเท่ากับ
|
<=
|
น้อยกว่าหรือเท่ากับ
|
ตัวอย่างการใช้งาน
โดยการเปรียบเทียบนี้ไม่จำเป็นต้องจะต้องเป็นตัวเลขเสมอไป เราสามารถนำตัวแปรเข้าไปเปรียบเทียบได้ และให้ ระวังการใช้ตัวดำเนินการ = เพราะว่าจะไม่เหมือนกับ == (จากประสบการณ์ที่พบเจอมา มือใหม่จะพลาดตรงนี้กันเยอะ)(10==8); // เป็นเท็จ
(4>5); //เป็นเท็จ
(5>4); //เป็นจริง
ตัวดำเนินการทางตรรกะ (Logical operators)
ตัวดำเนินการ
|
ความหมาย
|
&&
|
AND
|
||
|
OR
|
!
|
NOT
|
((5 == 5) && (3 > 6)); // เป็นเท็จ (true && false)
((5 == 5) || (3 > 6)); // เป็นจริง (true || false)
ตัวดำเนินการระดับบิต (Bitwise operators)
ตัวดำเนินการ
|
ความหมาย
|
ตัวอย่าง
|
ผลลัพธ์
| ||
~
|
complement
|
a = ~b;
|
b = 5 , a = -5
| ||
<<
|
shift left
|
a = b >> 2;
|
b = 11110011 , a = 11001100
| ||
>>
|
shift right
|
a = b >> 2;
|
b = 11110011 , a = 00011110
| ||
&
|
AND
|
c = a & b;
|
| ||
|
|
OR
|
c = a | b;
|
| ||
^
|
EXOR
|
c = a ^ b;
|
|
จบซักที เจอกันบทหน้า เรื่องโครงสร้างควบคุมครับ
Comments
Post a Comment