Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ความรู้เกี่ยวกับภาษาซี

ความรู้เกี่ยวกับภาษาซี

Published by ก้องภพ ก๋าศักดิ์, 2020-11-05 07:06:37

Description: กฤติยาภรณ์ วังเเง่ เลขที่16 ชั้นม.6/3
พวงทอง ลุงหรั่ง เลขที่18ชั้นม.6/3

Search

Read the Text Version

คานา หนังสืออิเลก็ ทรอนิกสเ์ รื่อง ภาษาซี โรงเรียนเล่มนี้ ใชป้ ระกอบวชิ าว30268 ภาษาซี ชั้น มัธยมศึกษาปีที6่ ซง่ึ ในเนือ้ หาจะอธิบายถึงเรือ่ งความรู้ เกย่ี วกับภาษาซีในโรงเรียนวังหนือวทิ ยา หวังเป็นอยา่ งยิง่ ว่าจะเป็นประโยชน์ตอ่ ผู้ทีศ่ ึกษาได้เปน็ อยา่ งดี กฤตยิ าภรณ์ วงั แง่ พวงทอง ลุงหร่งั ผู้จดั ทา

ประวัตคิ วามเปน็ มาเกี่ยวกับภาษาซี ภาษาซีเปน็ ภาษาที่ถอื วา่ เป็นทัง้ ภาษาระดบั สูงและระดบั ต่า ถูกพฒั นาโดยเดนนสิ ริดชี (Dennis Ritche) แหง่ ห้องทดลองเบลล์ (Bell Laboratories) ที่เมอรร์ ีฮิล มลรฐั นิวเจอรซ์ ี่ โดยเดนนสิ ได้ใช้ หลักการของภาษา บีซีพีแอล (BCPL : Basic Combine Programming Language) ซ่ึงพัฒนาขนึ้ โดยเคน ทอมสัน (Ken Tomson) การออกแบบและพัฒนาภาษาซีของเดนนสิ ริดชี มี จุดมุง่ หมายใหเ้ ปน็ ภาษาสาหรับใช้เขยี นโปรแกรมปฏบิ ตั กิ ารระบบ ยูนิกซ์ และไดต้ ั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็นตัวอักษรตอ่ จากบี (B) ของภาษา BCPL ภาษาซีถือว่าเปน็ ภาษาระดับสูงและ ภาษาระดับต่า ทั้งนีเ้ พราะ ภาษาซีมีวิธีใช้ข้อมูลและมีโครงสรา้ ง การควบคุมการทางานของโปรแกรมเป็นอยา่ งเดียวกับภาษาของ โปรแกรมระดับสูงอื่นๆ จึงถอื ว่าเปน็ ภาษาระดับสูงในด้านทีถ่ อื วา่ ภาษาซีเป็นภาษาระดบั ตา่ ทั้งน้เี พราะ ภาษาซีมีวธิ ีใชข้ อ้ มูลและมี โครงสร้างการควบคมุ การทางานของโปรแกรมเปน็ อย่างเดียวกับ ภาษาของโปรแกรมระดบั สูงอืน่ ๆ จงึ ถอื วา่ เป็นภาษาระดับสูงในดา้ น ที่ถือวา่ ภาษาซีเปน็ ภาษาระดบั ต่า

ลักษณะของภาษาคอมพวิ เตอร์ การใชง้ านคอมพิวเตอรซ์ ่งึ เป็นเครื่องมือทางอิเล็กทรอนิกสใ์ ห้ ทางานตามที่ตอ้ งการจาเปน็ ตอ้ งมกี ารกาหนดภาษาสาหรับใช้ตดิ ตอ่ ส่งั งานกับคอมพวิ เตอรภ์ าษาคอมพิวเตอรจ์ ะเป็นภาษาประดษิ ฐ์ที่ มนุษยส์ รา้ งขน้ึ มาเอง เป็นภาษาที่มจี ุดมุ่งหมายเฉพาะ มีกฏเกณฑ์ที่ ตายตัวและจากัด คืออยูใ่ นกรอบให้ใชค้ าและไวยากรณ์ทีก่ าหนดและ มีการตีความหมายทชี่ ัดเจน จงึ จัดภาษาคอมพิวเตอร์เป็นภาษาทมี่ ี รูปแบบเปน็ ทางการตา่ งกับภาษาธรรมชาตทิ ีม่ ขี อบเขตกวา้ งมาก ไม่มีรูปแบบตายตวั ทีแ่ น่นอน ภาษาคอมพวิ เตอร์ อาจแบง่ ไดเ้ ปน็ 3 ระดับ คือภาษาเครื่อง ภาษาระดบั ตา่ และภาษาระดบั สูง 1. ภาษาเครื่อง การเขียนโปรแกรมเพอื่ ส่งั ใหค้ อมพวิ เตอรท์ างานในยุคแรก ๆ จะต้องเขียนดว้ ยภาษาซงึ่ เป็นทยี่ อมรับของเครือ่ งคอมพิวเตอร์ที่ เรียกว่า ภาษาเครือ่ ง ภาษานี้ประกอบดว้ ยตวั เลขล้วนทาใหเ้ ครื่อง คอมพิวเตอร์สามารถทางานไดท้ ันที ผู้ที่จะเขียนโปรแกรม ภาษาเครื่องได้ตอ้ งสามารถจารหัสแทนคาสัง่ ตา่ งๆ ได้ และในการ คานวณต้องสามารถจาไดว้ า่ จานวนตา่ งๆ ที่ใชใ้ นการคานวณนัน้ ถูกเก็บไวท้ ีต่ าแหนง่ ใด ดังนั้นโอกาสที่จะเกดิ ความผดิ พลาดใน การเขียนโปรแกรมจึงมมี าก

2. ภาษาระดับตา่ เนือ่ งจากภาษาเคร่อื งเปน็ ภาษาทมี่ ีความยงุ่ ยากในการเขยี นดงั ไดก้ ล่าวมาแล้ว จงึ ไม่มีผูน้ ยิ มและมกี ารใช้นอ้ ย ดังนัน้ ไดม้ ีการ พฒั นาภาษาคอมพวิ เตอรข์ นึ้ อีกระดบั หนง่ึ โดยการใชต้ ัวอกั ษร ภาษาองั กฤษเป็นรหสั แทนการทางาน และใชก้ ารตง้ั ชื่อตวั แปร แทนตาแหนง่ ทใี่ ชเ้ ก็บจานวนต่างๆ ซึ่งเปน็ ค่าของตัวแปรนั้น ๆ การใช้สัญลักษณช์ ่วยใหก้ ารเขยี นโปรแกรมนี้เรียกวา่ ภาษาระดบั ตา่ ภาษาระดับต่า เปน็ ภาษาทมี่ ีความใกลเ้ คียงกบั ภาษาเครื่องมาก ดังนั้นบางคร้งั จงึ เรียกภาษานี้วา่ ภาษาองิ เครือ่ ง 3. ภาษาระดับสูง เป็นภาษาทสี่ ร้างขน้ึ เพอื่ ชว่ ยอานวยความสะดวกในการเขยี น โปรแกรม ลักษณะของคาสง่ั ต่าง ๆ ในภาษาอังกฤษซ่ึงผูอ้ า่ น สามารถเขา้ ใจความหมายไดท้ ันที ผูเ้ ขียนโปรแกรมจึงสามารถ เขียนโปรแกรมดว้ ยภาษาระดบั สูงไดง้ ่ายกว่าเขยี นดว้ ย ภาษาแอสเซมบลีหรือภาษาเคร่อื ง ภาษาระดับสูงมีหลายภาษา เชน่ ภาษาฟอร์แทรน ภาษาโคบอล ภาษาปาสคาล ภาษาเบสกิ ภาษาวชิ วลเบสกิ ภาษาซี ภาษาจาวา โปรแกรมที่เขียนดว้ ย ภาษาระดบั สูงแตล่ ะภาษาจะตอ้ งมีโปรแกรมที่ทาหนา้ ที่ แปลภาษาระดับสูงให้เป็นภาษาเครื่อง

4. ภาษาระดบั สูงมาก (Very high - Level Language) สามารถเรียกไดอ้ ีกอยา่ งวา่ ภาษาในรุน่ ที่ 4 (4GLs: Fourth Generation Languages) ภาษานี้เปน็ ภาษาทอี่ ยู่ใน ระดับที่สูงกวา่ ภาษารุ่นที่ 3 มีลักษณะของภาษาในรุ่นทีเ่ ปน็ ธรรมชาติคลา้ ย ๆ กับภาษาพูดของมนุษยจ์ ะชว่ ยในเรื่องของ การสร้างแบบฟอร์มบนหน้าจอเพื่อจดั การเกีย่ วกบั ข้อมูล รวมไปถงึ การออกรายงานซง่ึ จะมกี ารจดั การที่งา่ ยมากไม่ ยุง่ ยากเหมอื นภาษารุน่ ที่ 3 ตัวอยา่ งของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase, InGres เปน็ ตน้ ลักษณะของ 4GL มีดังต่อไปนี้ เป็นภาษาแบบ Nonprocedural ซง่ึ หมายวาคมว่าผูใ้ ช้ เพียงแตบ่ อกว่าตอ้ งการอะไร แตไ่ มต่ ้องบอกถึงรายละเอียด ว่าตอ้ งทาอยา่ งไร คอมพวิ เตอร์จะเปน็ ผู้จัดการให้เองหมด ตัวอย่างเชน่ ถา้ ตอ้ งการสรา้ งแบบฟอรม์ การรบั ขอ้ มูลจาก ผูใ้ ช้ ผูเ้ ขียนโปรแกรมเพยี งแตท่ าการออกแบบหน้าตาของ แบบฟอร์มนั้นบนโปรแกรมอิดิเตอร์ (Editor) ใดๆ และเก็บ เปน็ ไฟล์ไวเ้ มื่อจะเรียกใช้งานแบบฟอรม์ นัน้ เพยี งแตใ่ ชค้ าสั่ง เปดิ ไฟล์นั้นขนึ้ มาแสดงบนหนา้ จอคอมพวิ เตอรไ์ ดโ้ ดยทันที

ซ่ึงต่างจากภาษารุ่นที่ 3 ซ่ึงเปน็ แบบ Procedural ผูเ้ ขียน โปรแกรมจะต้องเขยี นรายละเอียดของโปรแกรมทงั้ หมดว่า ที่บรรทัดนีค้ อลมั น์นีจ้ ะใหแ้ สดงขอ้ ความหรือขอ้ มูลอะไร ออกมา ซง่ึ ถ้าตอ่ ไปจะมีการปรับเปลี่ยนหน้าตาของ แบบฟอร์ม ก็จะเป็นเรือ่ งทีย่ ุง่ ยากอย่างยงิ่ หรือในการสร้าง รายงานดว้ ย 4GLs ก็สามารถทาได้อยา่ งงา่ ยดายเพียงแต่ ระบุลงไปว่าตอ้ งการรายงานอะไร มีขอ้ มูลใดทีจ่ ะนามา แสดงบา้ ง โดยไมต่ อ้ งบอกถงึ วธิ ีการสร้าง หรือการดึงขอ้ มูล แต่อย่างใด 4GLs จะจัดการใหเ้ องหมด 5. ภาษาธรรมชาติ เป็นภาษาในยุคที่ 5 ที่มีรปู แบบเป็นแบบ Nonprocedural เชน่ เดียวกับภาษารนุ่ ที่ 4 การทีเ่ รียกวา่ ภาษาธรรมชาติ เพราะจะ สามารถส่งั งานคอมพวิ เตอรไ์ ดโ้ ดยใช้ภาษามนุษยโ์ ดยตรง ซึ่ง โดยทัว่ ไปคาส่งั ที่มนุษยป์ อ้ นเขา้ ไปในคอมพวิ เตอรจ์ ะอยู่ในรูปของ ภาษาพูดมนุษย์ ซง่ึ อาจมีรปู แบบที่ไมแ่ นน่ อนตายตวั แตค่ อมพิวเตอร์ กส็ ามารถแปลคาสัง่ เหล่านั้นให้อยู่ในรูปแบบทีค่ อมพวิ เตอรเ์ ข้าใจได้ ถา้ ตั้งคาถามใดไม่กระจา่ งกจ็ ะมกี ารถามกลับเพื่อให้เขา้ ใจคาถามได้ อย่างถูกตอ้ ง

ภาษาระดบั สูง ได้แก่ 1.ภาษาฟอรแ์ ทรน เปน็ ภาษาระดับสูงที่เก่าแกท่ สี่ ดุ เป็นภาษาที่ เหมาะสมกับงานทีต่ อ้ งการคานวณ 2. ภาษาโคบอล เปน็ ภาษาที่เหมาะสาหรบั งานด้านธุรกิจ เครื่องคอมพวิ เตอร์ขนาดใหญ่ 3. ภาษาเบสกิ เปน็ ภาษาทีส่ รา้ งข้นึ มาโดยมจี ุดประสงคเ์ พื่อใช้ สอนเขียนโปรแกรม 4. ภาษาซีและซพี ลัสพลัส เปน็ ภาษาทมี่ ีใช้กับเครื่อง คอมพวิ เตอรท์ ุกระดับ เนือ่ งจากภาษาซีได้รวมเอาขอ้ มูลของ ภาษาระดบั สูงและภาษาระดบั ตา่ เขา้ ไว้ดว้ ยกนั 5. ภาษาวิชวลเบสิก เป็นภาษาที่พัฒนาตอ่ มาจากภาษาเบสิก เป็นภาษาทใี่ ช้ไวยากรณ์ 6.การเขียนโปรแกรมแบบจนิ ตภาพ ในการพัฒนาโปรแกรม ภาษานีพ้ ัฒนาขึ้นโดยบริษัทไมโครซอฟต์ ออกแบบเพือ่ เขียน โปรแกรมที่สามารถใชง้ านได้ 7.ภาษาจาวา เป็นภาษาทมี่ ีความยืดหยนุ่ สูง สามารถเขยี น โปรแกรมและใชง้ านได้ บนเครือ่ งคอมพวิ เตอร์ทุกประเภทและ ระบบปฏบิ ัติการทุกรูปแบบ 8.ภาษาเดลฟาย แนวคดิ การเขียนโปรแกรมของภาษาเดลฟาย เหมือนกับแนวคดิ ของภาษาวิชวลเบสกิ

โครงสรา้ งของโปรแกรมภาษาซแี บง่ ออกเปน็ 3 สว่ น 1. ส่วนหัวของโปรแกรม สว่ นหัวของโปรแกรมนีเ้ รียกว่า Preprocessing Directive ใชร้ ะบุเพือ่ บอกให้คอมไพเลอร์กระทาการ ใด ๆ กอ่ นการแปลผลโปรแกรม ในที่นี่คาส่งั #include <stdio.h> ใชบ้ อกกับคอมไพเลอรใ์ ห้นาเฮดเดอรไ์ ฟลท์ ี่ระบุ คือ stdio.h เข้ารว่ มในการแปลโปรแกรมดว้ ย โดยการ กาหนด preprocessing directives นีจ้ ะต้องขึน้ ตน้ ดว้ ย เครื่องหมาย # เสมอ คาส่งั ที่ใชร้ ะบใุ หค้ อมไพเลอรน์ าเฮดเดอรไ์ ฟล์เขา้ รว่ มในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ - #include <ชือ่ เฮดเดอรไ์ ฟล์> คอมไพเลอรจ์ ะทาการ ค้นหาเฮดเดอรไ์ ฟล์ที่ระบจุ ากไดเรกทอรีทีใ่ ชส้ าหรบั เกบ็ เฮดเดอรไ์ ฟลโ์ ดยเฉพาะ (ปกตคิ ือไดเรกทอรชี ื่อ include) - #include “ชือ่ เฮดเดอรไ์ ฟล์” คอมไพเลอรจ์ ะทาการ ค้นหาเฮดเดอรไ์ ฟทีร่ ะบุ จากไดเร็คทอรีเดยี วกนั กับไฟล์ source code นั้น แต้ถา้ ไมพ่ บก็จะไปคน้ หาไดเรค็ ทอรีที่ ใช้เกบ็ เฮดเดอรไ์ ฟล์โดยเฉพาะ

2. สว่ นของฟังก์ชั่นหลัก ฟังก์ชัน่ หลักของภาษาซี คือ ฟังก์ชั่น main() ซงึ่ โปรแกรม ภาษาซีทุกโปรแกรมจะตอ้ งมีฟังกช์ ัน่ นี้อยูใ่ นโปรแกรมเสมอ จะ เห็นได้จากชือ่ ฟังก์ชัน่ คือ main แปลวา่ “หลัก” ดังนั้น การเขียน โปรแกรมภาษซีจงึ ขาดฟังก์ชัน่ นี้ไปไมไ่ ด้ โดยขอบเขตของฟงั ก์ชัน่ จะถูกกาหนดดว้ ยเครื่องหมาย { และ } กล่าวคือ การทางานของ ฟังก์ชั่นจะเร่มิ ตน้ ทีเ่ ครือ่ งหมาย { และจะสิน้ สดุ ทีเ่ ครือ่ งหมาย } ฟังก์ชั่น main() สามารถเขยี นในรูปแบบของ void main(void) ก็ ได้ มีความหมายเหมอื นกัน คือ หมายความว่าฟังกช์ ัน่ จะไม่มี อารก์ ิวเมนต์ (argument) 3.ส่วนรายละเอียดของโปรแกรม เป็นส่วนของการเขียนคาสัง่ เพือ่ ให้โปรแกรมทางาน ตามที่ไดอ้ อกแบบไวค้ อมเมนต์ในภาษาซี คอมเมนต์ (comment) คือส่วนทีเ่ ป็นหมายเหตขุ องโปรแกรม มีไวเ้ พื่อให้ผูเ้ ขียนโปรแกรมใส่ข้อความอธบิ ายกากบั ลงไปใน source code ซึง่ คอมไพเลอรจ์ ะขา้ มาการแปลผลในสว่ นที่เปน็ คอมเมนตน์ ี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ ¨ คอมเมนตแ์ บบบรรทัดเดียว ใช้เครื่องหมาย // ¨ คอมเมนต์แบบหลายบรรทัด ใช้เครือ่ งหมาย /* และ */

การเขียนผังงาน ( Flowchart ) „ผังงาน หมายถงึ เครือ่ งมือทีช่ ่วยในการเขียน โปรแกรม โดยเขียนเป็นเครื่องหมายภาพสญั ลกั ษณ์ แสดงลาดับขัน้ ตอนการทางาน „การเขียนผังงาน เป็นการถา่ ยทอดความเข้าใจที่ ได้จากการวิเคราะหง์ านให้อยู่ในรูปภาพหรือสญั ลกั ษณ์ „ผูเ้ ขียนโปรแกรมจะสามารถเขา้ ใจลาดบั ขัน้ ตอน การเขียนโปรแกรมไดอ้ ย่างรวดเรว็ และง่ายขึน้ และ งา่ ยต่อการตรวจสอบความถูกตอ้ งของลาดบั ขั้นตอนใน วิธีการประมวลผล

ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณร์ ูปภาพและ ลูกศรที่แสดงถงึ ขนั้ ตอนการทางานของโปรแกรมหรือ ระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของขอ้ มลู ตั้งแต่แรกจนไดผ้ ลลัพธ์ตามทตี่ อ้ งการ วิธีเขยี นผังงานทดี่ ี 1. ใชส้ ญั ลักษณตามทีก่ าหนดไว้ 2. ใชล้ ูกศรแสดงทิศทางการไหลของขอ้ มูลจากบน ลงลา่ ง หรือจากซา้ ยไปขวา 3. คาอธิบายในภาพสญั ลกั ษณ์ผังงานควรสัน้ กะทัดรัด และเข้าใจง่าย 4. ทุกแผนภาพตอ้ งมีลูกศรแสดงทศิ ทางเขา้ - ออก 5. ไม่ควรโยงเส้นเชื่อมผงั งานที่อยู่ไกลมาก ๆ ควร ใช้ สญั ลกั ษณจ์ ุดเชือ่ มต่อแทน 6. ผังงานควรมีการทดสอบความถูกตอ้ งของการ ทางาน กอ่ นนาไปเขี่ยนโปรแกรมจรงิ





กฤตยิ าภรณ์ วงั แง่ Email:[email protected] พวงทอง ลุงหรง่ั Email:[email protected]


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook