เครื่องหมายในภาษาคอมพิวเตอร์
เครื่องหมายในการเขียนโปรแกรมคอมพิวเตอร์ที่ภาษาคอมพิวเตอร์สามารถเข้าใจความหมาย และสามารถทำงานได้นั้น จะถูกแบ่งออกตามประเภทของการใช้งานและเหตุการณ์ เช่น ต้องการเปรียบเทียบนิพจน์ว่าเป็นจริงหรือเท็จ ก็จะใช้เครื่องหมายทางตรรกศาสตร์เข้ามาเปรียบเทียบ หรือหากต้องการเปรียบเทียบนิพจน์หรือค่า 2 ค่าว่ามากกว่าหรือน้อยกว่า ก็จะใช้เครื่องหมายเปรียบเทียบ มากกว่า (>) หรือน้อยกว่า (<) เป็นต้น ดังนั้นเครื่องหมายในภาษาคอมพิวเตอร์ จะถูกแบ่งออกเป็น 3 ประเภทคือ
1.
|
เครื่องหมายทางคณิตศาสตร์
|
2.
|
เครื่องหมายเปรียบเทียบ
|
3.
|
เครื่องหมายทางตรรกศาสตร์
|
1. เครื่องหมายทางคณิตศาสตร์
เครื่องหมายทางคณิตศาสตร์ นับเป็นเครื่องหมายที่มีความคุ้นเคยและมีการใช้งานบ่อยที่สุด ไม่ว่าจะเป็นเรื่องของการคำนวณพื้นฐาน เช่น บวก ลบ คูณ และหาร เครื่องหมายทางคณิตศาสตร์ที่สามารถใช้งานได้ในการเขียนโปรแกรมภาษาซี ดังตารางที่ 1
ตารางที่ 1 เครื่องหมายทางคณิตศาสตร์
เครื่องหมาย
|
เนินการ
|
ความหมาย และตัวอย่างการใช้งาน
|
+
|
บวก
|
ใช้เพื่อบวก เช่น a + b
|
–
|
ลบ
|
ใช้เพื่อลบ เช่น a – b
|
*
|
คูณ
|
ใช้เพื่อคูณ เช่น a * b
|
/
|
หาร
|
ใช้เพื่อหาร เช่น a / b
|
%
|
หารแบบเอาเศษ (Modulo)
|
ใช้เพื่อหารแบบเอาเศษที่เหลือ เช่น a % b
|
ตัวอย่าง กำหนดให้กับนิพจน์และผลลัพธ์ที่ได้ โดยในทีนี้กำหนดให้ตัวแปร i และ j มีชนิดข้อมูลเป็นเลขจำนวนเต็ม และตัวแปร j ถูกกำหนดให้มีค่าเท่ากับ 5
นิพจน์
|
ผลลัพธ์ i
|
i = i + j
|
10
|
i = j – 2
|
3
|
i = 2 * j
|
10
|
i = j / 2
|
2
|
i = i % 2
|
1
|
นอกจากนี้ ในภาษาซียังมีเครื่องหมายที่ใช้ในทางคณิตศาสตร์อื่น ๆ อีก เพื่อใช้ในการเพิ่ม
หรือลดค่าของตัวแปร ซึ่งสามารถแบ่งตามการใช้งานได้หลากหลายวิธี ดังตารางที่ 2
ตารางที่ 2 เครื่องหมายทางคณิตศาสตร์เพิ่มเติม
เครื่องหมาย
|
ดำเนินการ
|
ความหมาย และตัวอย่างการใช้งาน
|
++
|
เพิ่มค่าทีละ 1
|
ใช้เพื่อเพิ่มค่าอีก 1 ให้กับตัวแปร เช่น a = b++
หากตัว แปร b = 5 ค่าของตัวแปร a จะเท่ากับ 6 |
—
|
ลดค่าทีละ 1
|
ใช้เพื่อลดค่าอีก 1 ให้กับตัวแปร เช่น a = b–
หากตัว แปร b = 5 ค่าของตัวแปร a จะเท่ากับ 4 |
+=
|
บวกค่าด้วยตัวแปร
|
เช่น a += b คือ การบวกค่าตัวแปร a ด้วยตัวแปร b
|
-=
|
ลดค่าด้วยตัวแปร
|
เช่น a -= b คือ การลดค่าตัวแปร a ด้วยตัวแปร b
|
*=
|
คูณค่าด้วยตัวแปร
|
เช่น a *= b คือ การคูณค่าตัวแปร a ด้วยตัวแปร b
|
/=
|
หารค่าด้วยตัวแปร
|
เช่น a /= b คือ การหารค่าตัวแปร a ด้วยตัวแปร b
|
%=
|
หารแบบเอาเศษ ด้วยตัวแปร
|
เช่น a %= b คือ การหารแบบเอาเศษค่าตัวแปร a
ด้วยตัวแปร b |
ตัวอย่าง กำหนดให้ i และ j เป็นตัวแปรชนิดเลขจำนวนเต็ม มีค่าเท่ากับ 5 และ 7 ตามลำดับ ส่วนตัวแปร f และ g เป็นตัวแปรชนิดเลขจำนวนจริง มีค่าเท่ากับ 5.5 และ -.325 ตามลำดับ และต่อไปนี้เป็นนิพจน์ในรูปแบบต่าง ๆ และผลลัพธ์ที่ได้ ทั้งนี้แต่ละนิพจน์ให้ใช้ค่าตัวแปรเริ่มต้นตามที่กล่าวมา
นิพจน์
|
นิพจน์ที่เขียนในรูปแบบทั่วไป
|
ผลลัพธ์
|
i += 5
|
i = i +5
|
10
|
f -= g
|
f = f – g
|
8.75
|
j *= (i – 3)
|
j = j * (i – 3)
|
14
|
f /=3
|
f = f / 3
|
1.833333
|
i % = (j – 2)
|
i = i % (j – 2)
|
0
|
——————————————————————————————————————————
2. เครื่องหมายเปรียบเทียบ
เครื่องหมายการเปรียบเทียบ เป็นเครื่องหมายที่มีความสำคัญอีกเช่นกัน เพื่อเปรียบเทียบค่าของตัวแปรตั้งแต่ 2 ค่าขึ้นไป โดยผลลัพธ์จากการเปรียบเทียบจะได้เป็นค่าจริง (True) หรือ เท็จ (False)
โดยเครื่องหมายในการเปรียบเทียบ ดังตารางที่ 3
ตารางที่ 3 เครื่องหมายการเปรียบเทียบ
เครื่องหมาย
|
การเปรียบเทียบ
|
ความหมาย และตัวอย่างการใช้งาน
|
==
|
เท่ากับ
|
ตัวอย่าง a == b เป็นการเปรียบเทียบการเท่ากับระหว่างตัวแปร a และ b
ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ |
!=
|
ไม่เท่ากับ
|
ตัวอย่าง a != b เป็นการเปรียบเทียบการไม่เท่ากับระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ
|
<
|
น้อยกว่า
|
ตัวอย่าง a < b เป็นการเปรียบเทียบการน้อยกว่าระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ
|
<=
|
น้อยกว่าหรือเท่ากับ
|
ตัวอย่าง a <= b เป็นการเปรียบเทียบการน้อยกว่าหรือเท่ากับระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ
|
>
|
มากกว่า
|
ตัวอย่าง a > b เป็นการเปรียบเทียบการมากกว่าระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ
|
>=
|
มากกว่าหรือเท่ากับ
|
ตัวอย่าง a >= b เป็นการเปรียบเทียบการมากกว่าหรือเท่ากับระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ
|
ตัวอย่าง ถ้าตัวแปร i, j และ k มีชนิดข้อมูลเป็นเลขจำนวนเต็ม มีค่า 1, 2 และ 3 ตามลำดับ และจากนิพจน์ต่อไปนี้ จะได้ผลลัพธ์จากการตรวจสอบดังนี้
นิพจน์
|
ผลจากการเปรียบเทียบค่า
|
ผลลัพธ์
|
i < j
|
True
|
1
|
(i + j) >=k
|
True
|
1
|
(j + k) > (i + 5)
|
False
|
0
|
j == 2
|
False
|
0
|
——————————————————————————————————————————
3. เครื่องหมายทางตรรกศาสตร์
เครื่องหมายทางตรรกศาสตร์ เป็นการเปรียบเทียบค่าความเป็นจริง หรือเท็จ ระหว่างสิ่งต่าง ๆ สองสิ่งว่าเป็นจริงหรือเท็จ ซึ่งในการเปรียบเทียบทางตรรกศาสตร์นี้นิยมนำมาใช้กับระบบคอมพิวเตอร์ เพื่อเลือกตัดสินใจการทำงานจากผลลัพธ์ที่เป็นจริงหรือเท็จ โดยทั่วไปแล้วเครื่องหมายทางตรรกศาสตร์จะมีอยู่ 3 เครื่องหมายด้วยกัน ดังตารางที่ 4 ถึง ตารางที่ 7
ตารางที่ 4 เครื่องหมายทางตรรกศาสตร์
เครื่องหมาย
|
การเปรียบเทียบ
|
ความหมายและ ตัวอย่างการใช้งาน
|
&&
|
และ (and)
|
ตัวอย่าง (a<2) && (b>3) เปรียบเทียบระหว่าง ค่า 2 ค่าโดยถูกเชื่อมด้วย “และ” แล้วให้ผลลัพธ์ เป็นจริงหรือเท็จ
|
||
|
หรือ (or)
|
ตัวอย่าง (a<2) || (b>3) เปรียบเทียบระหว่าง ค่า 2 ค่าโดยถูกเชื่อมด้วย “หรือ” แล้วให้ผลลัพธ์ เป็นจริงหรือเท็จ
|
!
|
นิเสธ (not)
|
ตัวอย่าง !a จะได้ผลลัพธ์ตรงข้ามของค่า a เช่น หากตัวแปร a มีค่าเป็นจริง !a ก็จะให้ค่าเป็นเท็จ
|
ตารางที่ 5 หลักการดำเนินการด้วยเครื่องหมาย &&
ค่า A
|
ค่า B
|
ผลลัพธ์ของ A && B
|
T
|
T
|
T
|
T
|
F
|
F
|
F
|
T
|
F
|
F
|
F
|
F
|
ตารางที่ 6 หลักการดำเนินการด้วยเครื่องหมาย ||
ค่า A
|
ค่า B
|
ผลลัพธ์ของ A || B
|
T
|
T
|
T
|
T
|
F
|
T
|
F
|
T
|
T
|
F
|
F
|
F
|
ตารางที่ 7 หลักการดำเนินการด้วยเครื่องหมาย !
ค่า A
|
ผลลัพธ์ของ !A
|
T
|
F
|
F
|
T
|
ตัวอย่าง กำหนดให้ i มีชนิดข้ัอมูลเป็นจำนวนเต็ม มีค่าเท่ากับ 7 และ f มีชนิดข้อมูลเป็นเลขจำนวนจริงมีค่าเท่ากับ 5.5 ส่วน c เป็นตัวแปรชนิดตัวอักษร ที่มีค่าเท่ากับ w และต่อไปนี้เป็นนิพจน์ตรรกะในรูปแบบต่าง ๆ และผลลัพธ์ที่ได้
นิพจน์
|
ผลลัพธ์
|
(i >=6) && (c == ‘w’)
|
1
|
(i >= 6) || (c == 119)
|
1
|
(f < 11) && (i > 100)
|
0
|
(c != ‘p’) || ((i + f) <= 10)
|
1
|
f > 5
|
1
|
——————————————————————————————————————————
ลำดับความสำคัญของตัวดำเนินการทางคณิตศาสตร์
ลำดับที่
|
เครื่องหมาย
|
ลำดับการทำงาน
|
1
|
( )
|
–
|
2
|
++ , —
|
ซ้ายไปขวา
|
3
|
* , / , %
|
ซ้ายไปขวา
|
4
|
+ , –
|
ซ้ายไปขวา
|
5
|
< , <= , > , >=
|
ซ้ายไปขวา
|
6
|
== , !=
|
ซ้ายไปขวา
|
7
|
&&
|
ซ้ายไปขวา
|
8
|
||
|
ซ้ายไปขวา
|
9
|
= , += , -= , *= , /= , %=
|
ซ้ายไปขวา
|
ในการทำงานของตัวดำเนินการทางคณิตศาสตร์ คอมพิวเตอร์จะมีลำดับการทำงานดังนี้
1. ( ) คอมพิวเตอร์จะทำการคำนวณในวงเล็บก่อนเสมอ
2. * , / , % จากนั้นจะทำการคูณ หาร มอดูลัส เรียงจากซ้ายไปขวา เจอเครื่องหมายใด
ก่อนทำก่อน
3. + , – และทำการบวก ลบ เรียงจากซ้ายไปขวา
ตัวอย่าง กำหนดให้ตัวแปร i และ j เป็นเลขจำนวนเต็มมีค่าเท่ากับ 20 และ 8 ตามลำดับ ผลลัพธ์จากนิพจน์นี้ค่า ans จะมีค่าเท่ากับ 8 ซึ่งเป็นไปตามลำดับการประมวลผลดังต่อไปนี้
ลำดับ
|
นิพจน์
|
นิพจน์ที่ถูกประมวลผลก่อน
|
1
|
ans = 2 * ((i / 5) + (4 * (j – 2)) % (j – 2) | (i / 5), (j – 2) และ (j – 2) |
2
|
ans = 2 * (4 + (4 * (6)) % 6 ) | 4 * 6 |
3
|
ans = 2 * (4 + 24 % 6) | 24 % 6 |
4
|
ans 2 * (4 + 0) | 4 + 0 |
5
|
ans = 2 * 4 | 2 * 4 |
6
|
ans = 8 |
ขอบคุณแหล่งข้อมูล… คู่มือการเขียนโปรแกรมภาษา C ฉบับผู้เริ่มต้น / ประภาพร ช่างไม้