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 Aom Ananya, 2020-11-05 07:01:40

Description: น.ส มัลลิกา วังท่า เลขที่ 19
น.ส อนัญญา เป็งโต เลขที่ 20

Search

Read the Text Version

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

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

ภาษาซีเกิดข้ึนในปี ค.ศ.1972 โดย Dennis Ritchie โดยภาษาซีน้นั พฒั นามาจาก ภาษา B ในช่วงแรกน้นั ภาษาซีถูกออกแบบใหใ้ ชเ้ ป็นภาษาการเขียน โปรแกรมระบบ UNIX และเร่ิมมีคนสนใจมากในค.ศ.1978 เม่ือ Brain Kernighan ร่วมกบั Dennis Ritchie พฒั นามาตรฐาน ของภาษาซีข้ึนมา คือ (Kernighan & Ritchie) และท้งั สองยงั ได้ แต่งหนงั สือช่ือวา่ \"The C Programming Language\" โดย ภาษาซีสามารถปรับใชก้ บั เคร่ืองคอมพวิ เตอร์ไดใ้ นช่วง ค.ศ.1988 Ritchie และ Kernighan ไดร้ ่วมกบั ANSI (American National Standards Institute) สร้างเป็นมาตรฐานของ ภาษาซีข้ึนมาใหม่มีช่ือวา่ \"ANSI C\" ภาษาซี จดั เป็นภาษาท่ีใชใ้ นการเขียน โปรแกรมที่นิยมใชง้ าน ซ่ึงภาษาซีจดั เป็นภาษาระดบั กลาง เหมาะการเขียนโปรแกรมแบบ โครงสร้าง โดยมีคุณสมบตั ิโดดเด่นคือ มีความยดื หยนุ่ มาก สามารถทางาน กบั เครื่องมือต่างๆ สามารถปรับเปล่ียนการเขียน โปรแกรมในรูปแบบต่างๆได้ เช่น สามารถเขียนโปรแกรมที่มี ความยาวหลายบรรทดั ใหเ้ หลือความยาว 2-3 บรรทดั ได้ โดยมี การผลการทางานที่เหมือนเดิมจาก C สู่ C++

ภาษาซีพลสั พลสั (C++ programming language) เป็นภาษาโปรแกรมคอมพวิ เตอร์อเนกประสงค์ มีโครงสร้าง ภาษาการจดั ชนิดขอ้ มูล แบบสแตติก และสนบั สนุนรูปแบบการ เขียนโปรแกรมที่หลากหลาย ไดแ้ ก่ การโปรแกรมเชิงกระบวน คาสงั่ , การนิยามขอ้ มูล, การโปรแกรมเชิงวตั ถุ, และการ โปรแกรมแบบเจเนริก เป็นภาษาโปรแกรมเชิงพาณิชยท์ ี่นิยม มากภาษาหน่ึงนบั ต้งั แต่ช่วงทศวรรษ 1990 Bjarne Stroustrup จากหอ้ งวจิ ยั เบลล์ (Bell Labs) เป็นผพู้ ฒั นาภาษา C++ ข้ึน (เดิมชื่อ \"C with classes\") ในปี ค.ศ. 1983 เพอื่ พฒั นาภาษาซีด้งั เดิม ส่ิงที่ พฒั นาข้ึนเพมิ่ เติมน้นั เร่ิมจากการสร้างคลาส จากน้นั ก็ เพ่ิม คุณสมบตั ิต่างๆ ตามมา เช่น เวอร์ชวลฟังกช์ นั การโอเวอร์โหลด โอเปอเรเตอร์ การสืบทอดหลายสาย มาตรฐานของC++ ไดร้ ับ การรับรองในปี ค.ศ. 1998 เป็นมาตรฐาน เวอร์ชนั ล่าสุดคือในปี ค.ศ. 2003 เป็นมาตรฐาน ในปัจจุบนั มาตรฐานในเวอร์ชนั ใหม่ (รู้จกั กนั ในชื่อ C++0x) อยใู่ นข้นั พฒั นา

ภาษาคอมพวิ เตอร์ หมายถึง ภาษา ท่ีผใู้ ชง้ านใชส้ ื่อสารกบั คอมพิวเตอร์ดว้ ยกนั แลว้ คอมพิวเตอร์สามารถทางานตามคาสง่ั น้นั ได้ ภาษาคอมพิวเตอร์มีมากมายแต่ภาษาที่สง่ั ใหค้ อมพิวเตอร์ ทางานไดจ้ ริงน้นั มีภาษาเดียว คือ ภาษาเครื่อง ( machine language ) จดั แบ่งเป็นยคุ ดงั น้ี 1. ภาษาเครื่อง (Machine Language) 2. ภาษาแอสเซมบลี (Assembly Language) 3. ภาษาช้นั สูง (High - level Language) 4. ภาษาช้นั สูงมาก (Very High - level Language) 5. ภาษาธรรมชาติ (Natural Language) 1. ภาษาเคร่ือง (Machine Language) ในยคุ แรก ๆ การใชค้ อมพิวเตอร์ใหท้ างานตามตอ้ งการน้นั ผเู้ ขียนโปรแกรมจะตอ้ งเขียนคาสง่ั ภาษาเคร่ือง คาสงั่ ของ ภาษาเครื่องน้นั จะประกอบดว้ ยกลุ่มของตวั เลขในระบบเลขฐานสอง เป็นภาษาเดียวเท่าน้นั ท่ีเคร่ืองคอมพิวเตอร์เขา้ ใจไดโ้ ดยตรง ลกั ษณะ ของภาษาเป็นภาษาที่ข้ึนอยกู่ บั ฮาร์ดแวร์ของคอมพวิ เตอร์แต่ละ ระบบ

2. ภาษาแอสเซมบลี เป็นภาษาท่ีมีการใชส้ ญั ลกั ษณ์ขอ้ ความ แทนกลุ่มของเลขฐานสอง เพ่อื ใหง้ ่ายต่อการเขียนและการจดจามากกวา่ ภาษาเคร่ือง ตวั อยา่ ง 3. ภาษาระดบั สูง สามารถเรียกไดอ้ ีกอยา่ งวา่ เป็นภาษารุ่นท่ี 3 หรือ 3GLs เป็น ภาษาท่ีสร้างมาใหเ้ ขียนและอ่านโปรแกรมไดง้ ่ายข้ึน เน่ืองจากมี ลกั ษณะเหมือนภาษาองั กฤษทว่ั ๆ ไป และที่สาคญั คือ ผเู้ ขียน โปรแกรมไม่จาเป็นตอ้ งมีความรู้เก่ียวกบั ระบบฮาร์ดแวร์แต่อยา่ งใด ตวั อยา่ งของภาษาประเภทน้ีไดแ้ ก่ ภาษาฟอร์แทรน (FORTRAN) เบสิก (BASIC) ซี (C) เอดา (ADA) โปรแกรมที่ถูกเขียนดว้ ยภาษาประเภทน้ีจะทางานได้ กต็ ่อเม่ือมีการ แปลงใหเ้ ป็นภาษาเครื่องเสียก่อน ซ่ึงวธิ ีการแปลงจากภาษาช้นั สูงให้ เป็นภาษาเครื่องน้นั ทาไดโ้ ดยใชโ้ ปรแกรมที่เรียกวา่ คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อยา่ งใด อยา่ งหน่ึง โดยภาษาช้นั สูงแต่ละภาษาจะมีตวั แปลภาษาเฉพาะเป็น ของตวั เอง

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

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

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

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

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

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

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

จดั ทาโดย น.ส. มลั ลกิ า วงั ทา่ น.ส.อนญั ญา เป็งโต เลขที่ 19 ม.6/3 เลขที่20 ม.6/3


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