ความรู้เกย่ี วกบั ภาษาซี ป ประกอบการเรียนวชิ า ว30268 ภาษาซี ครูผู้สอน ครูรัชนก วงศ์เขยี ว
คานา รายงานฉบบั นีเ้ป็นสว่ นหนง่ึ ของรายวชิ า ภาษาซี ว30268 จดั ทา ขนึ ้ เพ่ือศกึ ษาเกี่ยวกบั ภาษาซี เพื่อเป็นประโยชน์ แก่ผ้อู า่ นหรือผ้ทู ี่สนใจจะ ศกึ ษาเกี่ยวกบั ภาษาซี ผ้จู ดั ทา หวงั เป็นอย่างยิ่งวา่ รายงานฉบบั นีจ้ ะเป็นประโยชน์แก่ ผ้อู า่ นหรือผ้ทู ี่สนใจท่ีจะศกึ ษาเก่ียวกบั ภาษาซี หากมีข้อบกพร่องประการ ใด ผ้จู ดั ทาขออภยั ไว้ ณ โอกาสนีด้ ้วย จดั ทาโดย นางสาว พรไพลนิ รักบุตร นางสาว สวรินทร์ มือดี
ลักษณะของภาษาคอมพวิ เตอร์ ภาษาเคร่ือง ภาษานีป้ ระกอบด้วยตวั เลขล้วน ทาให้ เครื่องคอมพิวเตอร์สามารถทางานได้ทนั ที ผ้ทู ี่จะเขียนโปรแกรม ภาษาเคร่ืองได้ต้องสามารถจารหสั แทนคาสง่ั ตา่ ง ๆ ได้ และในการ คานวณต้องสามารถจาได้วา่ จานวนต่าง ๆ ท่ีใช้ในการคานวณนนั้ ถกู เก็บไว้ท่ีตาแหนง่ ใด ภาษาระดับต่า เป็นภาษาที่มี ความใกล้เคียงกบั ภาษาเครื่องมาก ดงั นนั้ บางครัง้ จงึ เรียกภาษานีว้ ่า ภาษาอิงเคร่ือง ตวั อย่างของ ภาษาระดบั ต่าได้แก่ ภาษาแอสเซมบลี เป็นภาษาท่ีใช้คา ในอกั ษรภาษาองั กฤษเป็นคาสงั่ ให้ เครื่องทางาน เชน่ ADD หมายถึง บวก SUB หมายถงึ ลบ เป็นต้น
ภาษาระดับสูง เป็นภาษาท่ีสร้างขนึ ้ เพื่อชว่ ยอานวยความ สะดวกในการเขียนโปรแกรม ลกั ษณะของคาสงั่ ตา่ ง ๆ ใน ภาษาองั กฤษซงึ่ ผ้อู า่ นสามารถเข้าใจความหมายได้ทนั ที ผ้เู ขียน โปรแกรมจงึ สามารถเขียนโปรแกรมด้วยภาษาระดบั สงู ได้ง่ายกว่า เขียนด้วยภาษาแอสเซมบลหี รือภาษาเครื่อง ภาษาระดบั สงู มี หลายภาษา เชน่ ภาษาฟอร์แทรน ภาษาโคบอล ภาษาปาสคาล ภาษาเบสิก ภาษาซีและซีพลสั พลสั เป็นต้น
ประวัตแิ ละความเป็ นมาของภาษาซี ภาษาซีเป็นภาษาที่ถือว่าเป็นทงั ้ ภาษาระดบั สงู และระดบั ต่า ถกู พฒั นาโดย เดนนิส ริดชี (Dennis Ritche) แหง่ ห้องทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซ่ี โดยเดนนิสได้ใช้หลกั การของ ภาษา บซี ีพีแอล (BCPL : Basic Combine Programming Language) ซงึ่ พฒั นาขนึ ้ โดยเคน ทอมสนั (Ken Tomson) การออกแบบ และพฒั นาภาษาซีของเดนนิส ริดชี มีจดุ มงุ่ หมายให้เป็นภาษาสาหรับใช้เขยี น โปรแกรมปฏิบตั กิ ารระบบยนู ิกซ์ และได้ตงั ้ ชื่อว่า ซี (C) เพราะเหน็ วา่ ซี (C) เป็น ตวั อกั ษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่าเป็นภาษาระดบั สงู และ ภาษาระดบั ต่า ทงั ้ นีเ้พราะ ภาษาซีมวี ธิ ีใช้ข้อมลู และมโี ครงสร้างการควบคมุ การ ทางานของโปรแกรมเป็นอย่างเดียวกบั ภาษาของโปรแกรมระดบั สงู อื่นๆ จงึ ถือวา่ เป็นภาษาระดบั สงู ในด้านที่ถือว่าภาษาซีเป็นภาษาระดบั ต่า เพราะภาษาซีมวี ิธีการ เข้าถึงในระดบั ต่าท่ีสดุ ของฮาร์ดแวร์ ความสามารถทงั ้ สองด้านของภาษานีเ้ป็นสงิ่ ที่ เกือ้ หนนุ ซงึ่ กนั และกนั ความสามารถระดบั ต่าทาให้ภาษาซีสามารถใช้เฉพาะเคร่ือง ได้ และความสามารถระดบั สงู ทาให้ภาษาซีเป็นอสิ ระจากฮาร์ดแวร์ ภาษาซี สามารถสร้างรหสั ภาษาเครื่องซง่ึ ตรงกบั ชนิดของข้อมลู นนั ้ ได้เอง ทาให้โปรแกรมท่ี เขียนด้วยภาษาซีที่เขียนบนเคร่ืองหน่ึง สามารถนาไปใช้กบั อีกเคร่ืองหนึ่งได้ ประกอบกบั การใช้พอยน์เตอร์ในภาษาซี นบั ได้วา่ เป็นตวั อย่างที่ดีของการเป็นอสิ ระ จากฮาร์ดแวร์
โครงสร้ างภาษาซี ภาษา C เป็นภาษาคอมพวิ เตอร์ที่ถกู ค้นคิดขนึ ้ โดย Denis Ritchie ในปี ค.ศ. 1970 โดยใช้ระบบปฏิบตั ิการของยนู กิ ซ์ (UNIX) นบั จากนนั ้ มาก็ได้รับความนิยมเพม่ิ ขนั ้ จนถงึ ปัจจบุ นั ภาษา C สามารถตดิ ต่อในระดบั ฮาร์ดแวร์ได้ดีกวา่ ภาษาระดบั สงู อื่น ๆ ไมว่ ่าจะเป็นภาษาเบสกิ ฟอร์แทน ขณะเดียวกนั กม็ คี ณุ สมบตั ิของภาษาระดบั สงู อยดู่ ้วย ด้วยเหตผุ ลดงั กลา่ วจงึ จดั ได้วา่ ภาษา C เป็นภาษาระดบั กลาง (Middle –lever language) ภาษา C เป็นภาษาคอมพวิ เตอร์ชนิดคอมไพล์ (compiled Language) ซงึ่ มคี อมไพลเลอร์ (Compiler) ทาหน้าท่ีในการคอมไพล์ (Compile) หรือแปลง คาสง่ั ทงั ้ หมดในโปรแกรมให้เป็นภาษาเคร่ือง (Machine Language) เพื่อให้ เคร่ืองคอมพิวเตอร์นาคาสง่ั เหลา่ นนั ้ ไปทางานตอ่ ไป
โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็ น 3 ส่วน 1.ส่วนหวั ของโปรแกรมนีเ้รียกวา่ Preprocessing Directive ใช้ระบเุ พ่ือบอกให้คอมไพเลอร์กระทาการ ใด ๆ กอ่ นการแปลผลโปรแกรม ใน ท่ีน่ีคาสงั่ #include <stdio.h> ใช้บอกกบั คอมไพเลอร์ให้นาเฮดเดอร์ไฟล์ ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด preprocessing directives นีจ้ ะต้องขนึ ้ ต้นด้วยเครื่องหมาย # เสมอ คาสง่ั ท่ีใช้ระบใุ ห้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คอื - #include <ช่ือเฮดเดอร์ไฟล์> คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟล์ที่ ระบจุ ากไดเรกทอรีทใ่ี ช้สาหรับเกบ็ เฮดเดอร์ไฟล์โดยเฉพาะ (ปกตคิ ือไดเรกทอรี ช่ือ include) - #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟที่ ระบุ จากไดเร็คทอรีเดียวกนั กบั ไฟล์ source code นนั้ แต้ถ้าไมพ่ บก็จะไป ค้นหาไดเร็คทอรีทใี่ ช้เกบ็ เฮดเดอร์ไฟล์โดยเฉพาะ
2. ส่วนของฟังก์ช่ันหลัก ฟังก์ชน่ั หลกั ของภาษาซี คือ ฟังก์ชน่ั main() ซงึ่ โปรแกรมภาษาซี ทกุ โปรแกรมจะต้องมีฟังก์ชน่ั นีอ้ ย่ใู นโปรแกรมเสมอ จะเหน็ ได้จากช่ือ ฟังก์ชน่ั คอื main แปลวา่ “หลกั ” ดงั นนั้ การเขียนโปรแกรมภาษซจี ึงขาด ฟังก์ชนั่ นีไ้ ปไม่ได้ โดยขอบเขตของฟังก์ชนั่ จะถกู กาหนดด้วยเคร่ืองหมาย { และ } กลา่ วคอื การทางานของฟังก์ชน่ั จะเริ่มต้นท่ีเคร่ืองหมาย { และจะ สนิ ้ สดุ ท่ีเครื่องหมาย } ฟังก์ชนั่ main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกนั คือ หมายความวา่ ฟังก์ชนั่ main() จะไม่มีอาร์กิวเมนต์ (argument) คอื ไมม่ ีการรับคา่ ใด ๆ เข้ามาประมวลผลภายในฟังก์ชน่ั และจะไมม่ ีการคนื คา่ ใด ๆ กลบั ออกไปจากฟังก์ชน่ั ด้วย
3. ส่วนรายละเอียดของโปรแกรม เป็นสว่ นของการเขียนคาสงั่ เพ่ือให้โปรแกรมทางานตามท่ี ได้ออกแบบไว้ คอมเมนต์ในภาษาซี คอมเมนต์ (comment) คอื สว่ นท่ีเป็นหมายเหตขุ อง โปรแกรม มีไว้เพื่อให้ผ้เู ขียนโปรแกรมใสข่ ้อความอธิบายกากบั ลง ไปใน source code ซงึ่ คอมไพเลอร์จะข้ามาการแปลผลใน สว่ นที่เป็นคอมเมนต์นี ้คอมเมนต์ในภาษาซมี ี 2 แบบ คอื ¨ คอมเมนต์แบบบรรทดั เดยี ว ใช้เคร่ืองหมาย // ¨ คอมเมนต์แบบหลายบรรทดั ใช้เคร่ืองหมาย /* และ */
ตวั แปรของภาษาซี ตวั แปร (Variable) คือ การจองพืน้ ท่ีในหน่วยความจาของ คอมพิวเตอร์สาหรับเก็บข้อมลู ท่ีต้องใช้ในการทางานของโปรแกรม โดยมีการตงั้ ชื่อเรียกหน่วยความจาในตาแหนง่ นนั้ ด้วย เพ่อื ความ สะดวกในการเรียกใช้ข้อมลู ถ้าจะใช้ข้อมลู ใดก็ให้เรียกผ่านชื่อของ ตวั แปรที่เก็บเอาไว้
ตวั แปรของภาษาซี การปรากาศตวั แปร จะต้องมีการกาหนดช่ือให้กบั ตวั แปร เพื่อให้ โปรแกรมทางาน กฏการตงั ้ ช่ือในภาษาซียงั ใช้กบั ชื่อตา่ งๆ ในโปรแกรมได้อีกด้วย ตวั อยา่ งเช่น การกาหนด ช่ือโปรแกรม ชื่อของตวั แปรต่างๆ เป็นต้น การตงั ้ ช่ือใน ภาษาซี มี รูปแบบดงั นี ้ 1. ช่ือต้องไมซ่ า้ กบั คาสงวน (Reserved word) และคามาตรฐาน ที่คอมไพล์เลอร์รู้จกั 2. จะต้องขนึ ้ ต้นด้วยตวั อกั ษร (A-Z, a-z) หรือเคร่ืองหมาย _ (Underscore) เท่านนั ้ 3. ตวั ตอ่ ไปต้องเป็นตวั อกั ษรหรือตวั เลขหรือเครื่องหมาย _ 4. การตงั ้ ชื่อจะต้องไมม่ ชี อ่ งวา่ ง 5. ตวั อกั ษรตวั เลก็ และตวั อกั ษรตวั ใหญ่จะมคี วามมายแตกตา่ งกนั
การเขียนผังงานภาษาซี •ผงั งาน หมายถงึ เคร่ืองมือท่ีชว่ ยในการเขียนโปรแกรม โดย เขียนเป็นเคร่ืองหมายภาพสญั ลกั ษณ์แสดงลาดบั ขนั้ ตอนการ ทางาน •การเขียนผงั งาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการ วเิ คราะห์งานให้อย่ใู นรูปภาพหรือสญั ลกั ษณ์ •ผ้เู ขียนโปรแกรมจะสามารถเข้าใจลาดบั ขนั้ ตอนการเขียน โปรแกรมได้อยา่ งรวดเร็วและง่ายขนึ ้ และง่ายตอ่ การตรวจสอบ ความถกู ต้องของลาดบั ขนั้ ตอนในวธิ ีการประมวลผล
จดั ทาโดย นางสาว พรไพลิน รักบุตร เลขท่ี 34 นางสาว สวรินทร์ มือดี เลขท่ี 38
Search
Read the Text Version
- 1 - 15
Pages: