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 06:59:56

Description: นาย ก้องภพ กาศักดิ์ 6/3 เลขที่ 5
นางสาว กัญญาทิพย์ ต้นจำปี 6/3 เลขที่ 17

Search

Read the Text Version

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

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

3. ภาษาระดบั สูง (High Level Language) ภาษา ระดบั สูงเป็นภาษาท่ีสร้างข้ึนเพอ่ื ช่วยอานวยความ สะดวกในการเขียนโปรแกรม กลา่ วคือลกั ษณะของคาสง่ั จะประกอบดว้ ยคาตา่ ง ๆ ในภาษาองั กฤษ ซ่ึงผอู้ า่ น สามารถเขา้ ใจความหมายไดท้ นั ที ผเู้ ขียนโปรแกรมจึง เขียนโปรแกรมดว้ ยภาษาระดบั สูงไดง้ ่ายกวา่ เขียนดว้ ย ภาษาแอ สเซมบลีหรือภาษาเครื่อง ภาษาระดบั สูงมี มากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล (COBOL) ภาษา ปาสคาล (Pascal) ภาษาเบสิก(BASIC) ภาษาวิชวล เบสิก (Visual Basic) ภาษาซี (C) และภาษาจาวา (Java) เป็นตน้ โปรแกรมท่ีเขียนดว้ ยภาษาระดบั สูงแต่ ละภาษาจะตอ้ งมีโปรแกรมที่ทาหนา้ ท่ีแปล ภาษา ระดบั สูงใหเ้ ป็นภาษาเครื่อง เช่น โปรแกรมแปลภาษา ฟอร์แทรนเป็นภาษาเคร่ือง โปรแกรมแปลภาษาปาสคาล เป็นภาษาเคร่ือง คาส่งั หน่ึงคาส่งั ในภาษาระดบั สูงจะถกู แปลเป็ นภาษาเครื่ องหลายคาส่ัง ภาษาระดบั สูงที่จะกล่าวถึงในที่น้ี

โครงสร้างภาษาซี คาสั่งที่ใชง้ านในภาษา C น้นั ลว้ นเป็นฟังกช์ นั่ ท้งั สิ้น ดงั น้นั โปรแกรมที่เขียนข้ึนจึงประกอบไปดว้ ยฟังกช์ น่ั มากมาย ท่ีถกู กาหนดใหท้ าหนา้ ที่ใดหนา้ ท่ีหน่ึงในลกั ษณะของโมดลู ยอ่ ย เพื่อทางานใหบ้ รรลุเป้ าหมาย และในเม่ือภาษา C คือภาษาที่ ประกอบไปดว้ ยฟังกช์ น่ั ดงั น้นั จึงจาเป็นทาความเขา้ ใจ เก่ียวกบั ความหมายของฟังกช์ นั่ เสียก่อน ฟังกช์ นั่ (Function) คือ ชุดคาส่งั ท่ีเขียนข้ึนเพอ่ื สง่ั ให้ คอมพวิ เตอร์ทางาน ท่ีอนุญาตใหส้ ามารถรับขอ้ มลู (Input) ประมวลผล (Processes) และแสดงผลขอ้ มลู (Output) โดยฟังกช์ น่ั ท่ีถกู เขียนข้ึนใชง้ าน และสามารถ เรียกมาใชง้ านไดท้ นั ที จะถกู จดั เกบ็ ไวใ้ นไลบารีมาตรฐาน (Standard Library) ในขณะที่ฟังกช์ น่ั อ่ืนๆจะเป็น ฟังกช์ นั่ ท่ีถกู เขียนข้ึนโดยโปรแกรมเมอร์ อยา่ งไรกต็ ามใน ภาษา C จะมีฟังกช์ นั่ พเิ ศษฟังกช์ นั่ หน่ึงที่จาเป็นตอ้ งมีไวใ้ น โปรแกรมเสมอ คือ ฟังกช์ น่ั main() ท้งั น้ีฟังกช์ นั่ ดงั กลา่ ว จดั เป็นฟังกช์ นั่ หลกั ท่ีนามาใชเ้ ป็นจุดเร่ิมตน้ ของโปรแกรมเพ่อื สงั่ ใหท้ างาน โดยฟังกช์ น่ั อื่นๆจะถือเป็นรูทีนยอ่ ย (Subroutines)

โครงสร้าง

อกั ขระในภาษา C (C Character Sets) Basic Character set ประกอบดว้ ยกลุ่มอกั ขระ ดงั ต่อไปน้ี - อกั ษรตวั พมิ พใ์ หญ่ (Alphabets Upper Case) ประกอบดว้ ยอกั ษร A-Z จานวน 26 ตวั ดงั น้ี A B C DEFGHIJKLMNOPQRSTUVWXYZ - อกั ษรตวั พิมพเ์ ลก็ (Alphabets Lower Case) ประกอบดว้ ยอกั ษร a-z จานวน 26 ตวั ดงั น้ี abcdefghijklmnopqrstuvwxyz - ตวั เลข (Decimal Digits) ประกอบไปดว้ ยตวั เลข 0 - 9 จานวน 10 ตวั ดงั น้ี 0 1 2 3 4 5 6 7 8 9 - ตวั อกั ขระแบบกราฟิ ก ประกอบดว้ ยสญั ลกั ษณ์ ต่างๆ จานวน 29 ตวั ดงั น้ี

เครื่องหมายต่างๆในภาษาซี 1. { } เป็นตวั กาหนดขอบเขตหรือบลอ็ กของฟังกช์ นั 2. ( ) เป็นการระบุตวั อ่านค่าหรืออาร์กิวเมนตใ์ หก้ บั ฟังกช์ นั ถา้ ภายในวงเลบ็ ไม่มีขอ้ ความใดๆ แสดงวา่ ไม่มีตวั ผา่ น ค่าท่ีตอ้ งการระบุฟังกช์ นั น้นั ๆ 3. /* */ - เป็นการกาหนด comment หรือขอ้ ความ ที่ไม่ตอ้ งการใหค้ อมไพเลอร์ปฏิบตั ิงาน ซ่ึงขอ้ ความท่ีอยู่ ภายในเคร่ืองหมายน้ีจะถือวา่ ไม่ใช่คาส่ังปฏิบตั ิงาน

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



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

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

นาย กอ้ งภพ กาศกั ด์ิ ม.6/3 เลขท่ี 5 kongphob2811 @gmail.com น.ส.กญั ญาทิพย์ ตน้ จาปี ม.6/3 เลขท่ี 17 kanyathip12100 @gmail.com


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