ความรูเ้ กย่ี วกับภาษาซี ประกอบการเรียนวิชา ว30268 ภาษาซี ครูผู้สอน ครูรัชชนก วงศ์เขียว
คานา แผนการสอนฉบับน้จี ัดทาข้ึนเพอื่ เป็นเอกสารประกอบการสอน วิชาเทคโนโลยี สาระสนเทศ รหสั วิชา ว30268 ระดบั ชน้ั มัธยมศกึ ษาปที ี่6โดยประกอบไปด้วยเน้ือหา สาระ ซง่ึ เปน็ แนวทางในการจดั การเรยี นการสอนเพอื่ ประสทิ ธิภาพของการสอน ผจู้ ดั หวงั อยา่ งยิง่ วา่ แผนการสอนฉบบั นีจ้ ะมีประโยชน์ต่อผู้ท่สี นใจ ไม่มากก็นอ้ ย หากมี ข้อผิดพลาดประการใดกข็ ออภยั ไว้ในโอกาสนี้ดว้ ย ผู้จดั ทา นางสาว ธญั ญารตั น์ ซองเงนิ นางสาว ศริ ิวรรณ ผวิ ขาว
ลกั ษณะภาษาคอมพิวเตอร์ ภาษาคอมพิวเตอร์ หมายถึง ภาษาใด ๆ ที่ผใู้ ช้งานใช้ส่ือสารกับคอมพิวเตอร์ หรอื คอมพิวเตอรด์ ว้ ยกนั แลว้ คอมพิวเตอรส์ ามารถทางานตามคาสัง่ น้ันได้ คานม้ี ักใชเ้ รียกแทน ภาษาโปรแกรม แต่ความเปน็ จรงิ ภาษาโปรแกรมคือสว่ นหนึง่ ของภาษาคอมพวิ เตอร์เทา่ นั้น และมีภาษาอนื่ ๆ ทเ่ี ปน็ ภาษาคอมพิวเตอรเ์ ชน่ กนั ยกตัวอยา่ งเช่น เอชทีเอ็มแอล เป็นทง้ั ภาษามารก์ อปั และภาษาคอมพิวเตอร์ดว้ ย แม้ว่ามันจะไมใ่ ชภ่ าษาโปรแกรม หรอื ภาษาเครอ่ื งนน้ั ก็นบั เปน็ ภาษาคอมพิวเตอร์ ซ่งึ โดยทางเทคนิคสามารถใช้ในการเขียน โปรแกรมได้ แต่ก็ไมจ่ ดั ว่าเป็นภาษาโปรแกรม ภาษา คอมพิวเตอร์อาจแบ่งไดเ้ ป็น 3 ระดับ คอื - ภาษาเคร่อื ง (Machine Language) การเขยี นโปรแกรมเพอื่ ส่งั ให้คอมพวิ เตอร์ทางานในยุคแรก ๆ จะตอ้ งเขียนดว้ ย ภาษาซึง่ เปน็ ท่ยี อมรบั ของเคร่ืองคอมพิวเตอร์ทเ่ี รยี กว่า “ภาษาเคร่อื ง” ภาษาน้ี ประกอบด้วยตวั เลขล้วน ทาให้เครอ่ื งคอมพวิ เตอรส์ ามารถทางานไดท้ ันที ผู้ท่ีจะเขียน โปรแกรมภาษาเครื่องได้ ต้องสามารถจารหัสแทนคาส่ังต่าง ๆ ได้ และในการคานวณตอ้ ง สามารถจาไดว้ า่ จานวนต่าง ๆ ท่ีใช้ในการคานวณนน้ั ถกู เกบ็ ไว้ท่ตี าแหน่งใด - ภาษาระดับต่า (Low Level Language) เนือ่ งจากภาษาเคร่อื งเปน็ ภาษาทม่ี ีความยุ่งยากในการเขยี นดังได้กล่าวมาแล้ว จึงไมม่ ี ผนู้ ยิ มและมีการใชน้ ้อย ดงั นนั้ ไดม้ กี ารพัฒนาภาษาคอมพิวเตอรข์ ้ึนอีกระดบั หน่งึ โดยการ ใชต้ ัวอกั ษรภาษาองั กฤษเปน็ รหัสแทนการทางาน การใชแ้ ละการต้งั ช่ือตวั แปรแทน ตาแหน่งท่ีใช้เก็บจานวนตา่ ง ๆ ซึ่งเปน็ ค่าของตวั แปรน้นั ๆ การใช้สญั ลกั ษณ์ชว่ ยใหก้ าร เขยี นโปรแกรมนีเ้ รยี กวา่ “ภาษาระดับต่า” - ภาษาระดับสงู (High Level Language) 1) ภาษาฟอรแ์ ทรน (FORmula TRANstation : FORTRAN) 2) ภาษาโคบอล (Common Business Oriented Language : COBOL) 3) ภาษาปาสคาล (Pascal) 4) ภาษาซแี ละซพี ลัสพลสั (C และ C++) 5) ภาษาวชิ วลเบสกิ (Visual Basic) 6) ภาษาจาวา (Java) 7) ภาษาเดลฟาย (Delphi)
ประวตั ภิ าษาซี ภาษาซีเกดิ ขน้ึ ในปี ค.ศ.1972 โดย Dennis Ritchie แหง่ Bell Labs โดยภาษาซนี ้ัน พัฒนามาจาก ภาษา B และจากภาษา BCPL ซึ่งในช่วงแรกนัน้ ภาษาซถี กู ออกแบบให้ใช้เป็น ภาษาการเขยี นโปรแกรมในระบบ UNIX และเริ่มมีคนสนใจมากข้ึนในปี ค.ศ.1978 เมื่อ Brain Kernighan ร่วมกบั Dennis Ritchie พฒั นามาตรฐานของภาษาซีขนึ้ มา คอื K&R (Kernighan & Ritchie) และทั้งสองยังได้แตง่ หนงั สอื ชื่อวา่ \"The C Programming Language\" โดยภาษาซี นนั้ สามารถจะปรับใชก้ บั เครื่องคอมพวิ เตอรร์ ปู แบบตา่ งๆได้ ต่อ มาในช่วง ปี ค.ศ.1988 Ritchie และ Kernighan ได้ร่วมกับ ANSI (American National Standards Institute) สรา้ ง เปน็ มาตรฐานของภาษาซีขึน้ มาใหม่มีชื่อวา่ \"ANSI C\"
โครงสรา้ งภาษาซี 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 แบบคอื ¨ คอมเมนต์แบบบรรทัดเดียว ใชเ้ ครอื่ งหมาย // ¨ คอมเมนต์แบบหลายบรรทดั ใช้เครื่องหมาย /* และ */ ตวั อย่าง การคอมเมนต์ในภาษาซี // Comment only one line #include <stdio.h> #include <conio.h> main void() { clrscr();/*comment many line*/ }
ตวั แปร ตัวแปร 4 ชนิดทใี่ ชก้ นั มากไดแ้ ก่ int, float, bool และ char int ชนดิ ตัวแปรทสี่ ามารถแทนคา่ จานวนเตม็ ไดท้ ้งั บวกและลบ โดยปกติสาหรบั คอมพิวเตอร์ทั่วไป คอมไพเลอร์ จะจองเนื้อท่ี 2 ไบต์ สาหรับตวั แปรชนดิ int จงึ ทาใหค้ า่ ของตวั แปรมคี ่าตง้ั แต่ -32768 ถึง +32768 ตัวอย่างของค่า int ไดแ้ ก่ 123 -56 0 5645 เป็นต้น floatชนดิ ของตวั แปรทีเ่ ป็นตวั แทนของจานวนจริง หรือตัวเลขท่มี คี า่ ทศนิยม ความละเอยี ดของตวั เลขหลังจุดทศนิยมข้ึนอยู่กบั ระบบคอมพวิ เตอร์ โดยปกติ แลว้ ตัวแปรชนดิ float จะใชเ้ นือ้ ที่ 4 ไบต์ น่นั คอื จะใหค้ วามละเอยี ดของตวั เลข หลงั จดุ ทศนิยม 6 ตาแหนง่ และมีค่าอยู่ระหว่าง -1038 ถึง +1038 ตวั อย่างของคา่ float ไดแ้ ก่ 16.315 -0.67 31.567 bool ชนิดของตัวแปรท่สี ามารถเก็บคา่ ลอจิก จริง (True) หรือ เท็จ (False) ตวั แปรชนดิ นี้ เปน็ ท่รี ้จู กั กนั อกี ชอื่ คอื ตัวแปรบูลนี (Boolean) ตัวอย่างของตัวแปรชนิด bool ไดแ้ ก่ 1 0 true false (เมอ่ื 1 = true และ 0 = false) char เป็นชนดิ ตวั แปรที่เป็นตัวแทนของ ตวั อกั ษรเพียงตัวเดยี ว อาจเปน็ ตวั อักษร ตวั เลข หรือตวั อักขระพิเศษ โดยปกตติ วั แปรชนิดนจ้ี ะใช้เนอื้ ทเ่ี พียง 1 ไบต์ ซึ่งจะ ใหต้ วั อกั ษรในรปู แบบที่แตกตา่ งกนั ไดถ้ ึง 256 ค่า การเขียนรปู แบบของ char หลายๆ ตัว โดยปกติ จะอ้างองิ กบั American Standard Code for Information Interchange (ASCII) ตัวอย่างของตัวแปรชนดิ char ไดแ้ ก่ '+' 'A' 'a' '*' '7'
การต้ังช่อื 1. ชือ่ ต้องไมซ่ า้ กับคาสงวน (Reserved word) และคามาตรฐานท่ี คอมไพล์เลอรร์ ู้จัก 2. จะตอ้ งขึ้นตน้ ดว้ ยตวั อกั ษร (A-Z, a-z) หรอื เครื่องหมาย _ (Underscore) เทา่ นน้ั 3. ตัวต่อไปต้องเปน็ ตวั อักษรหรอื ตวั เลขหรอื เคร่ืองหมาย _ 4. การตั้งชอื่ จะต้องไมม่ ชี อ่ งวา่ ง 5. ตัวอกั ษรตัวเล็กและตัวอกั ษรตวั ใหญจ่ ะมีความมายแตกตา่ งกนั ตวั อยา่ งการตงั้ ชื่อ เช่น X y12 sum_1 _temp name area tax_rate TABLE
การเขยี นผังงาน ผงั งาน คอื แผนภาพที่มกี ารใช้สัญลกั ษณ์รูปภาพและลูกศรที่แสดงถงึ ขัน้ ตอนการทางานของโปรแกรมหรือระบบทีละข้นั ตอน รวมไปถึงทิศทางการ ไหลของขอ้ มูลต้ังแตแ่ รกจนไดผ้ ลลัพธต์ ามท่ตี อ้ งการ วิธเี ขยี นผังงานทด่ี ี 1. ใชส้ ญั ลกั ษณ์ตามทก่ี าหนดไว้ 2. ใช้ลูกศรแสดงทศิ ทางการไหลของข้อมูลจากบนลงล่าง หรอื จากซา้ ยไป ขวา 3. คาอธบิ ายในภาพสัญลกั ษณ์ผังงานควรสั้นกะทัดรัด และเข้าใจงา่ ย 4. ทกุ แผนภาพต้องมีลูกศรแสดงทศิ ทางเขา้ - ออก 5. ไมค่ วรโยงเส้นเช่ือมผงั งานที่อยู่ไกลมาก ๆ ควรใช้ สญั ลักษณจ์ ดุ เช่อื มต่อแทน 6. ผังงานควรมกี ารทดสอบความถูกต้องของการทางาน กอ่ นนาไปเข่ยี น โปรแกรมจรงิ ประโยชน์ของผังงานตอ่ การเขยี นโปรแกรม 1. ลาดับข้นั ตอนการทางานของโปรแกรม และสามารถนาไปเขียนโปรแกรม ได้โดยไม่สบั สน 2. ตรวจสอบความถกู ต้อง และแก้ไขโปรแกรมได้งา่ ยเมอ่ื เกดิ ข้อผดิ พลาด 3. การปรับปรงุ เปลี่ยนแปลง แกไ้ ข ทาไดอ้ ยา่ งสะดวกและรวดเรว็ 4. ทาใหผ้ ้อู ่ืนสามารถศึกษาการทางานของโปรแกรมไดอ้ ยา่ งง่าย และ รวดเร็วมากขน้ึ
สัญลักษณ์ทีใ่ ช้ในการเขียนผังงาน ในการเขียนผงั งานจะตอ้ งใช้รปู ภาพ หรือสัญลักษณ์ มาใช้แทนขั้นตอนการ ทางานของโปรแกรม ลกั ษณะของรปู ภาพ หรอื สญั ลักษณ์ จะมีความหมายในตวั ของ มนั เอง ซ่งึ มหี น่วยงานที่ชื่อ American National Standard Institvte (ANSI) และ Internation Standard Organization (ISO) ไดร้ วบรวมและกาหนดใหเ้ ปน็ สัญลักษณม์ าตรฐานทีจ่ ะใช้ในการเขยี นผังงาน และผังงานระบบ เพ่อื ใหเ้ ขา้ ใจตรงกัน ดงั ตอ่ ไปนี้
ตัวอย่าง โจทย์ ผังงานแสดงโปรแกรมการคานวณคา่ a จากสูตร a = x + yโดยรับคา่ x และ y ทางแป้นพิมพ์ และแสดงผลลัพธ์ a ออกทาง จอภาพ จากโครงสรา้ งผังงานแบบเรียงลาดบั ตามรปู สามารถอธบิ ายขน้ั ตอนการทางาน ได้ดงั น้ี 1. เรมิ่ ตน้ การทางาน 2. รับค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร x และตัวแปร y 3. คานวณคา่ x + y แล้วไปเกบ็ ไวใ้ นตวั แปร a 4. แสดงค่าในตัวแปร a 5. สิน้ สุดการทางาน
นางสาว ธัญญารัตน์ ซองเงนิ เลขที่ 32 ชนั้ มธั ยมศึกษาปีท่ี 6/2 นางสาว ศิรวิ รรณ ผิวขาว เลขท่ี 37 ชั้นมัธยมศึกษาปีที่ 6/2
Search
Read the Text Version
- 1 - 15
Pages: