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:28:10

Description: นางสาว อิงทุอร การนอก ม.6/3 เลขที่ 15
นางสาว ธนพร เปิดช่อง ม.6/3 เลขที่ 21

Search

Read the Text Version

ความรู้เก่ียวกบั ภาษาซี ประกอบวชิ า ว 30268 ภาษาซี ครูผสู้ อน ครูรัชชนก วงศข์ ียว

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

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

ภาษาคอมพวิ เตอร์ มนษุ ย์ ใช้ภาษาในการส่ือสารมาตงั้ แตส่ มยั โบราณ การใช้ภาษาเป็นเรื่องที่ มนษุ ย์พยายามถ่ายทอดความคดิ และความรู้สกึ ต่าง ๆ เพอ่ื การโต้ตอบและ ส่ือความหมาย ภาษาท่ีมนษุ ย์ใช้ติดต่อส่ือสารในชีวติ ประจาวนั เช่น ภาษาไทย ภาษาองั กฤษ หรือภาษาจีน ตา่ งเรียกวา่ “ภาษาธรรมชาติ” (Natural Language) เพราะมีการศกึ ษา ได้ยนิ ได้ฟัง กนั มา ตงั้ แตเ่ กิดการใช้งานคอมพวิ เตอร์ ซงึ่ เป็นเครื่องมือทางอเิ ลก็ ทรอนิกส์ให้ ทางานตามที่ต้องการ จาเป็นต้องมีการกาหนดภาษา สาหรับใช้ติดต่อ สงั่ งานกบั คอมพวิ เตอร์ ภาษาคอมพวิ เตอร์จะเป็น ”ภาษาประดิษฐ์” (จAดุ rมt่งุ หifมiาcยiเaฉพลlาLกั ะaษมnีกณฎgเกuะณขaฑอg์ทงe่ีตภา)ยาทตี่มวัษแนลาษุ ะยคจ์คาอดิกสมดั ร้คพางือมิวอายเเ่ใตูอนงอกเรปรอ็น์ บภใาหษ้ใชา้คทาี่มี และไวยากรณ์ท่ีกาหนดและมีการตีความหมายท่ีชดั เจน จงึ จดั ภาษาคอมพวิ เตอร์เป็นภาษาที่มีรูปแบบเป็นทางการ (Formal Language) ต่างกบั ภาษาธรรมชาติท่ีมีขอบเขตกว้างมาก ไม่มี รูปแบบตายตวั ที่แน่นอน กฎเกณฑ์ของภาษาจะขนึ ้ กบั หลกั ไวยากรณ์และ การยอมรับของกล่มุ ผ้ใู ช้นนั้ ๆ ภาษา คอมพวิ เตอร์อาจแบง่ ได้เป็น 3 ระดบั คือ ภาษาเคร่ือง (Machine Language) ภาษาระดบั ต่า (Low Level Language) และภาษาระดบั สงู (High Level Language)

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

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

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

ภาษาระดบั สงู ท่ีจะกลา่ วถึงในที่นี ้ได้แก่ 1) ภาษาฟอร์แทรน (FORmula TRANstation : FORTRAN) จดั เป็นภาษาระดบั สงู ที่เก่าแก่ที่สดุ โปรแกรมแบบโครงสร้างมาก ขนึ ้ ลกั ษณะของคาสง่ั ภาษาฟอร์แทรนแบบเดมิ ไม่เอือ้ อานวยที่จะ ให้เขียนได้ จงึ มีการปรับปรุงโครงสร้างของภาษาฟอร์แทรนให้ สามารถเขียนโปรแกรมแบบโครง 2) ภาษาโคบอล (Common Business Oriented Language : COBOL) เป็น ภาษาที่พฒั นาขนึ ้ ในราว พ.ศ. 2502 ต่อมาได้รับการปรับปรุง จากคณะกรรมการซง่ึ เป็นตวั แทนของหนว่ ยงานธรุ กิจและ รัฐบาล ของสหรัฐอเมริกา เป็นภาษาโคบอลมาตรฐานในปี พ.ศ. 2517 เป็นภาษาที่เหมาะสมสาหรับงานด้านธรุ กิจ เคร่ืองคอมพิวเตอร์ ขนาดใหญ่สว่ นมากมีโปรแกรมแปลภาษาโคบอล 3) ภาษา เบสกิ เขียนโปรแกรมแทนภาษาคอมพิวเตอร์ภาษาอื่น เชน่ ภาษา ฟอร์แทรน

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

โครงสร้างของภาษา C โครงสร้างของโปรแกรมภาษาซีแบง่ ออกเป็น 3 สว่ น 1. สว่ นหวั ของโปรแกรม สว่ นหวั ของโปรแกรมนีเ้รียกวา่ Preprocessing Directive ใช้ระบเุ พ่ือบอกให้คอมไพเลอร์กระทาการ ใด ๆ ก่อนการแปล 2ผ.ลสโปว่ นรแขกอรงมฟังก์ชน่ั หลกั ฟังก์ชนั่ หลกั ของภาษาซี คือ ฟังก์ชนั่ main() ซงึ่ โปรแกรมภาษาซี ทกุ โปรแกรมจะต้องมีฟังก์ชน่ั นีอ้ ย่ใู นโปรแกรมเสมอ จะเห็นได้จากช่ือฟังก์ชน่ั คือ main แปลว่า “หลกั ” ดงั นนั ้ การเขียนโปรแกรมภาษซีจงึ ขาดฟังก์ชนั่ นีไ้ ปไมไ่ ด้

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

ตวั อย่าง การคอมเมนต์ในภาษาซี / Comment only one line #include <stdio.h> #include <conio.h> main void() { clrscr(); /*comment many line*/ ข้อควรระวงั ในการใช้คอมเมนต์ คือ ในกรณีทใ่ี ช้คอมเมนต์แบบ หลายบรรทดั จะไม่สามารถใช้คอมเมนต์ซ้อนคอมเมนต์ได้ ดงั รูป มฉิ ะนนั้ จะก่อให้เกิดข้อผิดพลาดในการคอมไพล์ / / /*Comment1*/ /*Comment2*/ /*Comment3*/ /*Comment2*/ X /*Comment1 /*Comment3*/ การใช้คอมเมนต์แบบหลายบรรทดั จะเห็นวา่ ในกรณีที่ต้องการใสค่ อมเมนต์หลาย ๆ บรรทดั ติดกนั นนั้ คอมเมนต์แบบหลายบรรทดั จะชว่ ยประหยดั เวลาในการใส่ คอมเมนต์ได้มากกวา่ การใช้คอมเมนต์แบบบรรทดั เดียว แตก่ ็ ควรระมดั ระวงั ในการใช้งานด้วย

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

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

จดั ทาโดย นางสาว อิงทอุ ร การนอก นางสาว ธนพร เปิดชอ่ ง [email protected]


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