ขั้นตอนการทำงานภาษาซี
DESCRIPTION
TRANSCRIPT
ขั้นตอนการท างานของภาษาซี
ตัวแปลภาษา
ภาษาคอมพิวเตอร์โดยเฉพาะภาษาระดับสูง จะมีจุดประสงคเ์พื่อให้มนุษย์สามารถ
สื่อสารเพื่อเขยีนโปรแกรมได้งา่ย แต่เป็นภาษาที่คอมพิวเตอรไ์ม่รูจ้ัก ดังนัน้จึงตอ้งน า
ภาษาระดับสูงผ่านกระบวนการแปลเพื่อให้เป็นภาษาเครื่อง สามารถแบ่งออกเป็น 2 ชนิด
1. คอมไพเลอร์ (compiler) เชน่ ภาษาซี ภาษาปาสคาล จะแปลทัง้โปรแกรม ซึ่ง
หากมีขอ้ผิดพลาด ก็จะตอ้งแก้ไขให้ถูกตอ้ง และแปลใหม่จนกระทั่งไม่พบขอ้ผิดพลาด
โปรแกรมจึงจะสามารถท างานได้
ขั้นที่ 1
เขียนค าส่ัง .c หรือ .cpp
ขั้นที่ 2
คอมไพล์และลงิค์ .OBJ
ขั้นที่ 3
น าไปใช้งาน .EXE
2. อนิเตอร์พรีเตอร์ (Interpreter) จะแปลทลีะค าสั่งในแตล่ะบรรทัดโดยโปรแกรม
ยังสามารถท างานตอ่ไปไดถ้ึงแม้วา่จะมีขอ้ผิดพลาดในโปรแกรมก็ตาม ตราบใดท่ีตัวแปลยัง
ไม่ผ่านบรรทัดค าสั่งที่เขียนผิดขัน้ตอนการทดสอบโปรแกรมเรยีกอกีอย่างหนึ่งวา่ “การดีบ๊ัก
โปรแกรม (Debugging)”
ชนิดของของข้อผิดพลาด
ขอ้ผิดพลาดที่เกดิข้ึนจากการเขยีนโปรแกรม สามารถแบ่งออกเป็น 3 ชนิด คอื
1. ข้อผิดพลาดที่เกิดจากไวยากรณ ์(Syntax Errors)
ขอ้ผิดพลาดนี้เกดิจากการใช้ไวยากรณ์หรือรูปแบบภาษาท่ีผิด เช่น สะกด
ค าสั่งผิด เชน่ ค าส่ัง scanf ก็พิมพ์เป็น scant เป็นตน้ เมื่อผ่านการแปลแล้ว ตัวแปลภาษาก็
จะไม่รูจ้ักค าสั่งดังกล่าว ขอ้ผิดพลาดที่เกดิจากไวยากรณ์ คอมไพเลอร์สามารถตรวจพบ
และแจ้งข้อผิดพลาดที่เกดิข้ึนให้ทราบได้
2. ข้อผิดพลาดที่เกิดจากตรรกะโปรแกรม (Logic Errors)
เป็นข้อผิดพลาดที่เกดิจากโปรแกรมเมอรห์รือผู้เขียนโปรแกรมเอง เช่น การ
ใช้เงื่อนไขผิดพลาดหรอื การสร้างสูตรค านวณผิด สง่ผลให้ไดผ้ลลัพธท์ี่ผิดพลาด ไม่ตรงกับ
ความเป็นจริง เช่น โปรแกรมค านวณเกรดคะแนน 80 ข้ึนไปจะได้เกรด 4 แต่สร้างเงื่อนไข
เป็น คะแนนรวม > 80 จะได้เกรด 4 สง่ผลให้นักเรยีนที่มีคะแนน 80 ไม่ได้เกรด 4 เป็นต้น
ขอ้ผิดพลาดชนิดน้ีตัวคอมไพเลอรไ์ม่สามารถตรวจพบได ้ดังนัน้ ตรรกะในการสรา้งเงื่อนไข
และสูตรค านวณต่างๆ ตอ้งได้รับการทดสอบและตรวจความถูกตอ้งทุกครั้งก่อนน าไปใช้
งานจริง
3. ข้อผดิพลาดในขณะรันโปรแกรม (Runtime Errors)
ในกรณีพบข้อผิดพลาดชนดินีใ้นขณะรันโปรแกรมอยู่ โปรแกรมจะมีข้อความ
แจ้งให้ทราบ และจะหยุดท างานไป ขอ้ผิดพลาดดังกล่าวจะต้องกลับไปแก้ไขซอรส์โคด้ใน
โปรแกรมใหม ่