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 ชุดที่ 3 องค์ประกอบของภาษาซี ตัวแปร และชนิดข้อมูล

ชุดที่ 3 องค์ประกอบของภาษาซี ตัวแปร และชนิดข้อมูล

Published by kruraphiphon2019, 2022-06-14 12:31:26

Description: ชุดที่ 3 องค์ประกอบของภาษาซี ตัวแปร และชนิดข้อมูล

Search

Read the Text Version

นางรพพี ร นามมุลตรี ตาแหน่ง ครู วิทยฐานะ ครชู านาญการพิเศษ

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

คาช้ีแจง ชุดกจิ กรรมกำรเรียนรู้แบบอิเล็กทรอนิกส์ วิชำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กล่มุ สำระกำรเรยี นรู้กำรงำนอำชีพและเทคโนโลยี สำหรับนักเรยี นช้นั มัธยมศกึ ษำปีที่ 6 มีเนอื้ หำสำระ สอดคล้องกบั หลักสตู รกำรศึกษำข้ันพื้นฐำน พุทธศักรำช 2551 และหลกั สูตรสถำนศึกษำตำม กระทรวงศกึ ษำธกิ ำรกำหนด ซ่ึงนับว่ำมคี วำมสำคัญอย่ำงยงิ่ สำหรบั นกั เรยี น เพรำะถือเป็นพื้นฐำน สำคญั ของกำรใช้เทคโนโลยีในยุค 4.0 และสอดคล้องกบั กำรเรยี นรู้ในศตวรรษที่ 21 นี้ เพื่อสง่ เสรมิ และพฒั นำกำรเรยี นรูด้ ้ำนเทคโนโลยแี กน่ กั เรียน ตลอดจนทักษะกำรคิดวเิ ครำะห์ สังเครำะห์ และ กำรแกป้ ัญหำ เพื่อกำรนำไปใชใ้ นชีวติ ประจำวัน ชดุ กจิ กรรมกำรเรียนร้แู บบอเิ ลก็ ทรอนิกส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรยี นรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรียนชั้นมธั ยมศึกษำปีท่ี 6 ชดุ นี้ ท่ีไดจ้ ดั ทำขึน้ ประกอบด้วย 9 ชดุ ดงั น้ี ชดุ ที่ 1 หลักกำรเขียนโปรแกรมเบ้ืองต้น ชุดที่ 2 กำรตดิ ตัง้ โปรแกรม Dev C++ ชดุ ท่ี 3 องคป์ ระกอบของภำษำซี ตัวแปร และชนิดข้อมลู ชุดท่ี 4 นพิ จนแ์ ละตัวดำเนนิ กำร ชุดที่ 5 ฟงั กช์ ันกำรรบั แสดงผล และฟังก์ชนั ทำงคณติ ศำสตร์ ชุดที่ 6 คำสัง่ ควบคุมเงอื่ นไข และกำรทำงำนเป็นรอบ ชดุ ท่ี 7 อำร์เรยแ์ ละฟังก์ชนั จัดกำรสตริง ชดุ ที่ 8 กำรสรำ้ งฟงั กช์ ันและตัวแปรชนดิ พอยน์เตอร์ ชุดท่ี 9 ขอ้ มูลชนดิ โครงสรำ้ งและกำรจัดกำรแฟ้มข้อมูล ทง้ั น้ี ชดุ กจิ กรรมกำรเรยี นรแู้ บบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุม่ สำระกำรเรียนรกู้ ำรงำนอำชพี และเทคโนโลยี สำหรับนกั เรียนชัน้ มธั ยมศกึ ษำปีที่ 6 เป็นหนังสอื อิเล็กทรอนกิ ส์ โดยสำมำรถ สแกนผ่ำน QR-Code หรือผำ่ นลิงค์เวบ็ ไซต์ https://pubhtml5.com/bookcase/wjru เพือ่ ใช้งำนตำมปกติ พร้อมกับรปู เลม่ จริง ตำมลิงค์ ออนไลนท์ ี่แนบนี้ QR-Code

คาแนะนาสาหรับครู 1. นกั เรียนศกึ ษำคำชแ้ี จง และคำแนะนำให้พร้อมก่อนเริ่มศกึ ษำ 2. นกั เรียนรบั ฟงั คำแนะนำกำรใชช้ ุดกจิ กรรมกำรเรยี นรู้แบบอิเล็กทรอนิกส์ วิชำ กำรเขยี น โปรแกรมภำษำซี (ง33205) กลุม่ สำระกำรเรยี นรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรียน ชน้ั มัธยมศกึ ษำปีที่ 6 ให้เข้ำใจก่อนเสมอ 3. นักเรียนแบ่งกลมุ่ 4-5 คน เพอ่ื ทำกจิ กรรมกำรเรียนรู้ 4. นักเรียนทำแบบทดสอบก่อนเรยี นประจำชุดกิจกรรมกำรเรียนรแู้ บบอเิ ล็กทรอนิกส์ วิชำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรกู้ ำรงำนอำชีพและเทคโนโลยี สำหรับนกั เรยี นช้ันมธั ยมศึกษำปที ี่ 6 ด้วยควำมต้ังใจ และซ่ือสัตย์ 5. นกั เรียนศึกษำใบควำมรู้ ให้เข้ำใจก่อนทำกิจกรรมระหว่ำงเรยี น และกิจกรรมโครงงำน 6. ทบทวนควำมรู้และฝึกทักษะกระบวนกำรทำงเทคโนโลยีดว้ ยกำรทำกิจกรรมกำรเรียนรู้ 7. หำกนักเรยี นเกดิ ขอ้ สงสยั ให้ปรึกษำ หรอื แจ้งครูไดท้ ันที และให้นักเรยี นควรตรวจสอบ ควำมถกู ตอ้ งของกำรทำกิจกรรมให้เรยี บรอ้ ย 8. นักเรียนทำแบบทดสอบหลังเรียนประจำชุดกิจกรรมกำรเรียนรแู้ บบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรูก้ ำรงำนอำชพี และเทคโนโลยี สำหรับนักเรียนช้นั มธั ยมศึกษำปที ่ี 6 ด้วยควำมต้องใจ และซือ่ สตั ย์ 9. นักเรยี นรวบรวมกระดำษคำตอบและชดุ กจิ กรรมกำรเรียนรแู้ บบอเิ ล็กทรอนิกส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชีพและเทคโนโลยี สำหรบั นักเรียนชั้นมธั ยมศึกษำปที ่ี 6 สง่ คืนครู 10. นกั เรียนตอ้ งใหค้ วำมร่วมมอื ในกำรทำกิจกรรมกำรเรียนรู้ เพ่ือให้บรรลเุ ปำ้ หมำย

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

มาตรฐานการเรยี นร้แู ละตวั ช้วี ัด มำตรฐำน ง 3.1 เขำ้ ใจ เหน็ คุณค่ำ และใช้กระบวนกำรเทคโนโลยีสำรสนเทศในกำรสืบค้น ข้อมูล กำรเรียนรู้ กำรสื่อสำร กำรแกป้ ัญหำ กำรทำงำน และอำชีพอยำ่ งมีประสิทธภิ ำพประสิทธิผล และมคี ุณธรรม (ง3.1 ม.5/1-13) แนวคิด ศกึ ษำเกี่ยวกับคุณสมบตั ิที่โดดเดน่ ของภำษำซี โครงสรำ้ งโปรแกรมในภำษำซี กฎเกณฑ์ กำรเขียนโปรแกรมภำษำซี ตัวแปร (Variables) คำ่ คงที่ (Constant) ชนิดขอ้ มลู และกำรประกำศ ตัวแปรกำรแสดงค่ำตำ่ สุด และคำ่ สูงสดุ ของชนิดข้อมูลแต่ละประเภท และตัวแปรแบบภำยนอก และ ตัวแปรแบบภำยใน ซึง่ เนื้อหำเหล่ำนีถ้ อื เปน็ สงิ่ สำคัญในกำรศึกษำวชิ ำกำรเขยี นโปรแกรมเบอ้ื งตน้ ท้ังสิ้น สาระการเรยี นรู้ หน่วยที่ 3 องคป์ ระกอบของภำษำซี ตวั แปร และชนดิ ข้อมลู 1. คุณสมบตั ิทโ่ี ดดเดน่ ของภำษำซี 2. โครงสร้ำงโปรแกรมในภำษำซี 3. กฎเกณฑก์ ำรเขยี นโปรแกรมภำษำซี 4. ตัวแปร (Variables) 5. คำ่ คงที่ (Constant) 6. ชนิดข้อมูลและกำรประกำศตวั แปร 7. กำรแสดงค่ำต่ำสดุ และคำ่ สงู สดุ ของชนิดข้อมลู แตล่ ะประเภท 8. ตัวแปรแบบภำยนอกและตวั แปรแบบภำยใน จุดประสงคก์ ารเรยี นรู้ ความรู้ ความเขา้ ใจ (K) 1. มีควำมรเู้ กี่ยวกับองคป์ ระกอบของภำษำซี ตัวแปร และชนิดขอ้ มูล 2. รวบรวม วเิ ครำะห์ข้อมูลเกี่ยวกับควำมรู้องคป์ ระกอบของภำษำซี ตัวแปร และชนดิ ข้อมูลได้ 3. สรุปขอ้ มูลเก่ยี วกบั องค์ประกอบของภำษำซี ตวั แปร และชนดิ ข้อมูลได้ ทักษะกระบวนการ (P) 1. ใช้ควำมรู้เกีย่ วกบั องค์ประกอบของภำษำซี ตวั แปร และชนิดขอ้ มลู ได้ 2. มกี ำรคิดวิเครำะห์ และกำรให้เหตผุ ลตำมกระบวนกำรทำงวิทยำศำสตรไ์ ด้

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

สารบญั คำนำ หน้า คำช้ีแจง ก คำแนะนำสำหรับครู ข คำแนะนำสำหรับนกั เรยี น ค ง ชดุ กิจกรรมกำรเรยี นรู้แบบอเิ ล็กทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลมุ่ สำระกำรเรยี นรู้กำรงำนอำชีพและเทคโนโลยี สำหรับนักเรียนชน้ั มัธยมศึกษำปที ่ี 6 จ สำรบญั ช แบบทดสอบกอ่ นเรียน 1 กระดำษคำตอบแบบทดสอบก่อนเรยี น 3 ใบควำมรู้ เร่ือง องค์ประกอบของภำษำซี ตวั แปร และชนดิ ข้อมูล 4 26 กิจกรรมท่ี 1 27 กิจกรรมท่ี 2 28 กจิ กรรมท่ี 3 29 กิจกรรมที่ 4 30 กิจกรรมท่ี 5 31 แบบทดสอบหลังเรยี น 33 กระดำษคำตอบแบบทดสอบหลังเรียน 34 ภำคผนวก 35 เฉลยแบบทดสอบก่อนเรียน 36 เฉลยกิจกรรมที่ 1 37 เฉลยกิจกรรมท่ี 2 38 เฉลยกจิ กรรมที่ 3 39 เฉลยกิจกรรมท่ี 4 40 เฉลยกจิ กรรมท่ี 5 41 เฉลยแบบทดสอบหลังเรียน 42 แบบบนั ทกึ คะแนน 43 บรรณำนุกรม 44 ประวัติยอ่ ผจู้ ดั ทำ

คาชีแ้ จง ใหน้ ักเรยี นเลอื กคำตอบท่ีถกู ทส่ี ุดเพยี งคำตอบเดียวแลว้ ทำเคร่ืองหมำย X ลงใน กระดำษคำตอบ 1. ใคร คือ ผูพ้ ัฒนำภำษำซี ก. Ken Thompson ข. Dennis Ritchie ค. Perter Norton ง. Martin Richards 2. ขอ้ ใดต่อไปน้ี ไม่ใช่ คุณสมบตั ิเดน่ ของภำษำซี ก. มปี ระสิทธภิ ำพสูง ข. เปน็ ภำษำท่ียดื หยนุ่ สูงมำก ค. ทำงำนได้อยำ่ งช้ำ ง. มีตวั แปรชนดิ พอยนเ์ ตอร์ 3. ข้อใด คือ ตวั แปรชนิด character ทสี่ ำมำรถจดั เก็บตัวอกั ขระได้ไม่เกนิ ท่ีกำหนดไว้ ก. 1 ตวั อักษร ข. 8 ตวั อกั ษร ค. 16 ตวั อักษร ง. 32 ตัวอักษร 4. เฮดเดอร์ไฟล์ จะถกู เขียนไว้อยู่สว่ นใดของโปรแกรม ก. ส่วนชดุ คำสั่ง ข. ภำยในบลอ็ ก { } ค. ส่วนหัวของโปรแกรม ง. เขียนไวส้ ว่ นใดก็ได้ 5. ส่วนใดในโปรแกรมภำษำซีตอ่ ไปนี้ทจ่ี ะถูกประมวลผลก่อน ก. #include <stdio.h> ข. main() ค. { ง. /* comment */

6. ข้อใด คือ ชอ่ื ตัวแปรภำษำซีทไี่ มส่ ำมำรถขนึ้ ตน้ ได้ ก. ตวั พิมพใ์ หญ่ ข. ตัวเลข ค. สญั ลกั ษณพ์ ิเศษ ง. ตัวพมิ พ์เล็ก 7. ชนดิ ข้อมูลแบบ char จะตอ้ งอยู่ภำยในเคร่ืองหมำยในข้อใด ก. “ ” ข. ‘ ’ ค. # ง. $ 8. หำกต้องกำรกำหนดตวั แปรทเี่ อำไว้เกบ็ เลขจำนวนเตม็ ทม่ี คี ่ำไมเ่ กนิ หลกั หมน่ื ควรกำหนด เปน็ ขอ้ มลู ชนดิ ใด ก. char ข. int ค. float ง. double 9. ช่ือตัวแปรต่อไปนี้ ข้อใดผิด ก. AAA ข. v_a_r_i_a_b_l_e ค. INCLUDE ง. 4_You 10. ข้อใด คือ ตัวกำหนดชนิดข้อมลู ท่รี ะบนุ ้นั มีเฉพำะค่ำบวกเทำ่ น้นั ก. signed ข. long ค. short ง. unsigned สูๆ้ นะคะนกั เรียน

คาช้แี จง ใหน้ ักเรยี นเลือกคำตอบท่ีถกู ท่ีสุดเพยี งคำตอบเดียวแลว้ ทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. สรุปคะแนน สรุปผล ผา่ น ไม่ผ่าน คะแนนเต็ม คะแนนท่ีได้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

ภำษำคอมพวิ เตอร์อยำ่ งภำษำซนี ัน้ จดั เป็นภำษำระดบั สูงภำษำหนึง่ ซง่ึ ภำษำระดบั สงู หมำยถงึ ภำษำคอมพิวเตอร์ที่ใกล้เคียงภำษำมนษุ ย์ อย่ำงไรก็ตำมภำษำซไี ม่เหมือนกับภำษำระดบั สูง ทวั่ ๆ ไปอยำ่ งภำษำ Cobol, Pascal หรอื Visual Basic ทัง้ นี้ เน่อื งจำกสำมำรถควบคุมระบบ ฮำรด์ แวรข์ องคอมพวิ เตอร์ได้เป็นอยำ่ งดี ซึ่งใกลเ้ คียงกับภำษำระดับต่ำอยำ่ งภำษำแอสเชมบลี ทป่ี ระมวลผลได้อย่ำงรวดเรว็ ภำษำซีถกู พัฒนำขน้ึ โดย เดนนิส ริตซี (Dennis Richie) เม่อื รำวปี ค.ศ. 1972 ท่ี หอ้ งปฏบิ ัตกิ ำรเบลล์ โดยมีตน้ แบบมำจำกภำษำบี (B Language) ท่ีพฒั นำขนึ้ โดย เคน ทอมสัน (Ken Thompson) ทอ่ี ยู่บนรำกฐำนของภำษำบีซีพีแอล (BCPL) ทพ่ี ัฒนำโดย มำรต์ นิ ริชำรด์ (Martin Richards) ในเวลำตอ่ มำ ภำษำซีก็ไดร้ ับควำมนยิ มเปน็ อยำ่ งสูง จนกระท่ังปี ค.ศ. 1983 ทำงสถำบนั ANSI (American National Standards Institute) จึงได้สร้ำงมำตรฐำนภำษำซีขึน้ มำเพ่ือรับรอง ให้เป็นสำกลภำยใตช้ ื่อ ANSI - C จนกระทง่ั ปจั จุบนั ไดม้ ีกำรพัฒนำภำษำซใี ห้มีประสิทธิภำพมำกข้นึ เป็นเวอร์ชนั่ ต่ำงๆ มำกมำยดว้ ยกำรนำมำพัฒนำต่อยอดเปน็ C++ หรือ C# ซง่ึ ได้เพมิ่ ชดุ คำสง่ั ท่ี สนับสนุนกำรโปรแกรมเชงิ วัตถุ (Object-Oriented Programming) และยงั คงรองรบั ชุดคำสงั่ มำตรฐำนของภำษำซีด้ังเดิมอยู่ด้วย ภำพท่ี 1 เดนนิส ริตชี ผูพ้ ฒั นำภำษำซที จ่ี ัดเปน็ ภำษำคอมพิวเตอร์ ที่โด่งดังมำจนถึงยคุ ปจั จุบนั

ภำษำซีมีคุณสมบัติทโ่ี ดดเดน่ กว่ำภำษำระดับสูงทว่ั ไปในหลำยๆ ด้ำนด้วยกนั ซง่ึ ประกอบด้วย 1. เป็นภาษาทีไ่ ม่ข้ึนกับฮารด์ แวร์และระบบปฏบิ ตั กิ าร ภำษำซีสำมำรถรันใช้งำนอยู่บน คอมพิวเตอรต์ ั้งแต่ระดบั เมนเฟรมคอมพิวเตอร์จนถงึ ระดับไมโครคอมพวิ เตอร์ ซงึ่ เม่ือเทยี บกบั ภำษำ อ่ืนๆ แลว้ ยำกทีจ่ ะหำภำษำใดเทียบเคยี งได้ ดงั น้ันชดุ คำสง่ั ท่ภี ำษำซเี ขียนข้ึน จงึ สำมำรถนำมำใช้งำน บนคอมพวิ เตอร์ต่ำงระดับได้ โดยแทบไม่ต้องเปลยี่ นแปลงชุดคำสั่งใดๆ 2. เปน็ ภาษาที่มคี วามยืดหยุ่นสูงมาก แม้ว่ำภำษำซจี ะถกู จัดอย่ใู นภำษำคอมพิวเตอร์ ระดับสูงกต็ ำม แตภ่ ำษำซกี ็ยงั สำมำรถเขียนชุดคำส่ังเพ่ือใชง้ ำนร่วมกบั ภำษำระดบั ต่ำอย่ำงภำษำ แอสเชมบลีได้เป็นอยำ่ งดี จงึ เป็นทมี่ ำของภำษำระดับกลำงทีอ่ ยูก่ ่ึงกลำงระหว่ำงภำษำระดับต่ำ และ ภำษำระดับสูงน่ันเอง 3. มปี ระสิทธิภาพสูง หำกเปรยี บเทียบชดุ คำส่ังภำษำซีกับภำษำระดบั สูงอื่นๆ จะพบว่ำ ชดุ คำสัง่ ในภำษำซีมีควำมกะทดั รัดและกระซับมำกกว่ำ รวมไปถึงกำรประมวลผลท่ีรวดเรว็ กวำ่ ภำษำระดบั สูงทั่วไป หรอื อำจกลำ่ วไดว้ ำ่ มคี วำมรวดเร็วเทียบเคียงกับภำษำระดบั ต่ำ อีกทั้งภำษำซี ยงั มรี ะบบกำรจดั กำรหน่วยควำมจำทม่ี ปี ระสิทธภิ ำพสูงเลยทีเดยี ว 4. ความสามารถในด้านการโปรแกรมแบบโมดลู ภำษำซียงั อนญุ ำตให้มกี ำรแบ่งโมดลู เพือ่ แยกคอมไพล์ได้ ท้ังนีย้ ังสำมำรถทำกำรลงิ ก์เชอื่ มโยงเข้ำดว้ ยกันได้อกี ซึ่งเปน็ ไปตำมเทคนคิ กำรเขียนโปรแกรมเชิงโครงสร้ำงนน่ั เอง กลำ่ วคือ ภำษำซีเป็นภำษำท่ปี ระกอบด้วยฟงั ก์ชันตำ่ งๆ ท่นี ำมำประกอบรวมกนั โดยโมดูลต่ำงๆ จะเขียนอยู่ในรปู แบบของฟังกช์ ันทั้งส้นิ 5. มีตัวแปรชนดิ พอยน์เตอร์ ภำษำซมี ตี ัวชี้หรอื ทเี่ รียกวำ่ ตวั แปรพอยน์เตอร์ (Pointer) ทสี่ ำมำรถเข้ำถึงหรือชไี้ ปยังท่ีอยขู่ องหนว่ ยควำมจำที่ใชจ้ ัดเกบ็ ข้อมลู ไดโ้ ดยตรง ซึ่งหำพบไดย้ ำกใน ภำษำระดบั สงู ทวั่ ไป โดยตัวแปรพอยนเ์ ตอรย์ งั สำมำรถถูกกำหนดใหใ้ ช้งำนบนชนดิ ข้อมลู หลำย ประเภทด้วยกันได้อีกด้วย 6. ภาษาซมี องตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แตกต่างกัน (Case Sensitive) ตำมปกติกำรเขียนโปรแกรมบนภำษำระดบั สูงทว่ั ไปส่วนใหญ่มีควำมเคยชนิ กบั กำรกำหนด ชือ่ ตวั แปร รวมถึงกำรอ้ำงอิงตวั แปรท่ีอำจเปน็ ท้ังตัวอกั ษรพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้ เช่น num1 และ NUM1 ตำ่ งก็อ้ำงอิงใชง้ ำนได้เหมือนกัน กลำ่ วคือ เป็นตัวแปรเดียวกันนนั่ เอง แต่สำหรบั ภำษำซีชอ่ื ตวั แปรทั้ง สองนนั้ ถือเปน็ คนละตวั แปรกนั ไม่ว่ำจะเป็น num1, Num1 หรือ NUM1 ลว้ นเป็นคนละตัวแปร ดงั นน้ั อักษรตัวพิมพใ์ หญ่ (Upper Case) และอกั ษรตวั พิมพเ์ ลก็ (Lower Case) จะมีควำมแตกต่ำง กันอยำ่ งสน้ิ เชงิ เมอื่ เขยี นดว้ ยภำษำซี ในกำรเขียนโปรแกรมภำษำระดบั สงู โดยท่ัวไปจำเปน็ ต้องทำควำมเข้ำใจกับโครงสรำ้ ง โปรแกรมภำษำนนั้ ๆ ก่อนในทำนองเดียวกัน เม่ือต้องกำรฝึกหดั เขียนโปรแกรมภำษำซีจึงตอ้ งเรียนรถู้ ึง โครงสรำ้ งโปรแกรมในภำษำซี ซึง่ โครงสรำ้ งโปรแกรมในภำษำซีสำมำรถแบ่งออกเป็นส่วนตำ่ งๆ ได้ดงั ต่อไปนี้

ภำพที่ 2 โครงสร้ำงโปรแกรมภำษำซี 1. ตวั ประมวลผลก่อน (Preprocessor Directive) เป็นส่วนทคี่ อมไพเลอรจ์ ะประมวลผล คำสง่ั นีก้ ่อนทจี่ ะคอมไพลต์ วั โปรแกรม ดังนั้นจึงเป็นท่ีมำของคำว่ำ Preprocessor หรอื ตัวประมวลผล กอ่ นนั่นเอง ในส่วนน้ีอำจเรียกว่ำเปน็ ส่วนหวั ของโปรแกรมกไ็ ด้ ที่จำเป็นต้องถูกกำหนดไว้ในโปรแกรม เสมอ โดยจะขึ้นต้นด้วยเคร่ืองหมำย # แลว้ ตำมด้วยคำสง่ั ไดเรกทีฟทตี่ ้องกำร เช่น #include <stdio.h> หรือ #include “stdio.h” ซึ่งหมำยถงึ กำรผนวกเฮดเดอร์ไฟล์ชอ่ื stdio.h เขำ้ มำใชง้ ำน ท้ังนีเ้ ฮดเดอร์ไฟล์ stdio.h นน้ั จะเป็นเท็กซ์ไฟล์ท่ภี ำยในโปรแกรมจะมีกำรประกำศค่ำตัวแปรและ คำคงท่ีต่ำงๆ บรรจฟุ ังกช์ ันมำตรฐำนต่ำงๆ รวมเขำ้ ด้วยกนั ตำมหมวดหมูเ่ ดยี วกันไว้ และจัดเก็บลง ในไลบรำรี โดยจะถูกนำเข้ำมำอ่ำนรวมกนั กบั ชดุ คำสั่งในโปรแกรมขณะท่ีคอมไพล์โปรแกรม เฮดเดอร์ไฟล์ stdio.h จัดเป็นเฮดเดอร์หน่ึงในไลบรำรีมำตรฐำนท้ังหมดท่ีมักถูกเรียกใช้งำน อยู่เสมอ ทงั้ นเ้ี ฮดเดอรไ์ ฟนีจ้ ะเกี่ยวขอ้ งกบั กำรอินพตุ และเอำต์พตุ เช่น - ฟังกช์ ัน printf() ท่นี ำมำใชส้ ำหรับส่งั พมิ พข์ ้อควำมหรอื คำ่ ตวั แปร - ฟังกช์ ัน scanf() ท่ีนำมำใชส้ ำหรบั รับคำ่ ผ่ำนทำงแป้นพิมพ์ เพอื่ จดั เกบ็ ไวใ้ นตวั แปร ดังนั้น เม่ือโปรแกรมที่เขียนมีกำรส่งั งำนใหร้ บั ค่ำและพมิ พข์ ้อควำมดว้ ยฟงั กช์ ันทง้ั สองทีส่ ่วน หวั โปรแกรมกจ็ ะต้องผนวกเฮดเดอร์ไฟล์ stdio.h เขำ้ ไปด้วย และต่อไปนี้เป็นตัวอย่ำงไดเรกทีฟในภำษำซี #if #ifdef #ifndef #else #elif #endef #include #define #undef #line #erro #praagma ภำพท่ี 3 ตัวอย่ำงไดเรกทีฟในภำษำซี

2. ฟังก์ชนั หลัก (Main Function) ในภำษำซจี ะมีอยู่ฟังก์ชนั หนึ่งซ่ึงถือเป็นส่วน โปรแกรมหลกั ท่ีทำหน้ำท่ีสงั่ ให้ชุดคำส่ังต่ำงๆ หรอื ฟงั ก์ชันอื่นๆ ทำงำน เรยี กว่ำ ฟังก์ชนั main() 3. ชดุ คาสง่ั ชุดคำส่งั ในภำษำซีจะถูกบรรจุอยู่ภำยในเครอ่ื งหมำย { ทบี่ อกถงึ จดุ เริ่มต้นกำร ทำงำน และเครือ่ งหมำย } เพอ่ื บอกจุดสิ้นสดุ กำรทำงำน นอกจำกนภ้ี ำยในเคร่ืองหมำย { ยังสำมำรถ มีบลอ็ ก { } ซอ้ นยอ่ ยเขำ้ ไปได้อีก และที่สำคัญเมื่อส้ินสุดประโยคคำสง่ั จะต้องลงท้ำยดว้ ย เครือ่ งหมำย ; (Semicolon) เสมอ 4. คาอธิบายโปรแกรม เป็นส่วนทโ่ี ปรแกรมเมอรส์ ำมำรถนำมำใช้เพื่อประกอบคำอธิบำย ภำยในโปรแกรม โดยคอมไพเลอรจ์ ะไมส่ นใจข้อควำมทอ่ี ยู่ภำยใน แตข่ ้อควำมอธบิ ำยจะต้องเขยี นอยู่ ภำยในเครือ่ งหมำย /*....*/ (กรณคี ำอธบิ ำยบรรทัดเดยี วหรอื หลำยบรรทัด) หรอื เครอื่ งหมำย // (คำอธิบำยภำยในบรรทัดเดียว) ดังตัวอยำ่ งเช่น /* program testing Author : Pornsuk Junior Programmer */ #include <stdio.h> // ผนวกไฟลส์ ว่ นหวั (Header File) int main() { printf(\"Message\\n\"); /* พิมพข์ อ้ ความ */ } // end of program ภำพที่ 4 กรณีคำอธิบำยบรรทดั เดียวหรอื หลำยบรรทัด และตอ่ ไปนเ้ี ป็นตัวอยำ่ งโปรแกรมภำษำซีกบั ภำษำซี กับภำษำคอมพิวเตอรร์ ะดับสงู อ่นื ๆ ทต่ี ่ำงก็แสดงผลลพั ธเ์ หมือนกัน แตจ่ ะเขียนแตกตำ่ งกันตำมโครงสรำ้ งของแตล่ ะภำษำ #include <stdio.h> main() { for(;;) printf(\"Hello, World! \"); } ภำพท่ี 5 ตัวอยำ่ งภำษำ C #include <iostream.h> main() { for(;;) cout << \"Hello, World! \"; } ภำพท่ี 6 ตวั อยำ่ งภำษำ C++

10 print \"Hello, World! \" 20 goto 10 ภำพที่ 7 ภำษำ BASIC begin: print \"Hello, World! \" goto begin ภำพที่ 8 ภำษำ QBASIC class Hello World { public static viod main (String args []) { for (;;) { system.out.print(\"Hello, World \"); } } } ภำพที่ 9 ภำษำ Java while(1) : print \"Hello, World \"; ภำพที่ 10 ภำษำ Python ในกำรเริ่มต้นฝึกหดั เขียนโปรแกรมภำษำซีจำเปน็ ต้องทำควำมเข้ำใจกับกฎเกณฑ์ตอ่ ไปน้ี 1. ทีส่ ่วนหวั โปรแกรมจะตอ้ งกำหนดตวั ประมวลผลก่อนเสมอตวั อยำ่ งเช่น กำรผนวกเฮดเดอร์ ไฟล์อย่ำง include <stdio.h> เพอื่ ใช้งำนฟงั กช์ ันเกย่ี วกบั กำรอนิ พุตหรอื เอำต์พตุ ข้อมูลเป็นต้น 2. ชุดคำสัง่ ในภำษำซีจะใชอ้ ักษรตวั พิมพ์เล็กท้ังหมด 3. ตวั แปรท่ีใชง้ ำนจะต้องถูกประกำศชนดิ ข้อมลู ไวเ้ สมอ 4. ภำยในโปรแกรมจะต้องมีอย่ำงน้อยหน่ึงฟงั ก์ชนั เสมอ ซงึ่ กค็ ือ ฟงั กช์ นั main() น่นั เอง 5. สำมำรถใชเ้ คร่อื งหมำยปีกกำเปดิ { เพ่อื บอกจดุ เร่ิมตน้ ของชุดคำส่งั และเคร่ืองหมำย ปกี กำปิด } เพ่ือบอกจดุ ส้ินสุดของชดุ คำส่ัง โดยสำมำรถมีเคร่ืองหมำยปีกกำซ้อนย่อยอยู่ภำยในได้ 6. เม่อื เขียนชดุ คำส่ังเสร็จแล้วตอ้ งจบด้วยเคร่ืองหมำย ; 7. สำมำรถอธิบำยโปรแกรมตำมควำมจำเปน็ ด้วยกำรใชเ้ คร่ืองหมำย */....*/ หรอื //.... อยำ่ งไรกต็ ำมโปรแกรมที่เขยี นขึน้ อำจไมเ่ ข้ำหลกั เกณฑ์ข้ำงต้นก็ได้ ตวั อย่ำงเช่น โปรแกรม ต่อไปน้ี void main (void) { } จะพบว่ำเปน็ โปรแกรมภำษำซีทีส่ ั้นท่ีสดุ และไม่ครบตำมหลักเกณฑ์ท่ีกล่ำวไวข้ ้ำงต้น แตส่ ำมำรถคอมไพล์ผำ่ นโดยไม่พบข้อผิดพลำด แต่โปรแกรมดังกลำ่ วก็ไมส่ ำมำรถนำมำใช้งำนใหเ้ กดิ ประโยชนใ์ ดๆ ได้

ตวั แปรจะนำมำใช้เพอ่ื จัดเก็บขอ้ มูลและเพื่อใชง้ ำนในโปรแกรม โดยคำ่ ข้อมูลท่ีบันทกึ อยู่ใน ตวั แปรนนั้ จะถูกจดั เกบ็ ไวใ้ นหนว่ ยควำมจำหลกั ที่สำมำรถนำไปประมวลผลและอ้ำงองิ ภำยในโปรแกรมได้ อย่ำงไรก็ตำมตวั แปรท่ีใชง้ ำนในภำษำซจี ำเปน็ ต้องไดร้ บั กำรกำหนดชนิดข้อมูลวำ่ ใช้เกบ็ ขอ้ มูลชนิดใด เชน่ - ตัวแปรชื่อ char1 นำไปใช้จดั เกบ็ อกั ขระ 1 ตวั - ตัวแปรชอื่ name นำไปใช้จดั เก็บขอ้ มลู ชนิดข้อควำม - ตัวแปรชื่อ number นำไปใช้จดั เกบ็ ขอ้ มลู เลขจำนวนเต็มบวก - ตวั แปรชือ่ total นำไปใช้จดั เกบ็ ข้อมลู เลขจำนวนจริงมที ศนิยม สำหรบั ชนิดข้อมูลต่ำงๆ ท่กี ำหนดให้กับตัวแปรนัน้ จะกล่ำวรำยละเอยี ดในหวั ข้อถดั ไป อย่ำงไรก็ตำมกำรตัง้ ชื่อตวั แปรเพ่ือใช้งำนในโปรแกรม จะต้องเป็นไปตำมกฎเกณฑ์กำรตั้งชื่อของภำษำ น้นั ๆ ด้วย สำหรับกฎกำรต้ังชื่อตัวแปรในภำษำซีประกอบด้วย 1. สำมำรถใชต้ วั อกั ษร A ถงึ Z หรอื a ถงึ z รวมทงั้ ตัวเลข 0 ถึง 9 และเคร่ืองหมำย _ (Underscore) มำใชเ้ พ่ือกำรตง้ั ชือ่ ตัวแปรได้แต่มีเงื่อนไขว่ำหำ้ มใชต้ ัวเลขนำหน้ำช่ือตวั แปร ตวั อย่ำงเช่น 1 digit ถือว่ำผิด แต่ถำ้ ตั้งซ่ือใหม่เปน็ digit1 หรือ digit_1 ถือวำ่ ถูกต้อง 2. ชื่อตวั แปรสำมำรถมีควำมยำวไดถ้ งึ 31 ตัวอกั ษร (กรณีเป็น ANSI-C 3. ช่ือตัวแปรจะตอ้ งไม่ตรงกบั คำสงวน (Reserved Words) ซ่ึงกค็ ือชุดคำสั่งท่ีใช้ในภำษำซี นั่นเอง แต่อย่ำงไรก็ตำมหำกมีควำมจำเป็นตอ้ งตั้งชื่อตรงกับคำสงวนกส็ ำมำรถทำไดไ้ มย่ ำก เนอ่ื งจำก ชุดคำส่งั ในภำษำซีมกั จะเปน็ ตัวอกั ษรตวั พิมพ์เล็ก ดังนั้นกำรตงั้ ช่ือตวั แปรชอ่ื วำ่ Auto จึงสำมำรถใช้ งำนได้ และถือวำ่ ไม่ตรงกบั คำสงวนของคำวำ่ auto สำหรับตวั อยำ่ งคำสงวนที่ใช้ในภำษำซี เชน่ auto extern sizeof break float static case for struct char goto switch coust if typedef coutinue int union default long unsigned do register void double return volatile else short while enum signed ภำพท่ี 11 ชื่อตัวแปรจะต้องไม่ตรงกบั คำสงวน และต่อไปนเ้ี ป็นตัวอยำ่ งของชื่อตวั แปร ทใี่ ห้พจิ ำรณำดูวำ่ ถูกหรือผดิ อยำ่ งไร 1. ชอ่ื ตวั แปร ไมส่ ำมำรถใช้ตัวเลขนำหนำ้ ได้ 123var × 999var 911variale 1stvar 01variable 001string

2. ชื่อตวั แปร ไม่สำมำรถนำเครอ่ื งหมำยทำงคณิตศำสตร์มำประกอบกำรต้ังช่ือ *variable +string -operator int-int ×3. ชอื่ ตัวแปรไมส่ ำมำรถนำเคร่ืองหมำย Punctuation (เครอื่ งหมำยวรรคตอน) มำใช้ .variable string.1 op,001 ×\"variable\" 4. ไมส่ ำมำรถนำคำสงวนมำใช้เพื่อต้ังชื่อตวั แปร float × union default register 5. ชื่อตวั แปรไมส่ ำมำรถคั่นดว้ ยช่องว่ำงได้ a variable × string 001 first var 6. ชอื่ ตวั แปรสำมำรถใชต้ วั เลขตำมหลังตวั อักษร var001 sting911var s001 7. สำมำรถใช้เครื่องหมำย _ (Under Score) เชือ่ มคำ เพื่อสอื่ ควำมหมำยในตวั แปรได้ string_001 string_001_var tax-rate net_income 8. สำมำรถใชอ้ กั ษรตัวพิมพใ์ หญ่หรือตวั พิมพ์เลก็ ในกำรกำหนดช่อื แปรรว่ มกันได้ StRing001 Var_001_a Avariable_01 TaxRate GrossPay

ปกตคิ ำ่ ทถ่ี ูกจัดเก็บไว้ในตัวแปรน้นั สำมำรถเปลย่ี นแปลงได้เสมอในระหว่ำงกำรประมวลผล แต่สำหรับตวั แปรอกี ประเภทหนง่ึ ท่ีเรยี กวำ่ คำคงท่ี จะเปน็ ตัวแปรทเี่ มื่อถกู กำหนดข้ึนมำแล้วค่ำ ดงั กล่ำวจะเป็นค่ำนนั้ ๆ ตลอดในโปรแกรมไมส่ ำมำรถเปลยี่ นแปลงได้ โดยกำรกำหนดคำ่ คงทใ่ี นภำษำซี จะใชไ้ ดเรกทีฟ #define ซงึ่ จะประกำศไวท้ ่สี ่วนหวั โปรแกรม ดังตวั อย่ำงต่อไปน้ี #define MAX ** #define TXT \"Warning…! ภำพท่ี 12 คำ่ คงทใี่ นภำษำซีจะใชไ้ ดเรกทีฟ #define หำกสงั เกตให้ดีๆ จะพบว่ำกำรประกำศค่ำคงทดี่ ว้ ย #define นน้ั จะไมม่ ีเครือ่ งหมำย ; ปดิ ทำ้ ยและไมต่ ้องใช้เครือ่ งหมำย = เพ่ือกำหนดค่ำ ทสี่ ำคัญตัวแปรท่นี ำมำใชเ้ ป็นคำคงท่ีมกั ถูก กำหนดใหเ้ ปน็ อกั ษรตัวพมิ พใ์ หญ่ อยำ่ งไรกต็ ำมค่ำคงทีด่ งั กลำ่ วยงั สำมำรถประกำศด้วยคำส่ัง const ทีป่ ระกำศใช้งำนอยใู่ น ส่วนของตวั โปรแกรม (มใิ ชป่ ระกำศไว้ที่สว่ นหัวเหมอื นกบั #define) ซึ่งวธิ ีนี้สำมำรถระบุชนดิ ขอ้ มูล ให้กับตัวแปรท่ีเปน็ คำ่ คงทนี่ นั้ ได้ ตวั อยำ่ งเช่น coust float TXT_RATE = 0.07; และถ้ำในเวลำตอ่ มำ ไดม้ ีกำรกำหนดค่ำให้กับ TAX_RATE ในโปรแกรมว่ำ TXT_RATE = 0.1; กำรกระทำดงั กล่ำว เมอ่ื คอมไพล์โปรแกรมแลว้ จะเกิดข้อผิดพลำดข้ึนวำ่ ไมส่ ำมำรถกำหนด ค่ำใหม่ให้กบั ตวั แปรที่เปน็ ค่ำคงทีไ่ ด้ อย่ำงไรกต็ ำมกำรสรำ้ งค่ำคงทดี่ ้วย const นัน้ จะตอ้ งลงท้ำยดว้ ย เครื่องหมำย ; ทกุ ครงั้ เน่ืองจำกเป็นสว่ นท่ีเขียนอยใู่ นพนื้ ท่ีของชุดคำส่ังนน่ั เอง ภำษำซจี ะมีชนิดข้อมูลต่ำงๆ ใหเ้ ลอื กใช้งำนตำมควำมเหมำะสม โดยขอ้ มูลแตล่ ะชนดิ นอกจำกจะใชจ้ ัดเกบ็ ข้อมูลที่แตกต่ำงกันได้แลว้ ยังมีขนำดทแี่ ตกต่ำงกันด้วย ดงั นั้นจงึ จำเป็นตอ้ ง ประกำศชนิดขอ้ มลู ใหถ้ ูกตอ้ งตำมควำมต้องกำร ทัง้ น้กี ำรกำหนดชนดิ ข้อมลู ทีม่ ีขนำดใหญ่เกนิ ไปย่อม สง่ ผลใหส้ ิน้ เปลอื งควำมจำโดยใช่เหตุ ในภำษำซจี ะมชี นิดข้อมลู หลกั ๆ ต่อไปน้ีคือ

ชนดิ ขอ้ มูล ตำรำงท่ี 1 ชนิดข้อมูลหลกั Char ความหมาย int Float ขอ้ มูลชนดิ ตัวอักษร (Character) double ข้อมลู ชนิดเลขจำนวนเต็ม (Integer) ขอ้ มูลชนดิ เลขจำนวนจริง (Floating Point) ขอ้ มูลชนิดเลขจำนวนจริง 2 เท่ำ (Double Precision Float) และยังสำมำรถปรบั ปรุงดว้ ยกำรเพมิ่ คำสง่ั นำหน้ำไดอ้ ีก ซ่ึงประกอบด้วย signed unsinged long short โดยที่คำสัง่ นำหน้ำมีกำรใชด้ ังน้ี - signed จะกำหนดให้ชนิดข้อมูลนนั้ ใหส้ ำมำรถมคี ำ่ ทง้ั คำบวกและคำลบอย่ำงไร ก็ตำม คำว่ำ signed อำจไมต่ ้องระบหุ น้ำชนดิ ข้อมลู ก็ได้ เพรำะถ้ำไม่ระบุภำษำซีก็จะถือว่ำเป็นชนิดข้อมูลท่ีมี เครื่องหมำยอย่แู ล้ว - unsigned จะกำหนดให้ชนิดข้อมูลที่ระบุนั้น มีเฉพำะค่ำบวกเท่ำน้ัน ซ่ึงส่งผลให้ช่วง ของคำ่ ตัวเลขกวำ้ งข้ึน (เน่อื งจำกไม่ต้องเสียพ้ืนที่เพอื่ รองรบั คำ่ ติดลบ) - long จะกำหนดให้ชนดิ ข้อมลู ทีร่ ะบุนั้นเป็นแบบขนำดยำวเพ่ือรองรับช่วงข้อมูลกวำ้ งมำกข้นึ - short จะกำหนดใหช้ นดิ ข้อมลู ทีร่ ะบุนัน้ เปน็ แบบชนดิ สั้น ตำรำงที่ 2 ชนิดข้อมลู ในภำษำซี (อ้ำงอิงถึง Dev C++ เวอร์ชัน 5.11) ชนดิ ขอ้ มูล ความหมาย ขนาด (ไบต)์ ช่วงขอ้ มลู char ตวั อักขระ 1 - 128 ถึง 127 unsigned char Int ตัวอักขระ ไมร่ วมเครอ่ื งหมำย 1 0 ถงึ 255 Unsigned int unsigned short int เลขจำนวนเต็ม 2 - 32,768 ถงึ 32,767 signed int short int เลขจำนวนเตม็ ไมร่ วมเครื่องหมำย 2 0 ถงึ 65,535 signed short int เลขจำนวนเตม็ ไม่รวมเครอ่ื งหมำย 2 0 ถึง 65,535 long int เลขจำนวนเต็มแบบสั้นไม่รวมเครอื่ งหมำย 2 - 32,768 ถงึ 32,767 signed long int เลขจำนวนเตม็ รวมเครอ่ื งหมำย 2 - 32,768 ถงึ 32,767 unsigned long int เลขจำนวนเต็มแบบสั้นรวมเครอื่ งหมำย 2 - 32,768 ถงึ 32,767 float เลขจำนวนเตม็ แบบยำว 4 - 2,147,483,648 ถงึ doubled 2,147,483,647 long doubled เลขจำนวนเต็มแบบยำวรวมเครอื่ งหมำย 4 - 2,147,483,648 ถึง 2,147,483,647 เลขจำนวนเตม็ แบบยำวรวมเครื่องหมำย 4 0 ถงึ 4,294,967,295 เลขจำนวนจรงิ มีทศนยิ ม 4 1.1E – 38 ถงึ 3.4E + 38 (6 decimal places) เลขจำนวนจรงิ 2 เท่ำ 8 2.2E – 308 ถึง 1.7E + 308 (15 decimal places) เลขจำนวนจริง 2 เทำ่ แบบยำว 10 3.3E – 4932 ถึง 1.1E + 4932 (18 decimal places)

อย่ำงไรก็ตำม ชนดิ ขอ้ มลู ในภำษำซีถึงแมจ้ ะมีชนดิ เดียวกนั แต่อำจมีขนำดไม่ทำกันก็ได้ ซ่ึงขึ้นอยู่กบั คอมไพเลอร์ที่ใช้งำนเปน็ สำคญั ตวั อย่ำงเชน่ คอมไพเลอร์ 16 บติ ของ Dev C++ ขอ้ มูลชนิด int จะมีขนำดเทำ่ กับ 2 ไบต์ (-32,468 ถึง 32,767) ในขณะที่คอมไพเลอร์ 32 บิตอย่ำง Borland C++ เวอร์ชัน่ 5.5 ข้อมูลชนิด int จะมขี นำดทำ่ กบั 4 ไบต์ (-2,147,483,648 ถึง 2,147,483,647) 1. ชนิดขอ้ มูลตัวอักษร เปน็ ชนิดขอ้ มูลทีจ่ ัดเก็บตัวอกั ษรหรือตัวอักขระเพยี ง 1 ตัวเทำ่ นั้น แต่ถำ้ ต้องกำรจดั เก็บตัว อักขระหลำยๆ ตัว หรอื กลุ่มข้อควำมท่ีเรยี กว่ำ สตริง (String) ก็สำมำรถกระทำได้ 1.1 รปู แบบการประกาศชนิดข้อมูลแบบอกั ขระ 1 ตวั ให้กับตัวแปร รปู แบบ char variableName; ตัวอยา่ งเชน่ char ch1; char ch2; char ch3; int num1; float ans; ภำพที่ 13 ประกำศชนดิ ตวั แปรใหก้ ับตัวแปรทลี ะตวั char ch1, ch2 , ch3; int num; float ans; ภำพที่ 14 กรณีตวั แปรมีชนดิ ข้อมูลเดียวสำมำรถกำหนดภำยในบรรทดั เดียวก็ได้ int num; num1 = 999; ภำพที่ 15 กำรประกำศตัวแปรและกำรกำหนดคำ่ int num1 = 999;; ภำพท่ี 16 กำรประกำศตัวแปรพร้อมกำหนดค่ำภำยในบรรทัดเดียวกัน int num1 = num2 = num = 999; ภำพท่ี 17 กำรประกำศตัวแปรพรอ้ มกำหนดค่ำเดียวกันให้กับหลำยๆ ตวั แปรในครำวเดียวกัน

1.2 รปู แบบการประกาศชนิดขอ้ มูลแบบสตริง รปู แบบ char variablename[n]; char ch[10]; ภำพที่ 18 ตัวอย่ำงกำรประกำศตวั แปรแบบสตริงขนำด 10 ตวั อักขระ char txt[10] = \"Error...!\"; ภำพที่ 19 ตัวอย่ำงกำรประกำศตวั แปรแบบสตรงิ พรอ้ มกำหนดคำ่ ขอ้ สงั เกตท่ีสำคัญ คอื ขอ้ มูลที่เปน็ อกั ขระ 1 ตัว จะอยู่ภำยในเครือ่ งหมำย ‘ ’ ในขณะที่ข้อมลู ท่เี ปน็ กลุม่ ข้อควำมจะอยภู่ ำยในเครอื่ งหมำย “ ” ทัง้ นี้รำยละเอยี ดเกี่ยวกบั ข้อมลู ท่ีเปน็ กลมุ่ ข้อควำม นัน้ จะเรียนรู้อย่ำงละเอียดในหัวขอ้ ฟังกช์ ันจดั กำรสตรงิ ของบทที่ 7 ตอ่ ไป สำหรับข้อมูลอกั ขระ 1 ตัวในภำษำซนี อกจำกจะจัดเกบ็ ตัวอกั ขระ 1 ตวั ไม่วำ่ จะเปน็ A,B,C...Z แลว้ ยงั สำมำรถเป็นค่ำตัวเลขได้ เนื่องจำกข้อมูลอกั ขระในภำษำซจี ะอำ้ งองิ เลขรหัสแอสกี (ASCII) เป็นสำคัญ โดยสำมำรถพจิ ำรณำจำกตวั อย่ำงภำพท่ี 20 ตอ่ ไปน้ี 1: #include <stdio.h> 2: int main() 3: { 4: char ch1, ch2; 5: ch1 = ‘A’; 6: ch2 = 66; 7: 8: printf(\"%c %c\\n\", ch1, ch2); 9: printf(\"ASCII %d =%c\\n\", ch1, ch1); 10: printf(\"ASCII %d =%c\\n\", ch2, ch2); 11: } ภำพที่ 20 โปรแกรมทดสอบชนิดขอ้ มูล char บรรทดั ท่ี ตำรำงที่ 3 คำอธิบำยโปรแกรมทดสอบชนิดข้อมูล char 1 ความหมาย 2 4 ผนวกเฮดเดอร์ไฟล์ <stdio.h> 5 ฟังก์ชัน main() 6 ประกำศตวั แปร ch1 และ ch2 มีชนิดขอ้ มลู เป็นตัวอกั ขระ 1 ตวั 8 กำหนดให้ ch1 เกบ็ อักขระ ch2 9 กำหนดให้ ch2 มคี ำ่ เทำ่ กับ 66 (หมำยถึงรหสั อสกี 66 ซึ่งตรงกบั อักขระ B) 10 พมิ พ์คำ่ อกั ขระของ ch1 และ ch2 พิมพ์รหสั แอสกี และตวั อักขระของ ch1 พิมพร์ หสั แอสกี และตวั อักขระของ ch2

ภำพที่ 21 ผลลพั ธ์จำกกำรรนั โปรแกรมทดสอบชนดิ ข้อมูล char 2. ชนดิ ข้อมูลเลขจานวนเต็ม ชนดิ ขอ้ มูลแบบเลขจำนวนเต็ม หมำยถงึ ค่ำตัวเลขจำนวนเต็มแบบไม่มที ศนยิ ม นอกจำกน้ี ยงั สำมำรถใช้คำเพิ่มเตมิ นำหนำ้ ชนดิ ขอ้ มูลอย่ำง short หรือ long กไ็ ด้ 2.1 เลขจานวนเต็มแบบสัน้ ชนิดข้อมูลเลขจำนวนเต็มแบบส้ันอำจระบุ short นำหนำหรอื ไม่กไ็ ต้ซ่ึงตำ่ งก็มี ควำมหมำยเดียวกนั โดยข้อมูลชนิดนี้ จะใชพ้ ืน้ ที่หน่วยควำมจำขนำด 2 ไบตห์ รอื 16 บติ เพ่อื จดั เกบ็ ชดุ ตวั เลขท่ีมที งั้ ค่ำบวกและค่ำลบ รูปแบบ short int variableName; int num1, num2; short in tans; int total = 0; ภำพที่ 22 ตวั อย่ำงชนดิ ข้อมูลเลขจำนวนเตม็ แบบสน้ั ช่วงขอ้ มลู แบบเลขจำนวนเต็ม int น้นั จะมีชว่ งค่ำตวั เลขจำนวนเต็มท่ีมคี ำ่ ตั้งแต่ - 32768 ถึง 32767 ดังน้ันค่ำข้อมลู ท่ีจัดเกบ็ ลงในข้อมูลชนิดน้ีควรอยูใ่ นชว่ งดงั กลำ่ วดว้ ย กล่ำวคอื จะต้องไม่น้อยหรอื เกินไปกวำ่ ชว่ งของคำ่ ดังกลำ่ ว มิฉะนนั้ จะได้คำ่ ทีผ่ ิดเพยี้ นไป เนอื่ งจำกเกิดโอเวอร์ โฟลว์ (Overflow) โดยพิจำรณำจำกตวั อย่ำงรูปที่ 3.23 ตอ่ ไปน้ี 1: #include <stdio.h> 2: 3: int main() 4: { 5: short int num,i; 6: 7: for (i=1; i<=5; i++) 8: { 9: printf(\"Input Number : \"); 10: scanf(\"%d\", &num); 11: printf(\" : %d\\n\",num); 12: } 13: } ภำพท่ี 23 โปรแกรมกำหนดชนิดข้อมลู เลขจำนวนเต็ม และทดสอบช่วงข้อมลู

ตำรำงที่ 4 คำอธบิ ำยโปรแกรมกำหนดชนดิ ข้อมูลเลขจำนวนเต็ม และทดสอบช่วงข้อมูล บรรทดั ท่ี ความหมาย 1 ผนวกเฮดเดอร์ไฟล์ <stdio.h> 3 ฟงั ก์ชัน main() 5 ประกำศตัวแปรชอ่ื num, i ให้มีชนดิ ข้อมูลเป็นเลขจำนวนเต็มแบบสนั้ 7 กำหนดใหล้ ูปเพื่อทำงำนซ้ำจำนวน 5 รอบ 8 จุดเร่มิ ตน้ ของบล็อก { เพ่ือแสดงจดุ เร่ิมตน้ กำรทำงำนเปน็ รอบ } 9 พมิ พข์ ้อควำมว่ำ ใหก้ รอกตวั เลข 10 รับค่ำตัวเลข และเกบ็ ไว้ในตัวแปร num 11 พมิ พค์ ่ำ num 12 จุดส้ินสุดของบล็อก } เพื่อกลับไปทำงำนจนครบจำนวนรอบ ผลลพั ธจ์ ากการรนั โปรแกรม Overflow ! ภำพที่ 24 ผลลัพธ์จำกกำรรันโปรแกรมกำหนดชนดิ ข้อมูล ในท่ีน้ีได้ทดลองกรอกค่ำตัวเลขให้เกินช่วงของชนิดข้อมูลแบบ short int ซ่ึงชนิดข้อมูล ดังกล่ำวจะมีช่วงข้อมูลอยู่ที่ -32,768 ถึง 32,767 ดังนั้นหำกข้อมูลท่ีกรอกเข้ำไปอยู่ต่ำกว่ำขอบเขต หรือเกนิ กว่ำ ก็จะได้คำ่ ทผี่ ดิ เพ้ยี นจะควำมเป็นจรงิ ท่เี รยี กว่ำ Overflow น่ันเอง 2.2 เลขจานวนเต็มแบบยาว ชนิดข้อมูลเลขจำนวนเต็มแบบยำว จะใชพ้ ื้นที่หนว่ ยควำมจำขนำด 4 ไบต์ หรือ 32 บิต ดังน้นั จึงสำมำรถจดั เก็บชดุ ตัวเลขท่มี ชี ่วงกวำ้ งกว่ำเปน็ สองเท่ำ โดยจะมีคำ่ ตัวเลขภำยในช่วง ตง้ั แต่ -2,147,483,648 ถงึ 2,147, 483,647 รปู แบบ long int variableName; ดงั นนั้ หำกต้องกำรเก็บค่ำเลขจำนวนเต็มทมี่ คี ่ำมำกๆ จงึ จำเป็นต้องกำหนดชนิดข้อมูลประเภทน้ี เพ่อื จะได้สำมำรถจดั เกบ็ คำตัวเลขทมี่ ีคำ่ สงู ๆ ได้โดยจะพบว่ำชว่ งข้อมูลของเลขจำนวนเตม็ แบบยำวจะ มีขนำดช่วงของข้อมลู มำกกวำ่ สองพนั ลำ้ นที่เดยี ว และหำกมีกำรใช้ unsigned นำหน้ำชนดิ ข้อมูลอีก ซง่ึ จะมเี ฉพำะคำ่ บวกทำให้มีขนำดช่วงขอ้ มลู มำกกว่ำสี่พนั ล้ำน ดงั นน้ั กรณีท่ีต้องกำรเก็บค่ำตวั เลขทมี่ ี ค่ำไม่มำก หำกกำหนดเปน็ ชนดิ ข้อมูลแบบ long int กย็ ่อมส้ินเปลอื งหนว่ ยควำมจำ

1: #include <stdio.h> 2: 3: int main() 4: { 5: unsigned long int num,i; 6: 7: for (i=1; i<=5; i++) 8: { 9: printf(\"Input Number : \"); 10: scanf(\"%lu\", &num); 11: printf(\" : %lu\\n\",num); 12: } 13: } ภำพท่ี 25 โปรแกรมกำหนดชนดิ ข้อมลู และทดสอบชว่ งขอ้ มูลของเลขจำนวนเต็มแบบยำว และไมม่ เี ครื่องหมำย (unsigned Iong int) Overflow ! ภำพที่ 26 โปรแกรมกำหนดชนดิ ขอ้ มูลและทดสอบช่วงข้อมูลของเลขจำนวนเต็มแบบยำว 3. ชนดิ ขอ้ มูลทศนยิ ม ชนิดข้อมูลแบบทศนิยมหรือเลขจำนวนจริง คือ ค่ำตัวเลขท่ีสำมำรถมีจุดทศนิยม ซึ่งสำมำรถ ประกำศใช้งำนตำมชว่ งควำมกว้ำงของค่ำตัวเลขแตล่ ะขนำด เชน่ float, double หรือ long double 3.1 เลขทศนิยมแบบ float (Single Precession Floating Point) ชนิดข้อมูลประเภทน้ี จะมีขนำด 4 ไบต์ หรอื 32 บิต ทำให้สำมำรถจัดเกบ็ ช่วงข้อมลู ตั้งแต่ 1.1x10-38 ถึง 3.4x1038 และสำมำรถจัดเกบ็ ตำแหน่งทศนิยมได้ถึง 67 ตำแหน่ง รูปแบบ float variableName; 3.2 เลขทศนยิ มแบบ double (Double precession Floating Point) ชนิดขอ้ มลู ประเทน้ี จะมีขนำด 8 ไบต์ หรือ 64 บิต ทำให้สำมำรถจัดเก็บช่วงขอ้ มลู ตง้ั แต่ 2.2x10-308 ถึง 1.7×10308 และสำมำรถจดั เก็บตำแหนง่ ทศนยิ มได้ 15 ตำแหน่ง รปู แบบ double variableName;

3.3 เลขทศนิยมแบบ long double (Long Double precession Floating Point) ชนิดข้อมูลประหนี้ จะมีขนำด 10 ไบตห์ รอื 80 บิต โดยมีชว่ งของข้อมูลต้งั แต่ 3.3x10- 4932 ถึง 1.1x 104932 และสำมำรถเก็บตำแหนง่ ทศนิยมได้ 18 ตำแหน่ง (1.2E+/-4932) รูปแบบ long double variableName; ดังนน้ั จะพบว่ำชนดิ ข้อมูลทศนยิ มไมว่ ำ่ จะเป็น float, double หรือ long double นน้ั จะตำ่ งกนั ในเรื่องของขนำดรวมถึงควำมละเอยี ดของเลขทศนิยม โดยเลขทศนยิ มทีม่ หี ลกั มำกๆ อำจมีควำมจำเป็นสำหรับงำนวิทยำศำสตร์ท่ีต้องใช้ควำมแม่นยำและควำมละเอียดสูง แต่สำหรับงำน ปกตทิ ั่วไป ชนดิ ข้อมลู แบบ float หรอื double ก็เพียงพอต่อกำรใชง้ ำนแลว้ จำกชนิดขอ้ มลู ท้ังแบบตวั อักขระ เลขจำนวนเตม็ และเลขจำนวนจรงิ อยำ่ ง char, int หรือ float นนั้ ตำมท่ไี ด้กล่ำวไว้แล้วในข้ำงต้นวำ่ ชนดิ ข้อมูลแตล่ ะประเภทจะมชี ว่ งข้อมูลท่ีแตกต่ำงกัน ไป และต่อไปนเ้ี รำจะมำพิสูจนด์ ว้ ยกำรเขยี นโปรแกรมทดสอบว่ำ ชนดิ ขอ้ มลู แต่ละประเภทนัน้ จะมี ช่วงขอ้ มลู หรือช่วงของคำ่ ตัวเลขตำมท่ีไดก้ ลำ่ วอำ้ งไว้จริงหรือไม่ แต่อยำ่ งไรก็ตำมในกำรใหเ้ ครอื่ งแสดง ค่ำต่ำสุดและคำ่ สูงสดุ ของค่ำตัวเลขท่เี ปน็ เลขจำนวนเต็มจะเกย่ี วข้องกบั เฮดเดอร์ไฟชื่อ limits.h เนอ่ื งจำกคำ่ คงท่ีทน่ี ำมำแสดงผลของค่ำต่ำสดุ หรอื ค่ำสงู สุดของชนดิ ข้อมูลแต่ละประเภทจะถกู ประกำศไวใ้ นเฮดเดอรไ์ ฟล์ <limits.h> นัน่ เอง และตอ่ ไปนี้เป็นตัวแปรคำ่ คงที่ทีป่ ระกำศไวใ้ น เฮดเดอร์ไฟล์ <limits.h> ตำรำงท่ี 5 ตัวแปรคำ่ คงท่ีท่ีประกำศไวใ้ นเฮดเดอร์ไฟล์ <limits.h> ชนดิ ขอ้ มลู คา่ ต่าสุด ค่าสงู สดุ char CHAR_MIN CHAR_MAX short SHRT_MIN SHRT_MAX int INT_MIN INT_MAX long LONG_MIN LONG_MAX long long LLONG_MIN LLONG_MAX และเมื่อส่วนหัวของโปรแกรมไดผ้ นวกเฮดเดอร์ไฟล์ <limits. h> แล้ว ภำยในโปรแกรมก็ สำมำรถอ้ำงอิงคำ่ คงทด่ี ังกลำ่ วนี้ได้ ด้วยกำรสั่งพิมพค์ งทนี่ ้ันโดยตรง หรืออำจประกำศตัวแปรเพื่อ จดั เก็บค่ำคงท่เี หล่ำนนั้ กไ็ ด้ เช่น int number = INT_MAX; ภำพท่ี 27 ประกำศตัวแปรเพื่อจัดเก็บคำ่ คงที่

สำหรับเฮดเดอร์ไฟล์ทงั้ หมดในภำษำซีนน้ั จะถูกจดั เกบ็ ไว้ในโฟลเดอร์ C:\\Dev-Cpp\\MinGW64 (อำ้ งอิงถึง Dev C++ 5.11) ซงึ่ ไฟลด์ ังกล่ำวเปน็ เท็กซ์ไฟลท์ ่ีสำมำรถเปิดดูไดจ้ ำก โปรแกรม Notepad ภำพท่ี 28 ภำยในเฮดเดอรไ์ ฟล์ stdio.h และ limits.h ในทำนองเดยี วกนั ค่ำคงท่ีท่นี ำมำแสดงผลค่ำต่ำสุดหรือค่ำสูงสุดของชนิดขอ้ มลู แบบ float น้ัน จะถูกประกำศไว้ในเฮดเดอร์ไฟล์ชื่อ <float.h> และต่อไปนเี้ ป็นตัวแปรค่ำคงที่ท่ีประเทศไว้ในเฮด เดอรไ์ ฟล์ <float.h> ตำรำงที่ 5 ตวั แปรคำ่ คงท่ีทป่ี ระกำศไวใ้ นเฮดเดอร์ไฟล์ <limits.h> ชนิดขอ้ มูล ค่าต่าสุด คา่ สูงสดุ float FLT_MIN FLT_MAX double DBL_MIN DBL_MAX long double LDBL_MIN LDBL_MAX และจำกตวั อย่ำงภำพที่ 28 ตอ่ ไปน้ีท่จี ะนำค่ำตัวแปรชนดิ ค่ำคงทดี่ ังกล่ำว มำแสดงชว่ งข้อมลู ต่ำสูง และสูงสดุ ของชนดิ ข้อมูลแต่ละประเภท

1: /* program Finding the limits */ 2: #include <stdio.h> //ผนวกเฮดเดอรไ์ ฟล์ stdio.h 3: #include <limits.h.> //ผนวกเฮดเดอรไ์ ฟล์ limits.h 4: #include <float.h.> //ผนวกเฮดเดอรไ์ ฟล์ float.h 5: 6: int main() 7: { 8: printf(\"char :value from %d to %d\\n\", CHAR_MIN, CHAR_MAX); 9: printf(\"unsigned char :value from 0 to %u\\n\\n\", UCHAR_MAX); 10: 11:printf(\"int :value from %d to %d\\n\", INT_MIN, INT_MAX); 12:printf(\"unsigned int :value from 0 to %ld\\n\", LONG_MIN, LONG_MAX); 14:printf(\"unsigned long int: value from 0 to %lu\\n\\n\", ULONG_MAX); 15: 16:printf(\"float :value from %.3e to .3e\\n\", FLT_MIN, FLT_MAX); 17:printf(\"double :value from %.3e to .3e\\n\", DBL_MIN, DBL_MAX); 18:printf(\"long doubled :value from %.3Le to %%.3Le\\n\", LDBL_MIN, LDBL_MAX; 19: } ภำพที่ 29 โปรแกรมแสดงช่วงข้อมลู ของชนิดขอ้ มลู แตล่ ะประเภท ตำรำงที่ 6 คำอธบิ ำยโปรแกรมแสดงชว่ งขอ้ มูลของชนดิ ขอ้ มูลแตล่ ะประเภท บรรทดั ท่ี ความหมาย 2 - 4 ผนวกเฮดเดอรไ์ ฟล์ <stdio.h>,<limits.h> และ <float.h> ตำมลำดบั 8 พิมพ์ช่วงค่ำต่ำสุด และค่ำสงู สุดของชนดิ ขอ้ มูลแบบ char 9 พมิ พช์ ว่ งค่ำตำ่ สุด และค่ำสูงสุดของชนดิ ขอ้ มูลแบบ unsigned char 11 พมิ พช์ ่วงค่ำตำ่ สุด และค่ำสูงสุดของชนิดข้อมูลแบบ int 12 พมิ พช์ ว่ งค่ำต่ำสดุ และค่ำสูงสุดของชนิดข้อมลู แบบ unsigned int 13 พมิ พ์ช่วงค่ำต่ำสดุ และค่ำสูงสุดของชนดิ ขอ้ มลู แบบ long int 14 พมิ พช์ ่วงคำ่ ตำ่ สุด และค่ำสูงสุดของชนดิ ข้อมลู แบบ unsigned long int 16 พมิ พช์ ว่ งค่ำตำ่ สุด และคำ่ สูงสุดของชนดิ ขอ้ มลู แบบ float 17 พิมพ์ช่วงค่ำตำ่ สดุ และค่ำสงู สุดของชนดิ ขอ้ มูลแบบ doubled 18 พิมพ์ช่วงคำ่ ตำ่ สดุ และคำ่ สูงสุดของชนิดขอ้ มูลแบบ long doubled ภำพท่ี 30 ผลลัพธ์จำกกำรรนั โปรแกรมแสดงชว่ งข้อมลู ของชนดิ ข้อมลู แต่ละประเภท

และตวั อย่ำงภำพที่ 31 ต่อไปน้ี ท่แี สดงขนำดของชนดิ ขอ้ มูลประเภทต่ำงๆ ด้วยกำรใช้ โอโอปอเรเตอร์ sizeof 1: /* program Finding the size of a type */ 2: #include <stdio.h> 3: int main(void) 4: { 5: printf(\"\\nVariables of type char occupy %d bytes\", sizeof(char)); 6: printf(\"\\nVariables of type short occupy %d bytes\", sizeof(short)); 7: printf(\"\\nVariables of type int occupy %d bytes\", sizeof(int)); 8: printf(\"\\nVariables of type long occupy %d bytes\", sizeof(long)); 9: printf(\"\\nVariables of type float occupy %d bytes\", sizeof(float)); 10: printf(\"\\nVariables of type double occupy %d bytes\", sizeof(double)); 11: return 0; 12: } ภำพที่ 31 โปรแกรมแสดงขนำดของชนิดข้อมูล ซึ่งมีหนว่ ยเปน็ ไบต์ด้วยโอปอเรเตอร์ sizeof ตำรำงท่ี 7 คำอธบิ ำยโปรแกรมแสดงขนำดของชนิดข้อมลู ซ่ึงมหี น่วยเป็นไบต์ดว้ ยโอปอเรเตอร์ sizeof บรรทดั ที่ ความหมาย 2 ผนวกเฮดเดอรไ์ ฟล์ <stdio.h> 3 ฟงั ก์ชัน main() ทีม่ กี ำรคืนคำ่ เป็นชนิดข้อมูล int 5 พิมพ์ขนำดของชนดิ ขอ้ มูลแบบ char 6 พมิ พข์ นำดของชนดิ ขอ้ มลู แบบ short 7 พมิ พ์ขนำดของชนิดขอ้ มลู แบบ int 8 พมิ พ์ขนำดของชนดิ ขอ้ มูลแบบ long 9 พิมพ์ขนำดของชนดิ ข้อมลู แบบ float 10 พมิ พ์ขนำดของชนิดข้อมูลแบบ long double 11 กำรคนื ค่ำ 0 กลับไปยังฟงั กช์ นั (ค่ำปกติซึ่งไม่มีข้อผิดพลำด) ภำพที่ 32 ผลลัพธ์จำกกำรรันโปรแกรมแสดงขนำดของชนดิ ข้อมูล ซ่ึงมหี นว่ ยเปน็ ไบตด์ ว้ ยโอปอเรเตอร์ sizeof

จำกเนอ้ื ขำ้ งต้นที่ผ่ำนมำไดก้ ล่ำวถงึ กำรประกำศตวั แปรมำบ้ำงแลว้ แตใ่ นภำษำซี ยังสำมำรถ แบง่ รูปแบบของตัวแปรทป่ี ระกำศใช้งำนในโปรแกรมออกเป็น 2 ประเภทด้วยกนั คือ 1. ตวั แปรแบบภายนอก (Global Variables) ตวั แปรชนิดน้ีจะประกำศอยูภ่ ำยนอกฟังกช์ ัน และจะเปน็ ตวั แปรสำธำรณะที่ทกุ ๆ ฟงั กช์ นั ภำยในโปรแกรมสำมำรถนำมำเรียกใชง้ ำนได้ ตัวอยำ่ งกำรประกำศตวั แปรแบบภำยนอก เช่น #include <stdio.h> int var1 = 0; //ตวั แบง่ ภายนอก :: main() //อ้างอิงตวั แปรภายนอก { ชดุ คำส่งั 1; ชดุ คำส่งั 2; ans = var1 * 0.05; } ภำพท่ี 33 กำรประกำศตัวแปรแบบภำยนอก 2. ตวั แปรแบบภายใน (Local Variables) ตัวแปรชนดิ นีจ้ ะถูกกำหนดอยู่ภำยในฟงั ก์ชนั ถึงแมแ้ ตล่ ะฟังกช์ นั จะมกี ำรกำหนดชื่อตวั แปร ที่เหมือนกนั ก็ตำม แต่กถ็ ือวำ่ เป็นตวั แปรคนละตัวกนั เน่ืองจำกถูกใช้งำนภำยในขอบเขตของฟังก์ชัน น้นั ๆ ตวั อย่ำงกำรประกำศตัวแปรแบบภำยใน เช่น #include <stdio.h> main() // ตัวแปรภายใน { int var1 = 0; ชดุ คำส่งั 1; ชดุ คำส่งั 2; } funcl() //ตวั แปรภายใน { int var1 = 9; ชดุ คำส่งั 1; ชดุ คำส่งั 2; } ภำพท่ี 34 กำรประกำศตวั แปรแบบภำยใน

จำกตวั อย่ำงโปรแกรมข้ำงตน้ ตวั แปรชือ่ var1 ที่ประกำศใชง้ ำนอยใู่ นฟงั กช์ นั main() และ ตวั แปรชื่อ var1 เหมือนกัน ท่ีประกำศใช้งำนอยใู่ นฟังก์ชนั func1() จะถือวำ่ เป็นคนละตัวแปรกัน ซ่ึงจะถูกอ้ำงอิงใชง้ ำนเฉพำะขอบเขตภำยในฟงั กช์ นั นั้นเท่ำนนั้ 1: /* Local Variable Testing */ 2: 3: #include <stdio.h> 4: 5: void func1(void) // ฟังกช์ นั ทา่ สร้างขนึ้ เอง 6: { 7: int var1 = 999; 8: } 9: 10: int main() // ฟังกช์ ันหลัก 11: { 12: int var1 = 555; 13: func1(); 14: printf(\"Value of var1 is %d\\n\", var1); 15: } ภำพท่ี 35 โปรแกรมพิสจู น์กำรทำงำนของตวั แปรแบบภำยใน ตำรำงท่ี 8 คำอธิบำยโปรแกรมพิสูจน์กำรทำงำนของตัวแปรแบบภำยใน บรรทัดที่ ความหมาย 3 ผนวกเฮดเดอรไ์ ฟล์ <stdio.h> 5 ฟังก์ชัน func1() ซง่ึ เป็นฟังกช์ ันท่ีสร้ำงขึน้ เอง 7 ประกำศตัวแปร var1 ใหม้ ีชนดิ ขอ้ มูลเป็น int มคี ่ำเรม่ิ ต้นเท่ำกบั 999 8 บล็อก } เพื่อแสดงจุดส้ริ สุดของฟังก์ชันหลกั 10 ฟงั ก์ชนั main() ซง่ึ เปน็ ฟังก์ชันหลกั 12 ประกำศตัวแปร var1 ใหม้ ีชนิดขอ้ มลู เป็น int มีค่ำเริม่ ต้นเท่ำกับ 555 13 เรยี กใชง้ ำนฟังก์ชัน func1() 14 พิมพ์คำ่ ตัวแปร var1 ภำพท่ี 36 ผลลพั ธจ์ ำกกำรรันโปรแกรมพิสจู นก์ ำรทำงำนของตัวแปรแบบภำยใน จำกโปรแกรมจะพบว่ำ ในบรรทัดท่ี 13 ทมี่ กี ำรเรียกใชง้ ำนฟงั ก์ชนั func1() ซ่งึ จะมีกำร กำหนดคำ่ ให้กับตัวแปรง var1 ซำ้ อกี ครง้ั คือ 999 แต่ในบรรทัดที่ 14 เมอ่ื ส่ังพิมพ์ค่ำ var1 กลับมคี ำ่ เป็น 555 ซ่งึ เปน็ กำรพิสจู น์ถึงตวั แปรแบบภำยใน ทจี่ ะถูกใช้งำนภำยในฟงั กช์ ันเทำ่ นน้ั ถงึ แม้ว่ำใน ฟงั กช์ ันอน่ื ๆ จะมีกำรต้ังช่ือตัวแปรทเ่ี หมือนกันก็ตำม แต่จะถอื ว่ำเปน็ ตวั แปรคนละตวั กนั

สรปุ ทา้ ยบท ภำษำซีถกู พัฒนำขึ้นโดย เดนนสิ ริตซี ทีห่ ้องปฏบิ ตั ิกำรเบลล์ ซึง่ มีตน้ แบบมำจำกภำษำบีท่อี ยู่ บนรำกฐำนของภำษบซี ีพีแอล ทำงสถำบัน ANSI ไดร้ ับรองมำตรฐำนภำษำซีขึน้ มำภำยใต้ชือ่ ANSI - C ปจั จบุ ันได้มกี ำรพฒั นำภำษำซีให้มปี ระสิทธิภำพมำกข้นึ เปน็ เวอร์ชันตำ่ งๆ มำกมำยดว้ ยกำร นำมำพัฒนำต่อยอดเปน็ C++ หรอื C# โดยไดเ้ พม่ิ ชุดคำสง่ั ทีส่ นบั สนนุ กำรโปรแกรมเชิงวัตถุและยังคง รองรับชุดคำสั่งมำตรฐำนของภำษำซดี งั เดิมอยู่ดว้ ย ภาษาซีมีคณุ สมบตั ทิ โ่ี ดดเดน่ กว่าภาษาระดบั สูงทัว่ ไปในหลายๆ ด้านด้วยกัน คอื 1. เป็นภำษำท่ีไม่ขน้ึ กบั ฮำรด์ แวรแ์ ละระบบปฏบิ ตั ิกำร 2. เปน็ ภำษำทมี่ ีควำมยืดหยุ่นสูงมำก 3. มปี ระสทิ ธภิ ำพสูง 4. ควำมสำมำรถในด้ำนกำรโปรแกรมแบบโมดูล 5. มีตัวแปรชนิดพอยนเ์ ตอร์ 6. ภำษำซมี องตวั อักษรตัวพิมพ์เลก็ และตวั พมิ พ์ใหญ่แตกต่ำงกนั (Case Sensitive) โครงสรา้ งโปรแกรมในภาษาซี แบง่ ออกเป็นส่วนตา่ งๆ ดังน้ี 1. ตวั ประมวลผลก่อน (Preprocessor Directive) 2. ฟงั ก์ชนั หลกั 3. ชดุ คำส่งั 4. คำอธบิ ำยโปรแกรม กฎเกณฑ์ทีต่ ้องร้ใู นการเร่ิมตันฝกึ ทดั เขยี นโปรแกรมภาษาซี คือ 1. ทีส่ ่วนหัวโปรแกรม จะตอ้ งกำหนดตัวประมวลผลก่อนเสมอ 2. ชดุ คำส่ังในภำษำซี จะใช้อักษรตัวพิมพเ์ ลก็ ท้งั หมด 3. ตัวแปรที่ใชง้ ำน ต้องถกู ประกำศชนดิ ขอ้ มูลไวเ้ สมอ 4. ภำยในโปรแกรม จะตอ้ งมีอยำ่ งน้อย 1 ฟงั กช์ ันเสมอ ซึง่ กค็ อื ฟังก์ชัน main() น่นั เอง 5. สมำรถใชเ้ ครือ่ งหมำยปีกกำเปดิ { เพือ่ บอกจุดเริ่มตน้ ของชุดคำสง่ั และเครอื่ งหมำย ปกี กำปดิ } เพ่ือบอจดุ สิ้นสุดของชุดคำส่ัง โดยสำมำรถมีเครื่องหมำยปีกกำซ้อนย่อยอยู่ภำยในได้ 6. เม่อื เขียนชดุ คำสั่งเสร็จแลว้ ต้องจบดว้ ยเคร่ืองหมำย ; 7. สำมำรถอธบิ ำยโปรแกรมตำมควำมจำเป็นดว้ ยกำรใชเ้ คร่ืองหมำย */.....*/ หรือ //.... ตัวแปร คอื ชอ่ื ทีต่ ั้งขึน้ ตำมกฎกำรต้ังชอ่ื ตัวแปร เพ่อื นำมำใช้จดั เกบ็ ข้อมลู และอำ้ งอิงใช้ งำนภำยในโปรแกรม คำ่ ข้อมลู ท่บี ันทึกอยู่ในตวั แปรน้ันจะถกู จัดเก็บไว้ในหนว่ ยควำมจำหลักทสี่ ำมำรถนำไป ประมวลผลและอ้ำงอิงไดภ้ ำยในโปรแกรม

กฎเกณฑ์การตัง้ ชื่อตัวแปรในภาษาซี ประกอบดว้ ย 1. สำมำรถใช้ตวั อักษร A ถงึ Z หรอื a ถึง z รวมทงั้ ตัวเลข 0 ถงึ 9 และเครอื่ งหมำย (Underscore) มำใชเ้ พ่อื กำรตั้งชอื่ ตวั แปรได้แตม่ ีเงื่อนไขว่ำ ห้ำมใชต้ วั เลขนำหนำ้ ชอ่ื ตวั แปร ตัวอย่ำงเช่น 1digit ถอื ว่ำผิดแต่ตง้ั ช่อื ใหม่เปน็ digit1 หรอื digit_1 ถือวำ่ ถูกต้อง 2. ช่ือตัวแปรสำมำรถมีควำมยำวได้ถงึ 31 ตวั อกั ษร (กรณเี ปน็ ANSI-C) 3. ช่อื ตัวแปร จะตอ้ งไมต่ รงกับคำสงวน (Reserved Words) ในภำษำซี จะมีตัวแปรอีก ชนดิ หนึง่ ทีเ่ รยี กว่ำ คำ่ คงที่ พ่ึงจะแตกตำ่ งจำกตัวแปรทั่วไป คือ ตวั แปรทว่ั ไปสำมำรถถูกเปล่ยี นค่ำได้ ตลอดเวลำภำยในโปรแกรมในขณะที่ค่ำคงที่ เม่ือถูกกำหนดไว้ในตัวแปรแล้ว ค่ำดงั กล่ำวจะเป็นคำ น้นั ๆ ตลอดในโปรแกรมไม่สำมำรถเปล่ยี นแปลงได้ กำรกำหนดค่ำคงทใ่ี นภำษำซีน้ันจะใช้ไดเรกทีฟ #define ทจ่ี ะประกำศไวท้ ส่ี ว่ นหวั โปรแกรม หรืออำจประกำศใช้งำนในส่วนของชุดคำส่ังก็ได้ด้วยกำรใช้ const นำหน้ำชนิดข้อมลู ที่ประกำศตัวแปร ชนดิ ข้อมูลตัวอกั ษร เป็นชนิดขอ้ มลู ที่จดั เกบ็ ตวั อกั ษรหรือตัวอกั ขระเพียง 1 ตัวเทำ่ นนั้ กรณที ต่ี ้องกำรจดั เกบ็ ตัวอกั ขระหลำยๆ ตัว เรำจะเรยี กกลมุ่ ข้อควำมน้วี ่ำ สตรงิ (String) ชนดิ ข้อมูลแบบเลขจำนวนเต็มหมำยถึงค่ำตวั เลขจำนวนเต็มไม่มที ศนยิ ม ซงึ่ ประกอบดว้ ย int และ long int แบบไมม่ ีทศนยิ มนอกจำกนยี้ ังสำมำรถใช้คำเพ่ิมเติมนำหน้ำชนดิ ขอ้ มูลอย่ำง short หรอื Iong ก็ได้ ชนดิ ขอ้ มลู แบบทศนิยม หรือเลขจานวนจริง คือคำ่ ตวั เลขทสี่ ำมำรถมจี ดุ ทศนิยม โดย ชนดิ ข้อมูลนสี้ ำมำรถกำหนดขนำดควำมกว้ำงตำมควำมต้องกำร เชน่ float, double หรือ long double ควรกำหนดชนดิ ข้อมูลให้เหมำะสมกับกำรใช้งำนท้งั น้ีหำกกำหนดชนดิ ข้อมูลทม่ี ขี นำด เลก็ เกินก็จะไมส่ ำมำรถรบั คำทเ่ี กนิ กว่ำชว่ งทม่ี ีอยู่ได้หรือท่ีเรียกว่ำโอเวอร์โฟลวใ์ นขณะที่หำกกำหนด ชนดิ ขอ้ มูลท่ีมขี นำดใหญ่เกินก็จะทำใหส้ น้ิ เปลืองหน่วยควำมจำ ตวั แปรแบบภายใน จะถูกประกำศใช้งำนเฉพำะฟังกช์ นั นน้ั ๆ ดังนั้นหำกตวั แปรแบบ ภำยในของแตล่ ะฟังก์ชัน มีกำรกำหนดชือ่ ตวั แปรเหมือนกันจะถือวำ่ เป็นตัวแปรคนละตัว ตัวแปรแบบภายนอก ถือเปน็ ตวั แปรสำธำรณะที่ทุกๆ โปรแกรมย่อยหรือทุกๆ ฟงั ก์ชัน สำมำรถเรยี กใช้งำนได้ โดยจะถูกประกำศไว้ภำยนอกฟังก์ชัน ตัง้ ใจศึกษาใบความรู้ นะคะนักเรียน

คาช้ีแจง ใหน้ ักเรยี นตอบคำถำมต่อไปน้ใี ห้ถกู ต้อง 1. ใหน้ ักเรยี นสรุปคุณสมบัติท่โี ดดเดน่ ของภำษำซีมำพอสังเขป ตอบ ............................................................................................................................. ..................... ............................................................................................................. ................................................... 2. โครงสรำ้ งของภำษำซี ประกอบด้วยส่วนใดบำ้ ง อธบิ ำยมำพอสังเขป ตอบ ............................................................................................................................. ..................... ............................................................................................................. ................................................... 3. ใหน้ กั เรยี นอธบิ ำยควำมแตกตำ่ งระหวำ่ งตวั แปร และค่ำคงท่ีในภำษำซี ตอบ ............................................................................................................................. ..................... ............................................................................................................................. ................................... 4. ชนดิ ขอ้ มูลหลกั ๆ ในภำษำซี ประกอบดว้ ยข้อมูลชนดิ ใดบำ้ ง ตอบ ................................................................................................................................................. . ............................................................................................................................. ................................... 5. ใหน้ ักเรยี นอธิบำยคำส่ังหน้ำชนดิ ขอ้ มลู อย่ำง signed, unsigned, long และ short มำพอสงั เขป ตอบ ............................................................................................................................. ..................... ............................................................................................................................. ................................... สรปุ คะแนน สรุปผล ผ่าน ไมผ่ ่าน คะแนนเตม็ คะแนนทีไ่ ด้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

คาช้ีแจง ให้นักเรียนอ่ำนข้อควำมแต่ละข้อแล้วทำเคร่ืองหมำยถูก  หน้ำข้อที่ถูกและ ทำเครื่องหมำยผิด  หน้ำข้อที่ผิดต่อไปนี้ให้ถูกต้อง …………….. 1. ภำษำซยี งั อนุญำตให้มกี ำรแบง่ โมดลู เพือ่ แยกคอมไพลไ์ ด้ …………….. 2. ภำษำซีสำมำรถรนั รนั อย่บู นคอมพิวเตอร์ตั้งแตร่ ะดับเมนเฟรมคอมพวิ เตอร์ …………….. 3. ภำษำซีถูกพัฒนำขนึ้ โดย มำตนิ โคเมค ท่หี ้องปฏิบตั ิกำรเบลล์ …………….. 4. ฟังกช์ ัน printf() สำมำรถนำมำใช้สำหรับสง่ั พมิ พ์ข้อควำมหรือคำ่ ตัวแปร …………….. 5. ฟังก์ชัน scanf() จะไมน่ ำมำใช้สำหรบั รับค่ำผำ่ นแปน้ พมิ พ์ …………….. 6. ชุดคำส่ังในภำษำซี จะใช้อักษรตวั พมิ พใ์ หญ่ทั้งหมด …………….. 7. เมอ่ื เขียนชุดคำสง่ั เสร็จแล้ว ต้องจบด้วยเครื่องหมำยเท่ำกบั …………….. 8. ตัวแปรท่ีถูกใช้งำนจะต้องถูกประกำศชนิดข้อมูลไวเ้ สมอ …………….. 9. ไม่สำมำรถนำคำสงวนมำใช้เพ่ือตั้งช่ือตัวแปร …………….. 10. ชอ่ื แปรสำมำรถคั่นดว้ ยชอ่ งว่ำงได้ สรปุ คะแนน สรปุ ผล ผา่ น ไม่ผ่าน คะแนนเต็ม คะแนนที่ได้ ……………...…. …………………. 10 คะแนน ………………. คะแนน อยา่ ลืมทวนคาตอบ นะคะนกั เรียน

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

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

คาชีแ้ จง ให้นักเรยี นปฏบิ ตั ิกิจกรรมดงั ต่อไปนี้ 1. ช่วยกนั สรุปองคค์ วำมรู้ 2. สรำ้ งแผนท่คี วำมคิดจำกกำรสรปุ องค์ควำมรู้ 3. สรุปองค์ควำมรใู้ นสมุดบนั ทกึ สว่ นตัว 4. นำเสนอแผนทค่ี วำมคดิ ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... ........................................................................................................................................ ........................ ........................................................................................................... ..................................................... ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... ........................................................................................................................................ ........................ ........................................................................................................... ..................................................... ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... สรุปคะแนน สรปุ ผล ผ่าน ไมผ่ ่าน คะแนนเตม็ คะแนนทไี่ ด้ ……………...…. …………………. 15 คะแนน ………………. คะแนน

คาชแ้ี จง ใหน้ ักเรียนเลือกคำตอบท่ีถกู ทส่ี ุดเพียงคำตอบเดียวแลว้ ทำเครื่องหมำย X ลงใน กระดำษคำตอบ 1. ขอ้ ใด คือ ตวั กำหนดชนดิ ข้อมลู ทรี่ ะบนุ ั้นมีเฉพำะค่ำบวกเทำ่ น้นั ก. signed ข. long ค. short ง. unsigned 2. ช่ือตัวแปรต่อไปนี้ ข้อใดผิด ก. AAA ข. v_a_r_i_a_b_l_e ค. INCLUDE ง. 4_You 3. หำกต้องกำรกำหนดตัวแปรที่เอำไวเ้ ก็บเลขจำนวนเตม็ ทีม่ คี ่ำไม่เกินหลกั หมื่นควรกำหนด เป็นขอ้ มูลชนดิ ใด ก. char ข. int ค. float ง. double 4. ชนิดข้อมูลแบบ char จะต้องอย่ภู ำยในเครื่องหมำยในขอ้ ใด ก. “ ” ข. ‘ ’ ค. # ง. $ 5. ขอ้ ใด คือ ชื่อตัวแปรภำษำซีทีไ่ ม่สำมำรถขึ้นตน้ ได้ ก. ตวั พิมพใ์ หญ่ ข. ตัวเลข ค. สญั ลักษณพ์ ิเศษ ง. ตวั พมิ พเ์ ล็ก

6. ส่วนใดในโปรแกรมภำษำซีตอ่ ไปนที้ ่ีจะถกู ประมวลผลก่อน ก. #include <stdio.h> ข. main() ค. { ง. /* comment */ 7. เฮดเดอร์ไฟล์ จะถูกเขียนไว้อยูส่ ว่ นใดของโปรแกรม ก. สว่ นชดุ คำสั่ง ข. ภำยในบลอ็ ก { } ค. สว่ นหัวของโปรแกรม ง. เขียนไว้สว่ นใดกไ็ ด้ 8. ขอ้ ใด คือ ตัวแปรชนดิ character ท่ีสำมำรถจัดเกบ็ ตัวอักขระได้ไมเ่ กินท่ีกำหนดไว้ ก. 1 ตวั อักษร ข. 8 ตวั อกั ษร ค. 16 ตวั อกั ษร ง. 32 ตัวอกั ษร 9. ข้อใดต่อไปน้ี ไม่ใช่ คณุ สมบตั ิเด่นของภำษำซี ก. มีประสทิ ธิภำพสูง ข. เป็นภำษำทีย่ ดื หยนุ่ สงู มำก ค. ทำงำนได้อย่ำงชำ้ ง. มตี ัวแปรชนดิ พอยนเ์ ตอร์ 10. ใคร คือ ผู้พฒั นำภำษำซี ก. Ken Thompson ข. Dennis Ritchie ค. Perter Norton ง. Martin Richards ส้ๆู นะคะนักเรยี น

คาช้แี จง ใหน้ ักเรยี นเลือกคำตอบท่ีถกู ท่ีสุดเพยี งคำตอบเดียวแลว้ ทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. สรุปคะแนน สรุปผล ผา่ น ไม่ผ่าน คะแนนเต็ม คะแนนท่ีได้ ……………...…. …………………. 10 คะแนน ………………. คะแนน



คาช้แี จง ใหน้ ักเรียนเลอื กคำตอบท่ีถกู ทส่ี ุดเพยี งคำตอบเดียวแล้วทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1.  2.  3.  4.  5.  6.  7.  8.  9.  10.  ตอบถกู กข่ี ้อคะ

คาช้แี จง ให้นกั เรยี นตอบคำถำมต่อไปนี้ให้ถูกต้อง 1. ใหน้ กั เรยี นสรปุ คณุ สมบตั ิท่ีโดดเดน่ ของภำษำซีมำพอสังเขป ตอบ 1. เป็นภำษำทไี่ ม่ข้ึนกบั ฮำร์ดแวรแ์ ละระบบปฏิบตั ิกำร 2. เป็นภำษำทม่ี ีควำมยืดหยนุ่ สูงมำก 3. มีประสิทธภิ ำพสูง 4. ควำมสำมำรถในด้ำนกำรโปรแกรมแบบโมดลู 5. มีตวั แปรชนิดพอยนเ์ ตอร์ 6. มองตัวอักษรตวั พิมพ์เล็กและตวั พมิ พ์ใหญ่แตกต่ำงกัน 2. โครงสร้ำงของภำษำซี ประกอบดว้ ยส่วนใดบ้ำง อธบิ ำยมำพอสังเขป ตอบ 1. ตวั ประมวลผลกอ่ น 2. ฟังก์ชนั หลัก 3. ชดุ คำสั่ง 4. คำอธบิ ำยโปรแกรม 3. ให้นักเรยี นอธบิ ำยควำมแตกต่ำงระหว่ำงตัวแปร และค่ำคงท่ีในภำษำซี ตอบ ตวั แปรทัว่ ไปสำมำรถถกู เปลี่ยนค่ำได้ตลอดเวลำในโปรแกรม ในขณะที่ค่ำคงทเ่ี ม่ือถูกกำหนด ไวใ้ นตวั แปรแลว้ ค่ำดังกล่ำวจะเป็นค่ำนัน้ ๆ ตลอดในโปรแกรม ไมส่ ำมำรถเปลี่ยนแปลงได้ 4. ชนดิ ขอ้ มูลหลกั ๆ ในภำษำซี ประกอบดว้ ยข้อมูลชนิดใดบำ้ ง ตอบ 1. char ขอ้ มลู ชนิดตวั อกั ษร 2. int ขอ้ มูลชนดิ ตัวเลขจำนวนเตม็ 3. float ขอ้ มูลชนิดเลขจำนวนจริง 4. double ข้อมลู ชนดิ เลขจำนวนจริง 2 เท่ำ 5. ให้นักเรียนอธบิ ำยคำสั่งหนำ้ ชนิดข้อมูลอย่ำง signed, unsigned, long และ short มำพอสังเขป ตอบ signed เพื่อกำหนดใหข้ อ้ มูลนัน้ ๆ สำมำรถมีค่ำทง้ั บวกและค่ำลบ unsigned เพื่อกำหนดชนิดข้อมลู ใหม้ เี ฉพำะค่ำบวกเท่ำน้นั long เพ่ือกำหนดชนิดข้อมูล ทรี่ ะบุเปน็ แบบขนำดยำว short เพ่ือกำหนดชนิดข้อมูลเปน็ แบบชนดิ ส้ัน

คาชีแ้ จง ให้นักเรียนอ่ำนข้อควำมแต่ละข้อแล้วทำเคร่ืองหมำยถูก  หน้ำข้อท่ีถูกและ ทำเคร่ืองหมำยผิด  หน้ำข้อท่ีผิดต่อไปนี้ให้ถูกต้อง ................. 1. ภำษำซียังอนุญำตให้มกี ำรแบง่ โมดูลเพื่อแยกคอมไพล์ได้ ................. 2. ภำษำซสี ำมำรถรันรนั อย่บู นคอมพิวเตอร์ต้ังแตร่ ะดับเมนเฟรมคอมพวิ เตอร์ ................ 3. ภำษำซีถกู พัฒนำข้นึ โดย มำติน โคเมค ท่หี อ้ งปฏิบัติกำรเบลล์ ................. 4. ฟงั กช์ นั printf() สำมำรถนำมำใช้สำหรบั สั่งพิมพข์ ้อควำมหรือคำ่ ตวั แปร ................ 5. ฟงั กช์ ัน scanf() จะไมน่ ำมำใชส้ ำหรับรบั คำ่ ผ่ำนแปน้ พิมพ์ ................ 6. ชดุ คำส่ังในภำษำซี จะใชอ้ ักษรตัวพมิ พ์ใหญท่ ้งั หมด ................ 7. เม่ือเขยี นชุดคำส่งั เสรจ็ แลว้ ต้องจบด้วยเครอ่ื งหมำยเท่ำกบั ................. 8. ตวั แปรทถี่ กู ใชง้ ำนจะต้องถกู ประกำศชนิดข้อมูลไวเ้ สมอ ................. 9. ไม่สำมำรถนำคำสงวนมำใช้เพื่อตัง้ ช่ือตวั แปร ................ 10. ช่ือแปรสำมำรถคัน่ ดว้ ยชอ่ งวำ่ งได้ อยา่ ลมื ทวนคาตอบ นะคะนักเรยี น

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

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

คาชแ้ี จง ให้นักเรยี นปฏิบัตกิ ิจกรรมดังต่อไปนี้ 1. ชว่ ยกนั สรปุ องคค์ วำมรู้ 2. สร้ำงแผนที่ควำมคดิ จำกกำรสรุปองค์ควำมรู้ 3. สรปุ องคค์ วำมรใู้ นสมุดบนั ทกึ ส่วนตัว 4. นำเสนอแผนท่ีควำมคดิ เกณฑ์การประเมนิ คาช้แี จง โปรดทำเครอื่ งหมำย  ลงในชอ่ งว่ำงตำมระดับคะแนนทเ่ี ป็นจริง ระดบั คะแนน 3 ระดบั ดงั นี้ 3 คะแนน หมำยถงึ ดี 2 คะแนน หมำยถงึ พอใช้ 1 คะแนน หมำยถึง ควรปรบั ปรุง รายการประเมิน ระดบั คะแนน หมายเหตุ 321 1. สรปุ องค์ประกอบควำมรูไ้ ด้ชัดเจนและครบถว้ น 2. บอกควำมสำคญั ได้ตรงประเด็น 3. สะอำด เรยี บรอ้ ย และสวยงำม 4. ควำมคิดสรำ้ งสรรค์ 5. ควำมกล้ำแสดงออกในกำรนำเสนองำน รวม เกณฑก์ ารประเมิน ตอ้ งผำ่ นร้อยละ 80 ขนึ้ ไป หรือ 12 คะแนนขน้ึ ไป  ผำ่ น  ไมผ่ ำ่ น ลงช่ือ..........................................ผูป้ ระเมนิ (..........................................)

คาช้แี จง ให้นกั เรียนเลือกคำตอบท่ีถูกที่สุดเพยี งคำตอบเดียวแลว้ ทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1.  2.  3.  4.  5.  6.  7.  8.  9.  10.  ตอบถกู กข่ี ้อคะ

การประเมิน คะแนนเต็ม คะแนนท่ีได้ ความกา้ วหนา้ แบบทดสอบก่อนเรียน แบบทดสอบหลังเรยี น 10 เกณฑ์การประเมนิ 10 ต้องผ่ำนรอ้ ยละ 80 ขึน้ ไป หรอื 8 คะแนนขน้ึ ไป  ผ่ำน  ไม่ผำ่ น การประเมนิ คะแนนเตม็ คะแนนทไี่ ด้ ค่าเฉล่ยี S.D. รอ้ ยละ กจิ กรรมที่ 1 10 กจิ กรรมท่ี 2 10 กจิ กรรมท่ี 3 15 กิจกรรมที่ 4 15 กจิ กรรมที่ 5 15 รวม 65 เกณฑ์การประเมนิ ตอ้ งผำ่ นรอ้ ยละ 80 ขึ้นไป หรอื 52 คะแนนข้ึนไป  ผำ่ น  ไมผ่ ่ำน ลงชือ่ ..........................................ผ้ปู ระเมิน (..........................................)


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