การตั้งชื่อตัวแปรและตัวดำเนินการ
ตัวดำเนินการ (Operator)
การกำหนดตัวดำเนินการในภาษาซีนั้นมีหลายประเภทด้วยกัน ซึ่งแต่ละประเภทจะทำหน้าที่แตกต่างกันออกไป ดังต่อไปนี้ 1.ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) 2. ตัวดำเนินการเปรียบเทียบ (Comparative Operator) 3. ตัวดำเนินการทางตรรกะ (Logical Operator) 4. ตัวดำเนินการกำหนดค่า (Assignment Operator) ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)ตัวดำเนินการทางคณิตศาสตร์ใช้เป็นตัวเชื่อมในการเขียนโปรแกรม เพื่อหาผลลัพธ์จากการคำนวนซึ่งสามารถกระทำกับข้อมูลได้หลายรูปแบบ ตาราง แสดงตัวดำเนินการทางคณิตศาสตร์ ตัวดำเนินการความหมาย ตัวอย่าง +บวก (Addition)A + b -ลบ (Subtraction)A – b *คูณ (Multiplication)A * b /หาร (Division)A / b %หารเอาผลลัพธ์เฉพาะเศษ (Modulus)A % b ++เพิ่มค่าขึ้น 1 ค่า (Increment)A++ - -ลดค่าลง 1 ค่า (Decrement)a- - ผลการทำงานของโปรแกรม โอเปอเรเตอร์ increment และ decrement เป็นโอเปอเรเตอร์ที่ทำให้ค่าของตัวแปรเพิ่มขึ้นหนึ่งค่าตามลำดับ เช่น ++ x; ให้ผลลัพธ์เหมือนกับ x = x + 1; --x; ให้ผลลัพธ์เหมือนกับ x = x – 1; และ ++ x; สามารถเขียนได้อีกแบบหนึ่งเป็น x++; --x; สามารถเขียนได้อีกแบบหนึ่งเป็น x--; อย่างไรก็ตาม ++ x ให้ผลลัพธ์ที่ได้ไม่เหมือนกับ x++ ดังนั้น การใช้โอเปอเรเตอร์ increment หรือ ++ และโอเปอเรเตอร์ decrement หรือ – รวมกับโอเปอเรเตอร์อื่นๆ ต้องระมัดระวังเรื่องการวางตำแหน่งของโอเปอเรเตอร์ด้วย ผลการทำงานของโปรแกรม จากตัวอย่างถ้าผู้ศึกษาสังเกตผลการใช้โอเปอเรเตอร์แบบ a++ และ ++a จะได้ผลที่แตกต่างกัน เหมือนกับการใช้ b - - และ - - b ที่ให้ผลแตกต่างกันตัวดำเนินการ (Operator) การกำหนดตัวดำเนินการในภาษาซีนั้นมีหลายประเภทด้วยกัน ซึ่งแต่ละประเภทจะทำหน้าที่แตกต่างกันออกไป ดังต่อไปนี้ 1.ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) 2. ตัวดำเนินการเปรียบเทียบ (Comparative Operator) 3. ตัวดำเนินการทางตรรกะ (Logical Operator) 4. ตัวดำเนินการกำหนดค่า (Assignment Operator) ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)ตัวดำเนินการทางคณิตศาสตร์ใช้เป็นตัวเชื่อมในการเขียนโปรแกรม เพื่อหาผลลัพธ์จากการคำนวนซึ่งสามารถกระทำกับข้อมูลได้หลายรูปแบบ ตาราง แสดงตัวดำเนินการทางคณิตศาสตร์ ตัวดำเนินการความหมาย ตัวอย่าง +บวก (Addition)A + b -ลบ (Subtraction)A – b *คูณ (Multiplication)A * b /หาร (Division)A / b %หารเอาผลลัพธ์เฉพาะเศษ (Modulus)A % b ++เพิ่มค่าขึ้น 1 ค่า (Increment)A++ - -ลดค่าลง 1 ค่า (Decrement)a- - ผลการทำงานของโปรแกรม โอเปอเรเตอร์ increment และ decrement เป็นโอเปอเรเตอร์ที่ทำให้ค่าของตัวแปรเพิ่มขึ้นหนึ่งค่าตามลำดับ เช่น ++ x; ให้ผลลัพธ์เหมือนกับ x = x + 1; --x; ให้ผลลัพธ์เหมือนกับ x = x – 1; และ ++ x; สามารถเขียนได้อีกแบบหนึ่งเป็น x++; --x; สามารถเขียนได้อีกแบบหนึ่งเป็น x--; อย่างไรก็ตาม ++ x ให้ผลลัพธ์ที่ได้ไม่เหมือนกับ x++ ดังนั้น การใช้โอเปอเรเตอร์ increment หรือ ++ และโอเปอเรเตอร์ decrement หรือ – รวมกับโอเปอเรเตอร์อื่นๆ ต้องระมัดระวังเรื่องการวางตำแหน่งของโอเปอเรเตอร์ด้วย ผลการทำงานของโปรแกรม จากตัวอย่างถ้าผู้ศึกษาสังเกตผลการใช้โอเปอเรเตอร์แบบ a++ และ ++a จะได้ผลที่แตกต่างกัน เหมือนกับการใช้ b - - และ - - b ที่ให้ผลแตกต่างกัน ตัวดำเนินการเปรียบเทียบ (Comparative Operator) ตัวดำเนินการเปรียบเทียบ คือ เครื่องหมายที่ใช้ในการเปรียบเทียบหรือตรวจสอบในทางคณิตศาสตร์ ซึ่งผลลัพธ์ที่จะได้จะมี 2 กรณีคือ ถ้าถูกต้องหรือเป็นจริงจะมีค่าเป็น 1 ถ้าผิดหรือเป็นเท็จจะมีค่าเป็น 0 ผลลัพธ์ของการเปรียบเทียบ มีชื่อเรียกอีกอย่างหนึ่งว่า ค่าคงที่บูลีน (Boolean Constant) ดังนี้ 8 > 4 ผลลัพธ์เป็นจริง ค่าคงที่บุลีนเป็น 1 6 < = 2 ผลลัพธ์เป็นเท็จ ค่าคงที่บูลีนเป็น 0 -2 > -6 ผลลัพธ์เป็นจริง ค่าคงที่บูลีนเป็น 1 A > a ผลลัพธ์เป็นจริง ค่าคงที่บูลีนเป็น 1 (เปรียบเทียบค่าตามรหัสแอสกี) ตาราง แสดงตัวดำเนินการเปรียบเทียบ ตัวดำเนินการ ความหมาย ตัวอย่าง > มากกว่า (Greater Than)a > b < น้อยกว่า (Less Than)a < b > =มากกว่าหรือเท่ากับ (Greater Than or Equal)a > = b < =น้อยกว่าหรือเท่ากับ (Less Than or Equal)a < = b = =เท่ากับ (Equal)a = = b ! =ไม่เท่ากับ (Not Equal) a ! = b ตัวดำเนินการทางตรรกะ (Logical Operator) ตัวดำเนินการทางตรรกะ คือ เครื่องหมายที่ใช้เชื่อมเงื่อนไข 2 เงื่อนไข หรือมากกว่า เพื่อให้การเปรียบเทียบมีความละเอียดมากขึ้น ตาราง แสดงตัวดำเนินการทางตรรกะ ตัวดำเนินการ ความหมาย ตัวอย่าง & & และ (and)Income>=5000&&income<=10000 llหรือ (or)Hour<Ollhour>24 !ไม่ใช่ (not)! a &&! |
ตัวดำเนินการ && จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขทั้งสองเป็นจริง แต่ถ้าเงื่อนไขใดเป็นเท็จหรือทั้งสองเงื่อนไขเป็นเท็จจะทำให้ผลลัพธ์เป็นเท็จ ตัวดำเนินการ ll จะใช้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง หรือเป็นจริงทั้งสองเงื่อนไข แต่ถ้าเป็นเท็จทั้งสองเงื่อนไขจะทำให้ผลลัพธ์เป็นเท็จ ตัวดำเนินการ ! จะให้ผลลัพธ์เป็นจริงเมื่อไขสันหลัง not เป็นเท็จ แต่ถ้าเงื่อนไขหลัง not เป็นจริงจะทำให้ผลลัพธ์เป็นเท็จ ตัวดำเนินการกำหนดค่า (Assignment Operator) ตัวเนินการกำหนดค่าใช้ในการกำหนดค่าให้กับตัวแปรที่มีการคำนวณ และนำค่าที่ได้ไปเก็บไว้ยังตัวแปรอื่น เช่น c=a+b เป็นต้น ตาราง แสดงตัวดำเนินการกำหนดค่า ตัวดำเนินการ ความหมาย ตัวอย่าง =การกำหนดค่าให้เท่ากับ (Assignment)a = b + =การเพิ่มค่า (Addition)A += b มาจาก a = a + b - =การลบค่า (Subtraction) A -= b มาจาก a = a – b * =การคูณ (Multiply)A *= b มาจาก a = a * b / =การหารได้ผลลัพธ์จำนวนเต็ม (Devide)A /= b มาจาก a = a / b % =การหารได้ผลลัพธ์เศษ (Devide)A %= b มาจาก a = a % b & =ดำเนินการ bitwise andA &= b มาจาก a = a & b l =ดำเนินการ inclusive orA l= b มาจาก a = a l b ^ =ดำเนินการ exclusive orA ^= b มาจาก a = a ^ b << =การเลื่อนบิตไปทางซ้าย (Left Shift)A <<= b มาจาก a = a << b >> =การเลื่อนบิตไปทาขวา (Right Shift)A >>= b มาจาก a = a >> b 4. นิพจน์ (Expression) นิพจน์ หมายถึง การนำเอาค่าคงที่ ตัวแปร หรือฟังก์ชัน มากระทำอย่างใดอย่างหนึ่ง โดยมีการใช้ตัวดำเนินการ (Operator) ทำหน้าที่ กำหนดค่า เปรียบเทียบ และบ่งชี้การกระทำนั้น เช่น Salary = 5000 A = a + c 10 +2 > 7+1 Show= “Business” + “Computer” ลำดับการประมวลผลนิพจน์ การกำหนดนิพจน์และใช้โอเปอเรเตอร์หรือตัวดำเนินการหลายๆ ตัว พร้อมๆ กัน ภายในนิพจน์เดียวกัน ถ้าผู้เขียนไม่จัดลำดับการทำงานก่อนหลังของโอเปอเรเตอร์ให้ถูกต้องก่อน จะทำให้ได้ผลลัพธ์ที่คาดเคลื่อนจากความเป็นจริง โดยการประเมินค่าตามลำดับของโอเปอเรเตอร์ของค่าคงที่จำนวนมากกว่าสองตัวสามารถทำได้โดยใช้กฎ precedence ซึ่งข้อกำหนดสำหรับลำดับการประมวลผลนิพจน์เป็นดังนี้ ตาราง แสดงลำดับการทำงานของตัวดำเนินการ ลำดับที่ ตัวดำเนินการทิศทางการประมวลผล 1( )ซ้ายไปขวา 2++, - -ขวาไปซ้าย 3*, / , %ซ้ายไปขวา 4+, -ซ้ายไปขวา 5=ขวาไปซ้าย 5. ค่าคงที่ (Constant) ค่าคงที่ หมายถึง ตัวแปรที่เก็บค่าคงที่โดยที่ผู้เขียนเป็นผู้กำหนดให้ตั้งแต่เริ่มต้นการทำงานของโปรแกรม โดยการกำหนดค่าคงที่จะกำหนดไว้ในส่วนหัวของโปรแกรม (Head File) ซึ่งปกติที่กำหนดนั้นจะไม่มีการเปลี่ยนแปลงใดๆ เช่นค่าคงที่ของอัตราภาษี ค่าคงที่ของอัตราดอกเบี้ย ค่าคงที่ของข้อความที่ต้องการ เป็นต้น #defind ตัวแปร ค่าคงที่ รูปแบบการกำหนดค่าคงที่ เช่น #defind rate 0.5 #defind position 5000 #defind show “Hello Constant” บทสรุป การเขียนโปรแกรมภาษาซี เริ่มต้นผู้ศึกษาจะต้องศึกษารูปแบบของการประกาศตัวแปรชนิดข้อมูลตัวดำเนินการ การกำหนดนิพจน์ และค่าคงที่ เพื่อให้เข้าใจถึงวิธีการเขียนและสามารถประยุกต์ใช้งานในเรื่องอื่นๆ ได้ต่อไป ตัวแปร คือ ชื่อที่กำหนดขึ้นมาเพื่อใช้สำหรับเก็บข้อมูลระหว่างการประมวลผล หรือแทนค่าของข้อมูลในโปรแกรม ข้อคำนึงถึงเกี่ยวกับหลักการตั้งชื่อตัวแปร 1. ตัวแปรจะต้องประกอยด้วยตัวอักษร A ถึง Z รวมถึงตัวเลข 0 ถึง 9 เท่านั้น 2. ความของตัวแปรจะต้องไม่เกิน 32 ตัวอักษร 3. ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรเท่านั้น ห้ามขึ้นต้นด้วยตัวเลข 4. ห้ามเว้นวรรคระหว่างชื่อตัวแปร เว้นแต่การใช้ _(Underscore) เพื่อเชื่อมตัวแปรสามารถทำได้ 5. ตัวอักษรพิมพ์เล็กพิมพ์ใหญ่มีผลไม่เหมือนกัน (Case Sensitive) 6. ควรตั้งชื่อตัวแปรที่สื่อกับข้อมูลที่ต้องการจัดเก็บ 7. ห้ามตั้งชื่อตัวแปรหรือฟังก์ชันตรงกับคำสงวน (Reserved Word) ชนิดข้อมูลเป็นสิ่งจำเป็นพื้นฐานที่จะต้องกำหนดให้ถูกต้องหรือเหมาะสมกับความต้องการใช้งานเพื่อให้การทำงานมีประสิทธิภาพ ซึ่งภาษาซีมีชนิดข้อมูลให้เลือกหลากหลายรูปแบบ โดยผู้เขียนโปรแรกมจะต้องพิจารณาจากความจำเป็นและวัตถุประสงค์ของการใช้งาน สามารถแบ่งประเภทของชนิดข้อมูลได้ 3 ประเภท คือ 1.ชนิดข้อมูลแบบจำนวนเต็ม (Integer Type) 2. ชนิดข้อมูลแบบทศนิยม (Floating Point Type) 3. ชนิดข้อมูลแบบตัวอักษร (Character Type) ตัวดำเนินการในภาษาซีนั้นมีหลายประเภทด้วยกัน ซึ่งแต่ละประเภทจะทำหน้าที่แตกต่างกันออกไป ดังต่อไปนี้ 1.ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) 2. ตัวดำเนินการเปรียบเทียบ (Comparative Operator) 3. ตัวดำเนินการทางตรรกะ (Logical Operator) 4. ตัวดำเนินการกำหนดค่า (Assignment Operator) นิพจน์ หมายถึง การนำเอาค่าคงที่ ตัวแปร หรือฟังก์ชัน มากระทำอย่างใดอย่างหนึ่ง โดยมีการใช้ตัวดำเนินการ (Operator) ทำหน้าที่ กำหนดค่า เปรียบเทียบ และบ่งชี้การกระทำนั้น การกำหนดนิพจน์และใช้โอเปอเรเตอร์หรือตัวดำเนินการหลายๆ ตัว พร้อมๆ กัน ภายในนิพจน์เดียวกัน ถ้าผู้เขียนไม่จัดลำดับการทำงานก่อนหลังของโอเปอเรเตอร์ให้ถูกต้องก่อน จะทำให้ได้ผลลัพธ์ที่คาดเคลื่อนจากความเป็นจริง ค่าคงที่ หมายถึง ตัวแปรที่เก็บค่าคงที่โดยที่ผู้เขียนเป็นผู้กำหนดให้ตั้งแต่เริ่มต้นการทำงานของโปรแกรม โดยการกำหนดค่าคงที่จะกำหนดไว้ในส่วนหัวของโปรแกรม (Head File) ซึ่งปกติที่กำหนดนั้นจะไม่มีการเปลี่ยนแปลงใด |