บทเรียน 6.1 ชนิดข้อมูลคืออะไร ? Show บทเรียน 6.2 ลงมือปฏิบัติเกี่ยวกับชนิดข้อมูล สำหรับในตอนนี้ จะมีวีดีโอทั้งหมด 2 ชุด โดยแนะนำว่าให้ทุกคน ควรที่จะตอบคำถามระหว่างวีดีโอในช่อง Comment ด้วยนะครับ ^_^ เสร็จสิ้น และดำเนินการต่อ🐣 หากมีคำถามระหว่างเรียนสามารถสอบถามได้เลยที่ 💬 borntoDev Discord Community Discussion 161 ความคิดเห็นLoad more
ตัวดำเนินการในการเขียนโปรแกรมตวดำเนินการจะเป็นตัวทำหน้าที่รวมค่าต่างๆ และกระทำกับค่าต่างๆ ให้เป็นค่าเดียวกัน อย่างเช่นโปรแกรมในบทที่ผ่านมามีการนำข้อมูลที่เป็นตัวแปรมาคูณกับค่าคงที่ ซึ่งจะต้องใช้ตัวดำเนินการทางคณิตศาสตร์เพื่อทำการคูณ ตัวดำเนินการมีหลายประเภทดังต่อไปนี้
1. ตัวดำเนินการเลขคณิตใช้สำหรับกระทำการคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร โดยจะนำข้อมูลตัวหนึ่งไปกระทำกับอีกตัวหนึ่ง โดยใช้ผลลัพธ์เป็นตัวเลขทางคณิตศาสตร์ ตัวดำเนินการทางคณิตศาสตร์ แบ่งออกได้ดังต่อไปนี้ ตารางที่ 3.4.1 ตารางแสดงตัวดำเนินการเลขคณิต
ตัวอย่างที่ 3.4.1 โปรแกรมพิมพ์ผลลัพธ์จากการใช้ตัวดำเนินการคำนวณ 1 ตัว
ผลลัพธ์ คือ a, b, c, and d is 4, 9, -1, and 1. ตัวอย่างที่ 3.4.2 โปรแกรมพิมพ์ผลลัพธ์จากการใช้ตัวดำเนินการแปลงชนิดข้อมูล
ผลลัพธ์ คือ
จากตัวอย่าง 3.4.2 คำสั่ง sum / 3 ควรจะให้ผลลัพธ์เป็นจำนวนเต็ม 8 เนื่องจากตัวถูกดำเนินการทั้งสองตัวมีชนิดเป็นจำนวนเต็ม แต่ในที่นี้เราได้แปลงชนิดข้อมูลของตัวแปร sum แบบชั่วคราว จากจำนวนเต็มให้เป็นจำนวนจริง โดยใช้ (float) ทำให้ sum / 3 ในบรรทัดที่ 13 ให้ผลลัพธ์เป็นจำนวนจริงก่อนนำไปกำหนดให้เป็นค่าของตัวแปร average 2. ตัวดำเนินการเปรียบเทียบตัวดำเนินการเปรียบเทียบ (Relation Operators) จะนำข้อมูลสองค่ามาเปรียบเทียบกัน โดยข้อมูลทั้งสองค่าจะต้องเป็นข้อมูลประเภทเดียวกัน ผลลัพธ์ที่ได้จะเป็นค่าทางลอจิก คือ จริงหรือเท็จ ตารางที่ 3.4.2 ตารางแสดงตัวดำเนินการเปรียบเทียบ
ตัวอย่างที่ 3.4.3 โปรแกรมทดสอบการใช้ตัวดำเนินการเปรียบเทียบ
ผลลัพธ์ คือ 18 > 9 = 1 a = 9.00, b = 9.01 3. ตัวดำเนินการทางตรรกะตัวดำเนินการทางตรรกะ (Logical Operator) ประกอบด้วย การทำ AND(และ) , OR(หรือ) และNOT(นิเสธ) เมื่อกระทำกับค่าใด ผลลัพธ์ที่ออกมาจะเป็นจริงหรือเท็จ ตัวดำเนินการทางตรรกะแสดงได้ ดังตารางต่อไปนี้ ตารางที่ 3.4.3 ตารางแสดงตัวดำเนินการทางตรรกะ
จากตารางค่าความจริงของนิพจน์ตรรกะ เมื่อ 0 แทนค่าเท็จ และ 1 แทนค่าจริง แสดงดังตาราง ตารางที่ 3.4.4 ตารางค่าความจริงของนิพจน์ตรรกะ
ตัวอย่างที่ 3.4.4 โปรแกรมแสดงค่าของนิพจน์ตรรกะ
ผลลัพธ์ คือ Enter an value of x: 6 Example of logical expressions
4. ตัวดำเนินการแบบบิตจะนำข้อมูลสองค่ามาเปรียบเทียบกัน โดยข้อมูลทั้งสองค่าจะต้องเป็นข้อมูลประเภทเดียวกัน ผลลัพธ์ที่ได้จะเป็นค่าทางลอจิก คือ จริงหรือเท็จ ตารางที่ 3.4.5 ตารางแสดงตัวดำเนินการแบบบิต
5. ตัวดำเนินการกำหนดค่าเชิงประกอบการใช้ตัวดำเนินการบางประเภทสามารถนำมารวมกันเป็น ตัวดำเนินการกำหนดค่าเชิงประกอบ (Compound Assisgnment) ได้ มีรูปแบบคือ มีความหมายเทียบเท่ากับ เมื่อ op เป็นตัวดำเนินการคำนวณใดๆ ดังตัวอย่างต่อไปนี้ ตารางที่ 3.4.6 ตารางแสดงตัวอย่างการใช้ตัวดำเนินการกำหนดค่าเชิงประกอบ
ตัวอย่างที่ 3.4.5 โปรแกรมแสดงการใช้ตัวดำเนินการกำหนดค่าเชิงประกอบ
ผลลัพธ์ คือ a is 4. จากโปรแกรม สามารถอธิบายได้ ดังนี้
6. ตัวดำเนินการเพิ่มค่าและลดค่าตัวดำเนินการเพิ่มค่า (Increment Operator) ใช้เครื่องหมาย ++ ตัวดำเนินการลดค่า (Decrement Operator) ใช้เครื่องหมาย -- โดยการเพิ่มค่า หรือการลดค่าด้วยตัวดำเนินการดังกล่าว จะเพิ่มทีละหนึ่ง หรือลดทีละหนึ่ง และจะต้องใช้กับตัวแปรโดดๆ โดยสามารถใช้เครื่องหมาย ++ และ -- เขียนนำหน้าตัวแปร (Prefix) หรือหลังตัวแปร (Postfix) ก็ได้ เช่น ++i หรือ i++ แต่ทั้งสองแบบนี้จะมีวิธีการจัดการกับค่าที่แตกต่างกัน ดังตาราง ตารางที่ 3.4.7 ตารางแสดงตัวดำเนินการเพิ่มค่าและลดค่า
ตัวอย่างที่ 3.4.6 โปรแกรมแสดงการเพิ่มและลดค่าตัวแปร
ผลลัพธ์ คือ x is 8. x is 4. นิพจน์นิพจน์ (Expression) ในภาษาซีนี้ ประกอบด้วย ค่าคงตัว ค่าคงที่ หรือตัวแปร 1 จำนวน หรือกลุ่มของค่าคงตัว ค่าคงที่ หรือตัวแปรพร้อมด้วยตัวดำเนินการของภาษาซี ตัวดำเนินการที่ใช้ในนิพจน์ที่กล่าวถึงได้แก่ ตัวดำเนินการกำหนดค่า ตัวดำเนินการคำนวณ และตัวดำเนินการบอกตำแหน่งบนหน่วยความจำ ans = 100 - 50 จากนิพจน์คณิตศาสตร์ข้างต้น พบว่า ans, score และ income เป็นตัวแปรที่ใช้เก็บผลลัพธ์จากการคำนวณ ส่วนนิพจน์ด้านขวาจะเป็นนิพจน์แบบหลายตัวแปร ซึ่งสามารถมีได้ทั้งตัวแปร และค่าคงที่ รวมถึงตัวดำเนินการคณิตศาสตร์ เช่น + - * / เป็นต้น ซึ่งในการสร้างสูตรคำนวณค่าตัวเลข ซึ่งเป็นสูตรที่มีความซับซ้อน จะต้องระมัดระวังในการจัดลำดับนิพจน์ เพื่อให้คอมพิวเตอร์ประมวลผลได้อย่างถูกต้อง ทั้งนี้ตัวดำเนินการต่างๆ ที่นำมาใช้เพื่อการคำนวณนั้น แต่ละตัวจะมีลำดับความสำคัญที่แตกต่างกัน เช่น เมื่อพบเครื่องหมาย + และ * การประมวลผลจะกระทำที่ตัวดำเนินการ * ก่อน เพราะจะมีลำดับความสำคัญสูงกว่า + นั่นเอง ตัวดำเนินการกับลำดับความสำคัญตัวดำเนินการแต่ละตัวจะมีลำดับความสำคัญก่อนหลังที่แตกต่างกัน โดยการประมวลผลจะกระทำกับตัวดำเนินการที่มีลำดับควาสำคัญสูงก่อน แต่ถ้ากรณีที่มีลำดับความสำคัญเท่ากัน ตามปกติจะกระทำกับตัวดำเนินการจากซ้ายไปขวา ตารางที่ 3.4.7 ตารางแสดงตัวดำเนินการกับลำดับความสำคัญ
ตัวอย่างที่ 3.4.7 โปรแกรมพิมพ์ผลลัพธ์จากการใช้ตัวดำเนินการคำนวณมากกว่า 1 ตัว
ผลลัพธ์ คือ d is 1, e is 1. จากตัวอย่าง 3.4.6 เมื่อพิจารณาจากลำดับความสำคัญของตัวดำเนินการ จะพบว่า ในบรรทัดที่ 18 นิพจน์ c - b / a * a มีค่าเท่ากับ c - ((b / a) * a) ซึ่งมีค่าเท่ากับ 1 และมีค่าเท่ากับค่าของนิพจน์ (c - b) / (a * a) ในบรรทัดที่ 19 จากบรรทัดที่ 22 ค่าของนิพจน์ 8 + 2 * 6 / 3 - 2 มีค่าเท่ากับนิพจน์ (8 + ((2 * 6) / 3) - 2 และบรรทัดที่ 23 ค่าของนิพจน์ 5 % 5 + 5 * 5 - 5 / 5 มีค่าเท่ากับนิพจน์ ((5 % 5) + (5 * 5)) - (5 / 5) |