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 T.ratchanok2524, 2020-11-04 03:57:26

Description: นาย วรวุฒิ เสรีวาทมงคล เลขที่ 7
นางสาว สุชาวดี เมตตา เลขที่ 28
นางสาว อรพินท์ ทำมา เลขที่ 29

Search

Read the Text Version

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

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

ลกั ษณะภาษาคอมพิวเตอร์ ภำษำคอมพวิ เตอร์ หมำยถงึ ภำษำใด ๆ ที่ผใู้ ชง้ ำนใช้สอื่ สำรกับคอมพิวเตอร์ หรือ คอมพิวเตอร์ด้วยกัน แลว้ คอมพวิ เตอรส์ ำมำรถทำงำนตำมคำสง่ั น้นั ได้ คำนีม้ กั ใช้เรียกแทน ภำษำโปรแกรม แตค่ วำมเปน็ จรงิ ภำษำโปรแกรมคอื ส่วนหนง่ึ ของภำษำคอมพิวเตอร์ เทำ่ น้ัน และมภี ำษำอน่ื ๆ ท่ีเป็นภำษำคอมพวิ เตอร์เช่นกัน ยกตัวอยำ่ งเชน่ เอชทีเอม็ แอล เปน็ ท้งั ภำษำมำรก์ อัปและภำษำคอมพวิ เตอรด์ ้วย แม้วำ่ มนั จะไม่ใชภ่ ำษำโปรแกรม หรอื ภำษำเครื่องนน้ั ก็นบั เป็นภำษำคอมพิวเตอร์ ซ่ึงโดยทำงเทคนิคสำมำรถใชใ้ นกำรเขยี น โปรแกรมได้ แตก่ ็ไม่จดั วำ่ เปน็ ภำษำโปรแกรม ภำษำคอมพิวเตอร์สำมำรถแบ่งออกเป็นสองกลุ่มคอื ภำษำระดบั สูง (high level) และภำษำระดับต่ำ (low level) ภำษำระดบั สงู ถูกออกแบบมำเพือ่ ให้ใช้งำนงำ่ ยและ สะดวกสบำยมำกกว่ำภำษำระดับตำ่ โปรแกรมท่เี ขียนถกู ตอ้ งตำมกฎเกณฑแ์ ละไวยำกรณ์ ของภำษำจะถูกแปล (compile) ไปเป็นภำษำระดับต่ำเพ่อื ใหค้ อมพิวเตอร์สำมำรถ นำไปใชง้ ำนหรือปฏบิ ตั ติ ำมคำสัง่ ไดต้ ่อไป ซอฟต์แวรส์ มัยใหมส่ ว่ นมำกเขียนด้วยภำษำ ระดับสงู แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนใหเ้ ป็นชุดคำส่งั ใน ภำษำเครอื่ ง ภำษำคอมพวิ เตอร์อำจแบง่ กลมุ่ ไดเ้ ปน็ อกี สองประเภทคือ ภำษำท่มี นษุ ย์อ่ำนออก (human-readable) และภำษำท่มี นษุ ย์อำ่ นไมอ่ อก (non human-readable) ภำษำทมี่ นุษย์อ่ำนออกถูกออกแบบมำเพอื่ ให้มนุษยส์ ำมำรถเข้ำใจและส่ือสำรได้โดยตรง กับคอมพวิ เตอร์ สว่ นใหญ่เปน็ ภำษำอังกฤษ) ส่วนภำษำทมี่ นุษยอ์ ำ่ นไม่ออกจะมโี คด้ บำงสว่ นท่ีไม่อำจอำ่ นเขำ้ ใจได้

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

โครงสร้างภาษาซี 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 แบบคือ ¨ คอมเมนต์แบบบรรทัดเดียว ใชเ้ ครอื่ งหมำย // ¨ คอมเมนตแ์ บบหลำยบรรทดั ใชเ้ คร่อื งหมำย /* และ */

ตัวแปร ตวั แปร (Variable) คือ กำรจองพน้ื ท่ใี นหน่วยควำมจำของคอมพวิ เตอร์ สำหรบั เกบ็ ขอ้ มูลท่ตี ้องใชใ้ นกำรทำงำนของโปรแกรม โดยมกี ำรต้งั ชอ่ื เรยี ก หน่วยควำมจำในตำแหน่งน้นั ด้วย เพ่ือควำมสะดวกในกำรเรยี กใชข้ ้อมลู ถำ้ จะใช้ ข้อมูลใดก็ใหเ้ รียกผำ่ นชอื่ ของตวั แปรท่เี ก็บเอำไว้ ชนดิ ของข้อมลู ภำษำซีเป็นอีกภำษำหนง่ึ ท่ีมีชนดิ ของขอ้ มูลให้ใชง้ ำนหลำยอย่ำงด้วยกัน ซึง่ ชนิดของข้อมูลแตล่ ะอยำ่ งมีขนำดเน้อื ท่ีท่ีใชใ้ นหนว่ ยควำมจำทแี่ ตกต่ำงกนั และ เนื่องจำกกำรทม่ี ีขนำดท่แี ตกต่ำงกันไป ดังน้ันในกำรเลือกใช้งำนประเภทข้อมลู ก็ ควรจะคำนงึ ถงึ ควำมจำเปน็ ในกำรใชง้ ำนด้วย สำหรบั ประเภทของข้อมูลมีดงั นคี้ ือ 1. ข้อมลู ชันดิ ตัวอักษร (Character) คอื ข้อมูลทีเ่ ปน็ รหสั แทนตวั อกั ษรหรอื ค่ำ จำนวนเต็มไดแ้ ก่ ตวั อกั ษร ตัวเลข และกลมุ่ ตัวอักขระพิเศษใช้พนื้ ที่ในกำรเก็บ ขอ้ มูล 1 ไบต์ 2. ข้อมูลชันิดจานวนเตม็ (Integer) คือข้อมูลทีเ่ ปน็ เลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พ้นื ท่ีในกำรเก็บ 2 ไบต์ 3. ข้อมูลชันดิ จานวนเตม็ ทมนี ขี นาด 2 เท่า (Long Integer) คอื ข้อมูลทมี่ ีเลขเปน็ จำนวนเต็ม ใช้พน้ื ที่ 4 ไบต์ 4. ข้อมลู ชันิดเลขทศนยิ ม (Float) คอื ขอ้ มูลที่เป็นเลขทศนิยม ขนำด 4 ไบต์ 5. ขอ้ มลู ชันิดเลขทศนิยมอย่างละเอียด (Double) คือขอ้ มลู ท่ีเปน็ เลขทศนิยม ใช้ พน้ื ท่ีในกำรเก็บ 8 ไบต์

การตงั้ ชอื่ หลกั การตั้งช่ือตัวแปร ในกำรประกำศสร้ำงตัวแปรต้องมกี ำรกำหนดชอ่ื ซึ่งช่ือนน้ั ไม่ใช่วำ่ จะตง้ั ใหส้ อ่ื ควำมหมำยถงึ ขอ้ มูลทเ่ี กบ็ อยำ่ งเดยี ว โดยไม่ คำนึงถงึ อย่ำงอน่ื เน่อื งจำกภำษำ C มขี ้อกำหนดในกำรตั้งชอ่ื ตัว แปรเอำไว้ แล้วถำ้ ตง้ั ชอื่ ผดิ หลกั กำรเหล่ำนี้ โปรแกรมจะไม่ สำมำรถทำงำนได้ หลักกำรตง้ั ช่ือตัวแปรในภำษำ C แสดงไว้ดังน้ี 1.ตอ้ งขนึ้ ต้นด้วยตัวอักษร A-Z หรอื a-z หรือเครือ่ งหมำย _(Underscore) เท่ำน้ัน 2.ภำยในชอื่ ตวั แปรสำมำรถใชต้ วั อกั ษร A-Z หรอื a-z หรอื ตวั เลข0-9 หรอื เครื่องหมำย 3.ภำยในช่อื หำ้ มเว้นชอ่ื งว่ำง หรอื ใช้สญั ลกั ษณ์นอกเหนอื จำกข้อ 2 4.ตัวอักษรเลขหรือใหญ่มีควำมหมำยแตกต่ำงกนั 5.หำ้ มตงั้ ช่ือซำ้ กบั คำสงวน (Reserved Word) ดังน้ี

ชนดิ ของข้อมูล ภำษำซเี ปน็ อีกภำษำหน่ึงท่มี ีชนิดของขอ้ มูลให้ใชง้ ำนหลำยอย่ำงด้วยกนั ซ่ึงชนิดของข้อมูลแตล่ ะอยำ่ งมีขนำดเน้อื ทท่ี ีใ่ ช้ในหน่วยควำมจำท่แี ตกต่ำงกัน และเนือ่ งจำกกำรที่มขี นำดทีแ่ ตกตำ่ งกันไป ดงั น้นั ในกำรเลือกใชง้ ำนประเภท ข้อมลู ก็ควรจะคำนึงถงึ ควำมจำเป็นในกำรใชง้ ำนดว้ ย สำหรบั ประเภทของ ข้อมลู มดี ังน้คี ือ 1. ขอ้ มูลชนิดตัวอักษร (Character) คือข้อมูลท่ีเปน็ รหัสแทนตวั อกั ษรหรอื ค่ำจำนวนเต็มได้แก่ ตวั อกั ษร ตวั เลข และกล่มุ ตัวอกั ขระพเิ ศษใช้พ้ืนท่ใี นกำร เกบ็ ขอ้ มูล 1 ไบต์ 2. ขอ้ มลู ชนิดจำนวนเตม็ (Integer) คอื ข้อมลู ทเ่ี ปน็ เลขจำนวนเตม็ ไดแ้ ก่ จำนวนเต็มบวก จำนวนเตม็ ลบ ศนู ย์ ใช้พนื้ ทใี่ นกำรเก็บ 2 ไบต์ 3. ข้อมูลชนดิ จำนวนเตม็ ทมี่ ขี นำด 2 เทำ่ (Long Integer) คือข้อมลู ทีม่ ีเลข เป็นจำนวนเตม็ ใช้พืน้ ท่ี 4 ไบต์ 4. ขอ้ มลู ชนิดเลขทศนิยม (Float) คอื ขอ้ มูลทเี่ ป็นเลขทศนยิ ม ขนำด 4 ไบต์ 5. ข้อมลู ชนดิ เลขทศนิยมอยำ่ งละเอยี ด (Double) คือข้อมลู ท่เี ปน็ เลขทศนยิ ม ใชพ้ ้นื ท่ใี นกำรเกบ็ 8 ไบต

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

สญั ลักษณท์ ่ใี ช้ในการเขยี นผังงาน ในกำรเขยี นผงั งำนจะตอ้ งใชร้ ปู ภำพ หรือสญั ลกั ษณ์ มำใชแ้ ทนขน้ั ตอนกำร ทำงำนของโปรแกรม ลกั ษณะของรปู ภำพ หรอื สญั ลักษณ์ จะมีควำมหมำยในตัวของ มนั เอง ซง่ึ มีหนว่ ยงำนท่ชี ่อื 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. สนิ้ สุดกำรทำงำน

นำย วรวุติ เสรีวำทมงคล เลขท่ี 7 ชนั้ ม .6/2 นำงสำว สชุ ำวดี เมตตำ เลขท่ี28 ชนั้ ม.6/2 นำงสำว อรพนิ ท์ ทำมำ เลขท่ี 28 ชั้น ม.6/2


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