พ้ืนฐานการเขียนโปรแกรมภาษาซี การเขียนโปรแกรม เป็นกระบวนการใชภ้ าษาคอมพิวเตอรเ์ พื่อกำหนดโครงสร้างของข้อมูล และกำหนดขั้นตอนวธิ ี เพ่ือใช้แกป้ ญั หาตามท่ีออกแบบไว้ ข้นั ตอนพัฒนาโปรแกรมสำหรับสง่ั งานคอมพวิ เตอร์ 1. การวิเคราะหข์ ้อมูล (Problem Analysis) นำปญั หามาวิเคราะห์วา่ มีการทำงานอยา่ งไร ใช้ข้อมลู และตัวแปรอะไรบ้าง และตอ้ งการ ผลลัพธ์อะไร และข้ันตอนวธิ กี ารวเิ คราะห์งานแต่ละอยา่ งมีรายละเอียดดังนี้ 1) จุดประสงคข์ องการวเิ คราะหง์ าน 2) ขน้ั ตอนวธิ ีการวเิ คราะห์งาน - การหาวตั ถุประสงค์ของการเขยี นโปรแกรม - การหารปู แบบผลลพั ธท์ ีต่ ้องการ - การหาข้อมลู นำเข้าทตี่ ้องใส่เข้าไปในโปรแกรม - การหาตวั แปรทีจ่ ำเป็นต้องใช้ในโปรแกรม - การหาขน้ั ตอนวิธีการทำงานของโปรแกรม 2. การเขยี นผงั งาน (Flowcharting) ออกแบบและเขยี นขน้ั ตอนการทำงาน โดยใช้สัญลักษณต์ ่าง ๆ ซึ่งผงั งานแบ่ง ออกเป็น 2 ประเภท คือ 1) ผังงานระบบ (system flowchart) หมายถึง ผงั งานทแี่ สดงถึงขน้ั ตอนวิธกี ารทำงาน ของระบบงานใดระบบหน่งึ เพ่อื ใหเ้ หน็ ภาพรวมของระบบงานใดระบบงานหนง่ึ
3. การเขยี นโปรแกรม (Programming) นำผังงานทีอ่ อกแบบไว้มาเขียนโปรแกรม มหี ลักการเขยี นดังน้ี 1) เขียนผังงานจากด้านบนลงด้านล่าง 2) ใช้สัญลักษณใ์ ห้ตรงกบั ความหมายของผังงาน 3) ใชเ้ ส้น flow line และ arrowheads แสดงทศิ ทางการทำงานของผงั งาน 4) ใสค่ ำอธบิ ายลงในสัญลกั ษณส์ ้ัน ๆ แตเ่ ข้าใจงา่ ยจะใช้ภาษาไทยหรือองั กฤษก็ได้ 5) หลกี เล่ยี งการโยงเสน้ ทิศทางของผงั งานให้ตดั กนั เพราะจะทำให้สับสน ควรใชจ้ ุดเชอ่ื ม ตอ่ (connector) หน้าเดยี วกนั แทน จะเข้าใจได้งา่ ยและเปน็ ระเบียบ 6) พยายามเขียนผงั งานใหจ้ บในหนา้ กระดาษเดยี วกัน แต่ถ้าไมจ่ บในหนา้ เดียวกัน ควรใช้ จุดเชือ่ มต่อตา่ งหนา้ กระดาษ (off page connector) 4. การทดสอบโปรแกรม (Program Testing) ลองป้อนข้อมูลเข้าไปเพื่อดูผลลัพธ์ว่าถูกต้องหรือไม่ ถ้าพบข้อผิดพลาดก็ต้องทำการ แก้ไขและทดสอบโปรแกรมใหม่จนกว่าโปรแกรมนั้นถูกต้องท้ังหมด ซึ่งอาจพบความผิดพลาด ได้ 2 ชนิด ดังนี้ 1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผดิ พลาดที่เกดิ จากการ เขยี นคำสงั่ ของภาษาคอมพิวเตอรผ์ ิด ตัวอยา่ งเช่น คำสง่ั printf( ) ในภาษา C ตอ้ งเขียนดว้ ยตัวอักษรตัวเล็ก แตเ่ ขียนเป็น PRINTF( ) เป็น ตน้ 2) ความผดิ พลาดทางตรรกะ (logical error) เป็นความผดิ พลาดที่เกดิ จากการลำดับการ ทำงานผิดหรือปอ้ นสูตรคำนวณผดิ ตวั อย่างเช่น ตอ้ งการหาค่า X = X + Y แตป่ อ้ นสตู รเป็น X = X * Y อย่างน้ี เป็นต้น
5. การนำโปรแกรมไปใช้งานจริง (Production Run) เมื่อผู้เขียนโปรแกรมได้ทำการทดสอบโปรแกรมและแก้ไขความผิดพลาดท่ีเกิดข้ึน เรียบร้อยแล้ว ขั้นตอนต่อไปก็ควรจัดทำคู่มือการใช้โปรแกรมเพราะจะทำให้ผู้ใช้โปรแกรมสามารถใช้ งานได้ถูกต้อง โดยคู่มือการใช้โปรแกรมท่ีดีควรจัดทำในลักษณะท่ีแสดงการทำงานเป็นข้ันตอน ผู้ใช้ โปรแกรมสามารถปฏบิ ตั ิตามไดจ้ ริง สว่ นการบำรงุ รักษาโปรแกรมที่พัฒนาขนึ้ กต็ ้องมีคำแนะนำใหผ้ ู้ใชโ้ ปรแกรม ปฏิบตั ิ ตัวอย่างเช่น การเก็บโปรแกรมต้นฉบบั ควรเก็บไว้ในกล่องท่ีมดิ ชดิ ป้องกันฝุ่นได้ ไม่ควร เกบ็ ไวบ้ นโตะ๊ ทำงาน ไม่ควรเก็บไว้ในรถยนต์เพราะอาจถกู อากาศร้อนทำใหเ้ สยี ได้ นอกจากนตี้ ้องมี การสำเนาโปรแกรมตน้ ฉบับเอาไว้อยา่ งน้อย 1 ชุด แลว้ นำชุดท่ีสำเนาไปใช้ ไม่ควรใชโ้ ปรแกรม ตน้ ฉบบั โดยตรง ควรเก็บเอาไว้สำหรับกรณที โี่ ปรแกรมสำเนาเกิดปญั หาจะไดน้ ำโปรแกรมตน้ ฉบบั มา ทำสำเนาและใช้งานได้ทนั ทีสำเนาและใชง้ านได้ทนั ที
โครงสรา้ งโปรแกรมภาษาซี โปรแกรมภาษาซี ประกอบด้วย 3 ส่วน คือ
ชนดิ ของข้อมลู (Data Type) แบ่งชนดิ ของข้อมลู ออกเป็น 4 แบบ ดังนี้ 1. Integer Type (ชนิดข้อมูลแบบจำนวนเต็ม) 2. Character Type (ชนดิ ขอ้ มูลแบบตวั อกั ษร) 3. String Type (ชนดิ ข้อมลู แบบกลุม่ ของตัวอักษร) 4. Floating Point Type (ชนิดข้อมูลแบบจำนวนเลขทศนิยม) ชนดิ ข้อมลู แบบจำนวนเต็ม (Integer Type) ขอ้ มูลชนิดเลขจำนวนเตม็ คือ ข้อมูลท่ีเปน็ ตวั เลขจำนวนเต็มแบบไมม่ ที ศนยิ ม ประกอบไปดว้ ยจำนวนเต็มบวก (1, 2, 3, …) จำนวนเต็มลบ (-1, -2, -3, …) และจำนวนเตม็ ศูนย์ (0) โดยในภาษาซียังแบ่งชนิดขอ้ มูลแบบเลขจำนวนเตม็ ออกเปน็ ขอ้ มลู ชนิดเลขจำนวนเต็มแบบสั้น (int) ข้อมูลชนดิ เลขจำนวนเต็มแบบยาว (long integer) Note เปน็ คำส่ังแสดงผลทางจอภาพ เปน็ การแสดงผลคา่ ของตวั แปรในรูปแบบตวั เลข printf เปน็ การแสดงผลคา่ ของตวั แปรในรปู แบบตัวอักษร %d เป็นการแสดงผลค่าของตวั แปรในรปู แบบทศนิยม %c เป็นการแสดงผลใหข้ นึ้ บรรทัดใหม่ %f เปน็ ฟังก์ชันที่มอี ยู่ในชื่อเฮดเดอรไ์ ฟล์ stdio.h \\n ใชส้ ำหรบั หาขนาดชนดิ ขอ้ มูล Sizeof(datatype)
ชนิดข้อมูลแบบตัวอักษร (Character Type) ขอ้ มลู ที่เปน็ รหัสแทนตวั อักษรหรอื ค่าจำนวนเตม็ ไดแ้ ก่ ตวั อักษร ตัวเลข และกลุ่มตัวอกั ขระพิเศษใช้พ้ืนทใี่ นการเก็บข้อมูล 1 ไบต์ โดยกำหนดคา่ อยใู่ นเคร่ืองหมาย ‘ ’ ซงึ่ เป็นได้ทั้งตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษ ลกั ษณะสำคญั คือ ไม่สามารถนำไปคำนวณได้ ชนดิ ขอ้ มูลแบบกลุ่มของตัวอักษร (String Type) ในความจริงน้ันตัวแปรชนิดข้อความไมม่ ีกำหนดไว้ในภาษา C แตเ่ ราสามารถใชต้ วั แปรชนดิ ข้อความในรปู แบบของชุดตวั แปรอักขระไดโ้ ดยใชเ้ ทคนิคในเรอ่ื งของ Array เข้ามาช่วย กำหนดคา่ ข้อความใหก้ ับตัวแปรจะอยู่ภายในเคร่ืองหมาย (“ ”) โดยการสรา้ งต้องประกาศ Array ไว้ลว่ งหนา้ เพอื่ เปน็ การจองพื้นทส่ี ำหรบั ขนาดของขอ้ มลู ชนดิ ข้อมูลแบบทศนิยม (Floating Point Type) เปน็ ขอ้ มูลชนดิ ตัวเลขท่มี ีจุดทศนยิ ม ซง่ึ สามารถแบง่ ออกเป็น 3 ระดับ คอื float, double และ long double แตล่ ะระดบั น้ันจะมีขอบเขตทแี่ ตกต่างกัน ชนดิ ขอ้ มลู ขนาด ช่วงของข้อมลู รปู แบบของข้อมูล Float (4 ไบต)์ 3.4E-38 ถงึ 3.4E+38 หรือ เกบ็ ข้อมูลชนิดเลขทศนิยม Double ทศนิยม 6 Long Double (8 ไบต)์ 1.7E-308 ถึง 1.7E+308 หรือ เก็บข้อมูลชนิดเลขทศนยิ ม ทศนยิ ม 12 (10 ไบต์) 3.4E-4932 ถงึ 1.1E+4932 เกบ็ ข้อมูลชนิดเลขทศนิยม
ขอ้ ควรคำนึง - จะต้องเปน็ ค่าตวั เลขท่ีสามารถมจี ุดทศนยิ มได้ - ห้ามใชเ้ ครือ่ งหมาย , หรือชอ่ งว่างคั่นระหวา่ งตวั เลข เชน่ 1,234.03 - กรณีเปน็ ค่าบวกไม่จำเป็นต้องใสเ่ ครอ่ื งหมาย + นำหนา้ ค่า แตใ่ นกรณีเป็นคา่ ลบต้องใสเ่ ครอื่ งหมาย – นำหน้าค่าเสมอ - การเขียนในรูปแบบใชต้ วั อักษร E ค่าท่ีถูกกำหนดสามารถกำหนดได้ทง้ั ค่าบวกและค่าลบ - สามารถใช้เคร่ืองหมาย suffix ต่อทา้ ยค่าที่กำหนดใหต้ วั แปรได้ โดยใช้ L ต่อท้ายชนิดข้อมลู long double หรือใช้ F ตอ่ ท้ายค่าทเี่ ปน็ double (ใช้ตวั พมิ พใ์ หญห่ รือตวั เลก็ ความหมายเหมือนกนั )
นพิ จน์ นิพจน์ คือ ขอ้ ความหรือประโยคทเ่ี ขียนอย่ใู นรูปสัญลักษณ์ โดยนำขอ้ มลู ตัวแปร ฟังกช์ ัน หรือค่าคงท่ี มาสมั พนั ธก์ บั ตัวดำเนินการ ตัวอยา่ ง ตัวถกู กระทำที่ 1 (ตวั นพิ จน์ C++ แปร) ค่าคงที่ C+1 ตัวดำเนินการท่ี 1 ตัวถูกกระทำท่ี 1 (ตวั แปร) A + B – (C – 7) ตวั ดำเนนิ การ ตวั ถูกกระทำท่ี 2 (ตวั แปร) ตัวถูกกระทำที่ 1 (ตวั แปร) ตัวดำเนินการท่ี 2 C - 7 ค่าคงท่ี ตัวถกู กระทำท่ี 3 (นพิ จน)์ ตัวดำเนินการ
Search
Read the Text Version
- 1 - 9
Pages: