Page 61 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 61
หน่วยที�3 ข้อมูลพื�นฐานและตัวดําเนินการ 56 หน่วยที�3 ข้อมูลพื�นฐานและตัวดําเนินการ 57
......................................................................................................................................................... .........................................................................................................................................................
5.ตัวดำาเนิดงาน 3.6.2 กฏเกณฑ์ในการเขียนนิพจน์
----------------------------------------------------------------- 1. ห้ามเขียนตัวแปรติดกัน โดยไม่มีตัวดำาเนินการเชื่อม เช่น ab ในภาษาซี ต้อง
เขียน a*b จะเขียนเป็น ab ไม่ได้ เพราะโปรแกรมจะถือว่าเป็นชื่อตัวแปรเดียว (ชื่อ ab
ตัวดำาเนินการ ในโปรแกรมภาษาซี มีการใช้ตัวดำาเนินการอยู่ 3 ชนิดใหญ่ ๆ ดังนี้ ไม่ใช่ a คูณ b)
3.5.1 ตัวดำาเนินการคำานวณ (Arithmetic Operators) คือ เครื่องหมายที่ใช้ในการ
คำานวณบวก 2. ถ้าเขียนนิพจน์ โดยมีชนิดของตัวแปรหรือค่าคงที่ต่างชนิดกัน ในนิพจน์เดียวกัน
ลบ คูณ หาร ค่าต่าง ๆ เครื่องหมายที่ใช้มีดังนี้
ภาษาซี จะเปลี่ยนชนิดของข้อมูลที่มีขนาดเล็ก ให้เป็นชนิดข้อมูลที่ใหญ่ขึ้น เช่น
ตัวดําเนินการ ความหมาย ตัวอย่าง
+ การบวก A + B
- การลบ A - B ถ้าใช้ จะเปลี�ยนเป็ น
* การคูณ A * B char short กับ int int
/ การหาร A / B int กับ float float
% การหารเอาแต่เศษไว้ (Modulus) 7 % 5 = 1 เศษ 2 float กับ double double
จะเก็บเฉพาะเศษ 2 เอาไว้
-- การลดค่าลง ครั�งละ 1 เสมอ A-- จะมีความหมายเหมือนกับ int กับ long long
A = A - 1
A++ จะมีความหมายเหมือนกับ int กับ double double
++ การเพิ�มค่าขึ�น ครั�งละ 1 เสมอ
A = A + 1
int กับ unsigned unsigned
long กับ double double
2. นิพจน์ทางตรรกะ (Logical Expression) long กับ double double
นิพจน์ทางตรรกะ หมายถึง การนำาตัวแปร ค่าคงที่ หรือนิพจน์ มาสัมพันธ์กัน โดยใช้ อะไร กับ long long
อะไร
กับ
long double
long double
ตัวดำาเนินการเปรียบเทียบและตัวดำาเนินการตรรก เป็นตัวเชื่อม ผลที่ได้จะเป็น จริง ตัวอย่าง
หรือ เท็จ คือ จะให้ค่าเป็น 1 หรือ 0 ออกมาเป็นผลลัพธ์ สามารถนำาผลไปคำานวณต่อ int i;
ได้ float f;
ถ้า x มีค่าเป็น 4 , y มีค่าเป็น 7 , z มีค่าเป็น 4 หากนำามาเขียนเป็นนิพจน์จะได้ผลดัง double d;
ตาราง นิพจน์ i*f จะได้ผลลัพธ์เป็น float
นิพจน์ d/f + i*f จะได้ผลลัพธ์เป็น double
นิพจน์ ความหมาย
x == y ผลลัพธ์ที�ได้ คือ ไม่จริง จะให้ค่าเป็น 0 3. การหาร จะได้ชนิดข้อมูล ดังนี้
x == z ผลลัพธ์ที�ได้ คือ จริง จะให้ค่าเป็น 1 Integer Integer = Integer
x > y*2 ผลลัพธ์ที�ได้ คือ ไม่จริง จะให้ค่าเป็น 0 Float Float = Float
x == z && x > y*2 ผลลัพธ์ที�ได้ คือ ไม่จริง จะให้ค่าเป็น 0 Float Integer = Float
Integer Float = Float