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 ชุดที่ 7 อาร์เรย์และฟังก์ชันจัดการสตริง

ชุดที่ 7 อาร์เรย์และฟังก์ชันจัดการสตริง

Published by kruraphiphon2019, 2022-06-15 06:46:02

Description: ชุดที่ 7 อาร์เรย์และฟังก์ชันจัดการสตริง

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) แนวคิด ศกึ ษำเก่ยี วกับชนดิ ของตวั แปรอำร์เรย์ ฟังก์ชันจัดกำรสตรงิ กำรอำ่ นและแสดงผลค่ำ ของสตรงิ และกำรแปลงข้อควำมที่เปน็ ตัวเลข เปน็ ค่ำตวั เลขที่นำไปคำนวณได้ซง่ึ เนื้อหำเหลำ่ นี้ถือเป็น ส่ิงสำคญั ในกำรศึกษำวิชำกำรเขียนโปรแกรมเบ้ืองตน้ ทง้ั ส้ิน สาระการเรยี นรู้ หน่วยท่ี 7 อำร์เรยแ์ ละฟังกช์ ันจดั กำรสตรงิ 1. ชนิดของตัวแปรอำรเ์ รย์ 2. ฟงั กช์ ันจดั กำรสตริง 3. กำรอำ่ นและแสดงผลค่ำของสตรงิ 4. กำรแปลงขอ้ ควำมท่ีเป็นตวั เลข เป็นคำ่ ตัวเลขทนี่ ำไปคำนวณได้ จุดประสงคก์ ารเรียนรู้ ความรู้ ความเขา้ ใจ (K) 1. มีควำมรู้เกยี่ วกบั อำร์เรย์และฟงั กช์ นั จัดกำรสตริง 2. รวบรวม วิเครำะห์ข้อมลู เกี่ยวกับอำรเ์ รย์และฟงั กช์ ันจดั กำรสตรงิ 3. สรุปข้อมูลเกี่ยวกบั อำรเ์ รย์และฟงั ก์ชนั จัดกำรสตรงิ ทกั ษะกระบวนการ (P) 1. ใช้ควำมรู้เกยี่ วกับอำร์เรย์และฟงั ก์ชันจัดกำรสตริง 2. มีกำรคดิ วเิ ครำะห์ และกำรใหเ้ หตุผลตำมกระบวนกำรทำงวทิ ยำศำสตรไ์ ด้ คณุ ลักษณะอนั พงึ ประสงค์ (A) 1. มคี วำมสนใจและต้ังใจเรยี น กระตือรือรน้ ตรงต่อเวลำ ใหค้ วำมรว่ มมอื ในกำรทำงำนกลุ่ม และมเี จตคตทิ ่ีดีต่อกำรเรยี นวทิ ยำศำสตร์

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

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

คาช้แี จง ใหน้ กั เรยี นเลอื กคำตอบท่ีถูกทส่ี ุดเพียงคำตอบเดียวแลว้ ทำเครอ่ื งหมำย X ลงใน กระดำษคำตอบ 1. ขอ้ ใด คือ กำรอำ้ งอิงตำแหนง่ ในอำร์เรย์ ก. หมำยเลขดชั นี ข. ตวั อักขระ ค. ตัวแปร ง. ขอ้ ควำม 2. หมำยเลขตำแหน่งแรกในกำรอำ้ งอิงค่ำในอำรเ์ รย์ เริ่มต้นดว้ ยคำ่ ในข้อใด ก. 0 ข. 1 ค. 2 ง. 3 3. รหสั พเิ ศษตำมข้อใดต่อไปนี้ ท่จี ะนำมำใชเ้ พ่ือบอกจดุ ส้นิ สุดของข้อควำม ก. \\n ข. \\t ค. \\0 ง. \\end 4. อำร์เรย์ 2 มติ ิ มีรปู แบบคลำ้ ยกับสงิ่ ใดต่อไปน้ี ก. ส่ีเหลย่ี มขนำดใหญ่ ข. ตน้ ไม้ที่มรี ำกแตกแขนง ค. รูปวงกลมซ้อนกนั ง. ตำรำงท่ปี ระกอบดว้ ยแถวและคอลัมน์ 5. กรณีขอ้ ควำมในอำรเ์ รย์ที่จัดเก็บกลุ่มของตัวอักขระ มีน้อยกวำ่ ขนำดทีก่ ำหนดไว้ผลเป็นอยำ่ งไร ก. ไม่สง่ ผลใดๆ ข. คอมไพลแ์ ล้วเกิดข้อผดิ พลำด ค. ข้อมูลที่แสดงจะผดิ เพ้ียนไป ง. แสดงข้อควำม error

6. ต้องกำรประกำศตัวแปร var เป็นอำรเ์ รยช์ นิดเลขจำนวนเตม็ ขนำด 5 x 5 ต้องเขยี นชุดคำส่งั อย่ำงไร ก. int var[5, 5]; ข. int var[5] [5]; ค. int var[4] [4]; ง. float var[4] [4] 7. ฟังก์ชนั จดั กำรสตริงถูกประกำศใช้งำนในเฮดเดอร์ไฟลลใ์ ด ก. <stdio.h> ข. <conio.h> ค. <string.h> ง. <math.h> 8. หำกต้องกำรตรวจสอบควำมยำวของข้อควำมจะตอ้ งเรียกใช้ฟงั ก์ชนั ใด ก. strcpy() ข. stecmp() ค. strcat() ง. strien() 9. เมอ่ื นำข้อควำม “abcXYZ” มำผ่ำนฟังกช์ นั strrev() ผลท่ีได้จะเปน็ อยำ่ งไร ก. ABCXYZ ข. Abcxyz ค. abcxyz ง. ZYXcba 10. ฟงั กช์ นั ใดต่อไปนี้ นำมำใชเ้ พ่อื สั่งพมิ พ์ขอ้ ควำมได้ ก. puts() ข. gets() ค. scanf() ง. char() สๆู้ นะคะนกั เรยี น

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

อำร์เรย์หรอื ตวั แปรชดุ เปน็ ตัวแปรประเภทหนึง่ ท่ีเหมำะกบั กำรนำไปใชเ้ พือ่ ประมวลผล กลมุ่ ชุดข้อมลู เดียวกัน ตวั อยำ่ งเช่น ตอ้ งกำรประกำศตวั แปรทม่ี ีชนิดขอ้ มูลเดียวกันจำนวน 10 ตวั ทมี่ ชี นิดข้อมูลเปน็ int หำกใช้วิธปี ระกำศตวั แปรแบบเดมิ ๆ กจ็ ะเปน็ int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10; และกำรประกำศใชต้ วั แปรชดุ ทมี่ ชี ือ่ เรยี กแตกต่ำงกันอย่ำง a1, a2, a3, ... a10 นั้น เป็นวิธี ทค่ี อ่ นขำ้ งยุ่งยำกในกรณีอ้ำงอิงเพอื่ ใชง้ ำนคำ่ ตวั แปรดงั กล่ำว ดงั นนั้ จึงมแี นวทำงแก้ไขเพือ่ ให้เรำสำมำรถอ้ำงอิงตัวแปร เพอ่ื นำมำใชง้ ำนได้งำ่ ยขึน้ ท่ี เรียกว่ำตวั แปรชนิดอำรเ์ รย์ โดยอำรเ์ รยจ์ ะดำเนนิ กำรเสมือนกับแบง่ หนว่ ยควำมจำออกเปน็ ช่องๆ (Elements) และจะใชเ้ ลขดชั นี (Index) หรอื ทีเ่ รยี กว่ำซับสคริปต์ (Subscript) เป็นตัวชี้ตำแหนง่ ของอิลเิ มนตน์ ้นั ๆ ซ่ึงภำษำซจี ะใช้สญั ลักษณ์ [n] เปน็ ตวั ชร้ี ะบตุ ำแหนง่ ตวั อยำ่ ง เช่น a[1] หมำยถงึ กำรอ้ำงถึงอลิ ิเมนต์ของอำร์เรย์ a ตู้หนว่ ยควำมจำท่ี 1 น่ันเอง ดังนั้นเมื่อต้องกำรประกำศตัวแปร a เป็นตัวแปรแบบอำร์เรย์ท่มี ีชนดิ ข้อมูลเป็น int จงึ เขียนไดด้ ังนี้ int a[10]; อย่ำงไรก็ตำมตำแหนง่ แรกของอำรเ์ รยใ์ นภำษำชจี ะเรม่ิ ตน้ ที่คำ่ 0 เป็นตน้ ไป ดังน้ันตวั แปร อำร์เรย์ช่ือ a ทีม่ สี มำชิกจำนวน 10 ตัว ก็จะอ้ำงอิงเลขดัชนี 0-9 ดังน้ี a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8] และ a[9] อำรเ์ รย์ยังสำมำรถประกำศได้หลำยชนดิ ดว้ ยกนั ซึง่ ประกอบด้วยอำร์เรย์ 1 มติ ิ, อำร์เรย์ 2 มิติ และอำร์เรย์ 3 มติ ิ แตโ่ ดยสว่ นใหญอ่ ำร์เรย์ 1 มิติ และอำร์เรย์ 2 มิติ จะถูกนำมำใช้งำนมำกทีส่ ุด ดังนัน้ ในท่นี ้ีจึงขอกล่ำวรำยละเอยี ดเกยี่ วกับอำร์เรย์ 1 มติ ิ และอำรเ์ รย์ 2 มิติ เทำ่ นน้ั 1. อาร์เรย์ 1 มิติ (One Dimension Array) เปน็ ตวั แปรอำรเ์ รยแ์ บบมิติเดยี ว ที่มีลักษณะ เสมือนกับตู้หนว่ ยควำมจำทเี่ รียงกนั เป็นลำดับ เชน่ มกี ำรประกำศตัวแปอำร์เรย์ชื่อ a เพอื่ บรรจุข้อมูล 100 ชดุ ก็จะเป็นไปตำมลกั ษณะดังภำพที่ 1 ต่อไปนี้

a[0] a[1] a[2] a[3] ... a[98] a[99] ภำพท่ี 1 อำรเ์ รย์ a ท่ีประกำศไวเ้ พื่อจัดเก็บสมำชิก 100 ชุด สำหรบั รปู แบบกำรประกำศตัวแปรอำร์เรย์ 1 มิติ แสดงไดด้ ังนี้ รูปแบบ datatype arrayName[size]; โดยท่ี หมำยถงึ ชนิดขอ้ มลู ซึ่งอำจเป็น int, float หรอื char dayaType หมำยถงึ ชอื่ ตวั แปรอำร์เรย์ arrayName หมำยถึง ขนำดทีแ่ สดงถึงจำนวนสมำชิกของอำร์เรย์ size ตัวอยา่ งเชน่ กำหนดให้ text ประกอบด้วยตวั อกั ขระ 25 ตวั char text[25]; กำหนดให้ sc เปน็ ตวั แปรท่ใี ช้เก็บคะแนนของนักเรยี น จำนวน 10 คน int sc[10]; กรณีต้องกำรกำหนดค่ำให้กบั อำร์เรย์ ก็สำมำรถทำได้ดังนี้ int sc[10] = {70, 65, 68, 72, 80, 62, 68, 71, 58, 66} ; ดงั น้นั อำรเ์ รยช์ ื่อ sc ในแต่ละอลิ ิเมนต์จงึ ประกอบด้วยค่ำที่ถูกจดั กับไว้ ดงั ภำพที่ 2 ต่อไปนี้ 70 65 68 72 80 62 68 71 58 66 sc[0] sc[1] sc[2] sc[3] sc[4] sc[5] sc[6] sc[7] sc[8] sc[9] ภำพท่ี 2 ค่ำท่ีบรรจุอยู่ในแตล่ ะอลิ เิ มนตข์ องอำรเ์ รย์ sc อยำ่ งไรกต็ ำมในกรณที ่ีไม่ได้กำหนดขนำดของอำรเ์ รย์เฉพำะเจำะจงลงไป ภำษำซยี ังอนุญำต ใหส้ ำมำรถทำได้ ซึง่ ผลที่ได้ก็เหมือนกบั ขำ้ งตน้ ตวั อย่ำงเช่น

int sc[] = {70, 65, 68, 72, 80, 62, 68, 71, 58, 66} ; จำกชุดคำสั่งขำ้ งต้นเป็นกำรประกำศอำร์เรย์ 1 มิติ พร้อมกำหนดคำ่ ตัวแปรจำนวน 10 ตวั เช่นกนั ซง่ึ จะพบว่ำมไิ ด้ระบุขนำดของอำร์เรย์จึงถอื วำ่ อำรเ์ รย์ท่ปี ระกำศในที่นีม้ ีขนำด เท่ำกบั 10 โดยอตั โนมัตเิ น่อื งจำกจำนวนสมำชกิ ที่กำหนดค่ำลงไปน้นั มีจำนวน 10 ตวั นั่นเอง char color[4] = {‘R’, ‘E’, ‘D’, ‘\\0’}; หรือ char color[4] = \"RED\"; หรือ char color[] = \"RED\"; ภำพท่ี 3 ตวั อยำ่ งกำรประกำศตวั แปรอำร์เรย์ เพอ่ื จัดก็บกลุ่มอักขระ พรอ้ มกำหนดค่ำเร่ิมตน้ ค่ำทบี่ รรจใุ นต้หู น่วยควำมจำของตวั แปรอำร์เรย์ color กจ็ ะเปน็ ไปดังภำพท่ี 4 R E D \\0 color[0] color[1] color[2] color[3] ภำพท่ี 4 กลุ่มอักขระท่บี รรจอุ ยู่ในอำรเ์ รย์ color สำหรับกำรประกำศตวั แปรอำร์เรย์ชนดิ ขอ้ ควำมนน้ั อักขระแตล่ ะตวั จะถูกบรรจุอยใู่ นแต่ละ ตหู้ นว่ ยควำมจำ (แต่ละตู้หนว่ ยควำมจำจะจดั เก็บไดเ้ พยี งหนง่ึ อักขระเท่ำน้ัน) โดยจะมีรหสั พเิ ศษคือ \\0 (Null) ซง่ึ เปน็ ตวั บง่ บอกถึงจดุ ส้ินสดุ ของขอ้ ควำม ตวั อย่ำงกำรประกำศตวั แปรอำรเ์ รยท์ ี่มีข้อควำมน้อยกว่ำขนำดที่ระบุไว้ char t[10] = \"ERROR!\"; ขอ้ มลู ท่ีเก็บในหนว่ ยควำมจำกจ็ ะเปน็ E R R O R ! \\0 \\0 \\0 \\0 t[0] t[1] t[2] t[3] t[4] t[5] t[6] t[7] t[8] t[9] ภำพที่ 5 กรณตี วั อักขระที่บรรจมุ จี ำนวนน้อยกว่ำช่อง ทกี่ ำหนดช่องว่ำงท่ีเหลอื จะถูกแทนที่ดว้ ย \\0 ท้งั หมด

ทั้งนร้ี หสั \\0 ดังกล่ำวจะไม่ถูกแสดงให้เห็นทำงจอภำพ ดังน้ันจงึ กล่ำวไดว้ ่ำข้อควำมหรือสตรงิ ในภำษำซกี ็คืออำรเ์ รยข์ องตวั อกั ขระนั่นเอง อยำ่ งไรก็ตำมรำยละเอยี ดเกี่ยวกับจัดกำรกบั ขอ้ ควำม ในภำษำซีจะกล่ำวในส่วนทำ้ ยของบทน้ีต่อไป 1: #include <iostream> 2: using namespace std; 3: int main() 4: { 5: printf(\"Elements of array num\\n\"); 6: string num[5] = {\"1\", \"2\", \"3\", \"4\", \"5\"}; 7: for (int i = 4; i >= 0; i--) 8: { 9: cout << \"num[\" << i << \"] = \" << num[i] << endl; 10: } 11: 12: printf(\"Elements of array color\\n\"); 13: string color[5] = {\"R\", \"E\", \"D\"}; 14: for (int i = 4; i >= 0; i--) 15: 16: { 17: cout << \"color[\" << i << \"] = \" << color[i] << endl; 18: } 19: return 0; 20: } ภำพที่ 6 โปรแกรมทดสอบกำรใชง้ ำนอำร์เรย์ 1 มิติ บรรทดั ท่ี ตำรำงท่ี 1 คำอธบิ ำยโปรแกรมทดสอบกำรใชง้ ำนอำร์เรย์ 1 มติ ิ 6 ความหมาย 7 ประกำศอำรเ์ รย์ 1 มิตชิ ื่อ num ที่มขี นำด 5 อิลิเมนต์ โดยมีชนิดข้อมลู เป็นเลข 10-11 จำนวนเตม็ พร้อมกำหนดค่ำเร่ิมตน้ 14-15 ประกำศอำรเ์ รย์ 1 มิติชอ่ื color ที่มีขนำด 5 อลิ ิเมนต์ โดยมีชนดิ ขอ้ มูลเป็น อกั ขระพร้อมกำหนดคำ่ เริม่ ต้น ลปู พิมพ์ค่ำอำร์เรย์ num แต่ละอิลเิ มนต์ ลูปพิมพ์คำ่ อำร์เรย์ color แต่ละอิลิเมนต์

ภำพท่ี 7 ผลลพั ธ์จำกกำรรันโปรแกรมทดสอบกำรใชง้ ำนอำร์เรย์ 1 มติ ิ 2. อารเ์ รย์ 2 มติ ิ (Two Dimension Array) เรำไดเ้ รียนรู้เกีย่ วกบั รูปแบบของอำรเ์ รย์ 1 มิติมำแล้ว ซง่ึ จะพบว่ำจะจัดเก็บข้อมูลเปน็ แนวรำบแบบแถวลำดับ ดงั น้นั ตอ่ จำกนไี้ ปจะเรยี นรู้ รูปแบบของอำร์เรย์ 2 มิติ ซ่งึ มลี กั ษณะคล้ำยกบั ตำรำงทีป่ ระกอบไปดว้ ยแถวและคอลัมน์ รูปแบบ datatype arrayName[row] [column]; โดยที่ dataType หมำยถงึ ชนิดขอ้ มูล arrayName หมำยถงึ ชอื่ ตัวแปรอำร์เรย์ row หมำยถึง จำนวนแถว column หมำยถึง จำนวนคอลมั น์ ตัวอย่างเช่น ประกำศให้ n เปน็ ตวั แปรชนดิ อำรเ์ รย์ทม่ี ีชนดิ ข้อมลู เป็น int โดยมีขนำด 4 แถว 5 คอลัมน์ int n [4][5]; จะได้เสมือนต้หู นว่ ยควำมจำขนำด 4 x 5 (20 ชอ่ งหนว่ ยควำมจำ) ซึง่ แต่ละอิลิเมนต์ ไดบ้ รรจุ ค่ำไว้ดังต่อไปน้ี column 0 column 1 column 2 column 3 column 4 row 0 n[0][0] n[0][1] n[0][2] n[0][3] n[0][4] row 1 n[1][0] n[1][1] n[1][2] n[1][3] n[1][4] row 2 n[2][0] n[2][1] n[2][2] n[2][3] n[2][4] row 3 n[3][0] n[3][1] n[3][2] n[3][3] n[3][4] ภำพที่ 8 หน่วยควำมจำขนำด 4 x 5

สำหรับกำรกำหนดคำ่ เรม่ิ ตน้ ใหก้ บั อำรเ์ รย์ 2 มิติ สำมำรถกำหนดไดด้ งั นี้ int a[4][5] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20} }; ภำพที่ 9 กำรกำหนดคำ่ เริ่มต้นใหก้ ับอำรเ์ รย์ 2 มิติ หรอื กำหนดในลักษณะเรยี งเป็นแถวเดียวกไ็ ด้ int a[4][5] ] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; ภำพที่ 10 กำหนดในลกั ษณะเรยี งเป็นแถวเดยี ว อย่ำงไรกต็ ำมกรณีกำรกำหนดค่ำเริม่ ต้นให้กบั ตวั แปรอำร์เรย์ 2 มติ กิ ำรใชเ้ ครื่องหมำย { } ซอ้ นย่อยเพ่ือกำหนดข้อมลู แต่ละแถวจะทำให้อ่ำนงำ่ ยกว่ำ และจำกกำรประกำศขำ้ งต้นแต่ละอิลิเมนต์ ก็จะถูกบรรจคุ ำ่ ต่ำงๆ ลงไปดังนี้ 12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ภำพท่ี 11 กำรประกำศข้ำงต้นแต่ละอลิ เิ มนต์กจ็ ะถูกบรรจุค่ำต่ำงๆ 1: #include <stdio.h> 2: 3: main() 4: { 5: int i, j; 6: int n[4][5] = { {1,2,3,4,5}, 7: {6,7,8,9,10}, 8: {11,12,13,14,15}, 9: {16,17,18,19,20} }; 10: 11: printf(\" 0 1 2 3 4 \\n\"); 12: printf(\" +-----+-----+-----+-----+-----+\\n\"); 13: 14: for(i = 0; i < 4; i++) // ลูปนอก ซ่ึงเป็นตาแหนง่ แถว 15: { 16: printf(\"%5d\", i); 17: for(j = 0; j < 5; j++) // ลปู ใน ซึ่งเปน็ ตาแหนง่ คอลัมน์ 18: printf(\"| %2d \", n[i][j]); 19: printf(\"|\\n\"); 20: } 21: printf(\" +-----+-----+-----+-----+-----+\\n\"); 22: } ภำพท่ี 12 โปรแกรมทดสอบกำรใช้งำนอำร์เรย์ 2 มติ ิ

บรรทัดท่ี ตำรำงที่ 2 คำอธิบำยโปรแกรมทดสอบกำรใชง้ ำนอำร์เรย์ 2 มิติ ความหมาย 6-9 ประกำศอำร์เรย์ช่ือ n เป็นแบบ2 มติ ิ ขนำด 4 x 5 โดยมชี นดิ ขอ้ มลู เปน็ เลขจำนวนเต็ม 11-112 พร้อมกำหนดคำ่ เริม่ ตน้ ลงไป 14 พมิ พต์ ำแหน่งคอลัมน์ และเส้นตำรำง 15 ลูปกำรทำงำนของ i ซึ่งคือตำแหนง่ ของแถว (จะวนจนครบ 4 รอบ) 16 บล็อกเร่ิมต้นกำรทำงำนของลูป i พมิ พ์หมำยเลขแถว 17-18 ลปู กำรทำงำนของ j คือ ตำแหนง่ ของคอลัมน์และพมิ พ์ตำแหน่งของคอลมั นแ์ ต่ละช่อง (จะวนจนครบ 5 รอบ) 19 ปดั บรรทดั ใหม่ 20 จดุ ส้ินสดุ /จุดวนลปู ของลูป i 21 ตีเส้นตำรำง ภำพท่ี 13 ผลลพั ธ์จำกกำรรนั โปรแกรมทดสอบกำรใช้งำนอำรเ์ รย์ 2 มติ ิ และจำกกำรประกำศอำรเ์ รย์ 1 มิติ คือ char color[4] ตำมตัวอยำ่ งที่ 7.1 ทผ่ี ำ่ นมำ ซง่ึ แต่ ละหน่วยควำมจำจะสำมำรถจัดเก็บข้อมูลในเพยี งหน่งึ ตวั อักขระเทำ่ นั้น ดังนัน้ กำรประกำศดงั กล่ำวจึง มิใช่ให้จดั เก็บสที ี่มคี วำมแตกต่ำงกนั 4 สแี ต่อยำ่ งใด ดังนั้นหำกตอ้ งกำรใหต้ ัวแปรท่ีจัดเกบ็ กลุม่ อักขระ เหล่ำนสี้ ำมำรถจัดเกบ็ ค่ำได้หลำยคำ่ จึงตอ้ งประกำศใหม่ ซึ่งสำมำรถทำได้ 2 วธิ ดี ว้ ยกนั คือ กำรประกำศดว้ ยกำรใชอ้ ำรเ์ รย์ 2 มติ ิ char color[4][10] = { \"RED\", \"YELLOW\", \"BLUE\", \"BLACK\" }; ซึ่งผลจำกกำรประกำศพร้อมกำหนดค่ำดังกลำ่ ว รูปแบบกำรจัดเก็บข้อมลู ในแตล่ ะแถวและ แต่ละคอลมั นก์ ็จะเปน็ เสมือนดงั นี้

R E D \\0 \\0 \\0 \\0 \\0 \\0 \\0 Y E L L O W \\0 \\0 \\0 \\0 B L U E \\0 \\0 \\0 \\0 \\0 \\0 B L A C K \\0 \\0 \\0 \\0 \\0 ภำพที่ 14 รูปแบบกำรจดั เก็บข้อมูลในแต่ละแถวและแตล่ ะคอลัมน์ อย่ำงไรก็ตำมอำจประกำศด้วยกำรใช้อำรเ์ รย์ของพอยนเ์ ตอร์ก็ได้ ดังเชน่ char *color[4] = { \"RED\", \"YELLOW\", \"BLUE\", \"BLACK\" }; 1: #include <stdio.h> 2: 3: main() 4: { 5: char color[4][10] = { \"RED\", 6: \"YELLOW\", 7: \"BLUE\", 8: \"BLACK\" }; 9: 10: printf(\"Value of each elements \\n\"); 11: 12: for(inti = 0; i < 4; i++) 13: printf(\"color[%d] = %s\\n\", i, color[i]); 14: } ภำพท่ี 15 โปรแกรมทดสอบกำรใช้งำนอำรเ์ รย์ 2 มติ ิ เพ่ือจัดเกบ็ ข้อควำมหลำยๆ ค่ำ ตำรำงที่ 3 คำอธิบำยโปรแกรมทดสอบกำรใชง้ ำนอำร์เรย์ 2 มติ ิ เพอื่ จดั เกบ็ ข้อควำมหลำยๆ ค่ำ บรรทดั ที่ ความหมาย 5-8 ประกำศตวั แปรอำร์เรย์ของตัวอกั ขระใหส้ ำมำรถจดั เก็บขอ้ มลู ได้ 4 ชุด โดยบรรจุ ขอ้ ควำมได้ 10 ตวั อักษร (รวมรหสั \\0 จงึ บรรจุข้อมลู ได้สงู สดุ 9 อักขระ) 10 พิมพ์ข้อควำมวำ่ ค่ำทบ่ี รรจอุ ยใู่ นแต่ละอลิ ิเมนตข์ องอำร์เรย์ color 12-13 ลูปท่ีใช้สัง่ พิมพค์ ่ำท่ีบรรจอุ ยู่ในอำร์เรย์ color (สังเกตวำ่ ใช้รปู แบบขอ้ มลู %s) ภำพที่ 16 ผลลัพธจ์ ำกกำรรันโปรแกรมทดสอบกำรใช้ งำนอำร์เรย์ 2 มติ ิ เพ่อื จัดเก็บข้อควำมหลำยๆ คำ่

1: #include <stdio.h> 2: #include <conio.h> 3: #define RATE 0.07 4: #define N 5 5: 6: main() 7: { 8: char prod[N][15]; 9: float price[N], vat[N], net[N]; 10: inti ; 11: 12: for(i = 0; i < N; i++) 13: { 14: printf(\"Enter product name : \"); 15: scanf(\"%s\", &prod[i]); // ป้อนชื่อสนิ คา้ เกบ็ ไว้ในตวั แปรอารเ์ รย์ 16: 17: printf(\" printf : \"); 18: scanf(\"%f\", &price[i]); // ป้อนราคาสินคา้ เกบ็ ไว้ในตวั แปรอารเ์ รย์ 19: 20: vat[i] = price[i] * RATE; // คานวณหา VAT 21: net[i] = price[i] + vat[i]; // คานวณหาราคาสุทธิ 22: } 23: 24: printf(\"Press any key to print report...\\n\"); 25: getch(); 26: clrscr(); 27: 28: /* พมิ พร์ ายงาน */ 29: printf(\"Seq. Product Price VAT 7 %% Net \\n\"); 30: printf(\"=========================================\\n\"); 31: 32: for(i = 0; i < N; i++) 33: { 34: /* นาค่าทเี่ ก็บไว้ในอารเ์ รยม์ าพมิ พ์ */ 35: printf(\" %2d. %-15s %10.2f %8.2f %10.2f\\n\", 36: i+1, prod[i], price[i], vat[i], net[i]); 37: } 38: } ภำพที่ 17 โปรแกรมรบั ข้อมูลสนิ ค้ำ เพอื่ คำนวณ VAT และรำคำสุทธโิ ดยจดั เก็บไวใ้ นตวั แปรอำรเ์ รย์

ตำรำงที่ 4 คำอธบิ ำยโปรแกรมรบั ขอ้ มลู สนิ ค้ำ เพ่ือคำนวณ VAT และรำคำสทุ ธิ บรรทัดที่ ความหมาย 3 ประกำศคำ่ คงท่ี RATE มคี ำ่ เทำ่ กับ 0.07 (7%) 4 ประกำศค่ำคงท่ี N มคี ำ่ เท่ำกับ 5 8 ประกำศตัวแปร prod เปน็ อำรเ์ รย์ 2 มติ ิ เกบ็ กลมุ่ อกั ขระ จำนวน N ชุด จดั เก็บ อักขระสงู สดุ ได้ 15 ตวั อักษร 9 ประกำศตัวแปร price, vat และ net เปน็ อำร์เรย์ 2 มติ ิ จำนวน N ชดุ 12 สรำ้ งลปู for เพ่อื รบั ข้อมลู ทำงแป้นพมิ พ์ จำนวน N รอบ 15 รอรับคำ่ ชือ่ สนิ ค้ำ เก็บไว้ในตวั แปรอำรเ์ รยช์ อ่ื prod[i] 18 รอรบั ค่ำรำคำสนิ ค้ำ เกบ็ ไวใ้ นตวั แปรอำร์เรยช์ ่อื price[i] 20 คำนวณหำภำษีมลู ค่ำเพิ่ม 7% เกบ็ ไว้ในตวั แปรอำรเ์ รยช์ ื่อ vat[i] 21 คำนวณหำรำคำขำยสทุ ธิ เก็บไวใ้ นตัวแปรอำรเ์ รยช์ ่ือ net[i] 25 รอรับแป้นคยี ์ใดๆ 26 ลำ้ งจอภำพ 29-30 พมิ พห์ วั รำยงำน 32 สรำ้ งลูป for เพ่อื ทำงำนจำนวน 5 รอบ 35-36 พมิ พค์ ำ่ ตวั แปรในอำรเ์ รย์ ภำพท่ี 18 ผลลัพธจ์ ำกกำรรันโปรแกรมรับข้อมูลสนิ ค้ำ เพอื่ คำนวณ VAT และรำคำสุทธิ โดยจัดเกบ็ ไว้ในตวั แปรอำร์เรย์

1: #include <stdio.h> 2: #include <conio.h> 3: 4: #define row 10 5: #define COL 12 6: #define L1 \" 1 2 3 4 5 6 7 8 9 10 11 12 \" 7: #define L2 \"+---+---+---+---+---+---+---+---+---+---+---+---+\" 8: 9: main() 10: { 11: char seat[ROW][COL]= {' '}; 12: int row, col; 13: int x, y; 14: 15: for(inti =0; i<ROW; i++) // เคลยี รค์ า่ อารเ์ รยเ์ ป็ นค่าวา่ ง 16: for(int j=0; j<COL; j++) 17: seat[i] [j] = ' '; 18: 19: for (;;) // สร้างลปู ใหทางานแบบมไม่รู้จบ 20: { 21: clrscr(); 22: printf(\"\\t%s\\n\", L1); 23: printf(\"\\t%s\\n\", L2); 24: 25: for(x = 1; x <= ROW; x++) // ลูปทใ่ี ชพ้ มิ พแ์ ผนผงั ทนี่ ่ัง 26: { 27: printf(\"%8d\", x); 28: 29: for(y =1; y <= COL; y++) 30: printf(\"| %c \", seat[x-1][y-1]); 31: 32: printf(\"|\\n\\t%s\\n\", L2); 33: } 34: 35: printf(\"\\n<ABC THEATER> Input seat number (row, column): \"); 36: scanf(\"%d %d\", &row, &col); 37: if (row == 99 && col == 99 // หลุดออกจากลปู เม่ือป้อนค่า 99 ทงั้ สองคา่ 38: break; 39: else 40: seat[row-1][col-1] = 'x'; 41: } 42: } ภำพที่ 19 กำรประยุกต์ใช้อำร์เรย์ 2 มิติ กบั โปรแกรมจองต๋ัวภำพยนตร์

ตำรำงที่ 5 คำอธิบำยกำรประยุกต์ใช้อำรเ์ รย์ 2 มิติ กับโปรแกรมจองตั๋วภำพยนตร์ บรรทดั ที่ ความหมาย 4 กำหนดคำ่ คงที่ ROW มีคำ่ เท่ำกบั 10 5 กำหนดค่ำคงที่ COL มีค่ำเท่ำกบั 12 6 กำหนดคำ่ คงท่ี L1 เปน็ ขอ้ ควำมที่แสดงหมำยเลขทน่ี ัง่ 7 กำหนดค่ำคงท่ี L2 เปน็ ข้อควำมท่ีใชส้ ำหรบั ตีเสน้ 11 ประกำศตัวแปร seat เป็นอำร์เรย์ 2 มิติ ขนำด 10 แถว 12 ที่น่งั 15-17 ลูป 2 มติ ิทก่ี ำหนดคำ่ ให้แต่ละอิลิเมนตใ์ นอำร์เรย์ seat มคี ำ่ เป็นชอ่ งว่ำงทั้งหมด 19 สรำ้ งลปู for ใหท้ ำงำนซำ้ ไปเรือ่ ยๆ แบบไม่รู้จบ 25 สรำ้ งลปู x ซง่ึ ใช้เป็นตวั ควบคุมจำนวนแถว 26 จดุ เริ่มตน้ ของบลอ็ กทใ่ี ช้สำหรับพมิ พ์แผนผังทนี่ ั่ง 27 พมิ พ์หมำยเลขแถว 29 สร้ำงลปู y ซึ่งใช้เปน็ ตัวควบคุมจำนวนคอลมั น์ 30 พมิ พค์ ำ่ ของอำร์เรย์ seat[x-1][y-1] โดยหำกไม่มคี ่ำก็จะเป็นช่องว่ำง แตห่ ำกมีค่ำ กห็ มำยถงึ ที่นงั่ น้มี รกำรจองแล้ว ซึง่ จะแสดงเครื่องหมำย x 33 จดุ สิ้นสุดของบล็อกท่ีใช้สำหรับพิมพ์แผนผงั ทนี่ งั่ 35 พมิ พข์ ้อควำม ให้กรอกเลขท่ีนั่ง ซง่ึ ประกอบดว้ ยแถว และเลขทีน่ ่ัง 36 รบั ค่ำแถว และเลขที่น่ัง เก็บไว้ในตวั แปร row และ col 37-38 ตรวจสอบว่ำ ถ้ำคำ่ ทัง้ สองมีค่ำเป็น 99 ให้หลุดออกจำกลูป เพื่อจบโปรแกรม 40 กำหนดใหอ้ ำร์เรย์ seat แถวท่ี [row-1] คอลัมน์ท่ี [col-1] มีค่ำเทำ่ กับ x ซง่ึ หมำยถึง ตำแหนง่ ดังกล่ำว ไดร้ ับกำรจองแล้ว 41 จดุ ส้ินสดุ ของลูป for ท่ีทำงำนแบบไม่รจู้ บ กรณจี องที่น่ังแถวที่ 9 โตะ๊ ท่ี 9 กรณีต้องกำรจบโปรแกรม ให้กรอก 99 และ 99 ภำพท่ี 20 ผลลพั ธจ์ ำกกำรรนั กำรประยุกต์ใช้อำร์เรย์ 2 มิติ กบั โปรแกรมจองตั๋วภำพยนตร์

จำกเนอื้ หำที่ผ่ำนมำไดเ้ ข้ำใจในเบ้ืองตันแล้วว่ำสตรงิ หรอื ข้อควำมจะถูกจัดเกบ็ ในลกั ษณะ ของอำรเ์ รย์ของอักขระน่ันเอง อีกท้งั ยังมกี ำรผนวกรหสั \\0 ไว้ท่ีท้ำยข้อมูลเพอื่ ให้ทรำบวำ่ เปน็ จดุ ส้ินสดุ ชดุ ข้อควำมน้นั ๆ สำหรบั กำรประกำศชนิดข้อมูลพรอ้ มกำหนดค่ำเริม่ ตน้ ให้กับตวั แปรสตรงิ นั้นสำมำรถกระทำได้ 2 รปู แบบดังน้ี char text[7] = {‘C’, ‘o’, ‘f’, ‘f’, ‘e’, ‘e’, ‘\\0’}; หรือ char text[7] = \"Coffee\"; หรือ char text[] = {‘C’, ‘o’, ‘f’, ‘f’, ‘e’, ‘e’, ‘\\0’}; หรอื char text[] = \"Coffee\"; กำรกำหนดค่ำเร่มิ ตน้ ดังกล่ำวสำมำรถทำได้ในขณะที่มีกำรประกำศตัวแปรพร้อมกำหนดคำ่ เร่ิมต้นลงไปทนั ที แต่ถ้ำมกี ำรประกำศตัวแปร และกำหนดค่ำภำยหลงั ดังตวั อยำ่ ง ตอ่ ไปนี้ if score > 75 // ผิด ! จะกาหนดค่าตามรูปแบบดงั กล่าวไม่ได้ grade = \"B+\"; ภำพท่ี 21 กำรกำหนดค่ำเรม่ิ ต้น ชดุ คำสั่งขำ้ งตน้ ไมส่ ำมำรถดำเนนิ กำรได้จริงอยู่ กำรกระทำขำ้ งตน้ อำจสำมำรถใช้งำนได้ใน ภำษำระดับสูงภำษำอน่ื แต่ถ้ำเป็นภำษำซแี ล้ว ในกำรกำหนดค่ำให้กับสตรงิ หรือข้อควำมรวมถงึ กำร จดั กำรกับขอ้ ควำมสตริงจะต้องเรียกใชผ้ ำ่ นฟงั กช์ ัน เพอื่ กำรจัดกำรสตรงิ เท่ำนัน้ ซึ่งฟังก์ชนั ดงั กล่ำว จะประกำศใช้งำนอย่ใู นเฮดเดอรไ์ ฟล์ <string,h> 1: #include <stdio.h> 2: 3: main() 4: { 5: char text1[7] = {‘C’, ‘o’, ‘f’, ‘f’, ‘e’, ‘e’, ‘\\0’}; 6: char text2[7] = \"Coffee\"; 7: 8: char text3[] = {‘C’, ‘o’, ‘f’, ‘f’, ‘e’, ‘e’, ‘\\0’}; 9: char text4[] = \"Coffee\"; 10: 11: printf(\"%s\\n\", text1); 12: printf(\"%s\\n\", text2); 13: printf(\"%s\\n\", text3); 14: printf(\"%s\\n\", text4); 15: } ภำพท่ี 22 โปรแกรมทดสอบกำรกำหนดค่ำให้กบั สตริงในรูปแบบต่ำงๆ ซึ่งจะไดผ้ ลเหมอื นกนั

ภำพท่ี 23 ผลลัพธจ์ ำกกำรรันโปรแกรมทดสอบ กำรกำหนดคำ่ ใหก้ ับสตริงในรูปแบบต่ำงๆ สาหรบั ฟังก์ชันจดั การสตริง ประกอบด้วย 1. ฟงั ก์ชนั strcpy() เป็นฟงั กช์ นั ทีน่ ำมำใชเ้ พื่อคดั ลอกข้อควำมไปเกบ็ ไวใ้ นตวั แปรหรือคดั ลอกจำกตวั แปรสตรงิ หน่งึ ไปเกบ็ ไวย้ งั ตัวแปรของอีกสตรงิ หน่ึง รปู แบบ strcpy(destination, source) โดยท่ี ข้อควำมหรอื ตวั แปรสตริงท่จี ะนำไปจดั เกบ็ ไวใ้ นตวั แปรที่ source หมำยถงึ ตัวแปรทีใ่ ชจ้ ดั เกบ็ ค่ำข้อมูลใน source source ระบุไว้ใน destination destination หมำยถึง 1: #include <stdio.h> 2: #include <string.h> 3: 4: main() 5: { 6: int score; 7: char text[30]; 8: 9: printf(\"Enter score : \"); 10: scanf(\"%d\", &score); 11: 12: if (score >= 60) 13: strcpy(text, \"Congratuation..you passed!\"); 14: else 15: strcpy(text, \"Sorry..you failed!\"); 16: 17: printf(\"%s\\n\", text); 18: } ภำพท่ี 24 โปรแกรมทดสอบกำรใช้ฟงั กช์ ัน strcpy() เพือ่ คดั ลอกข้อควำม

ตำรำงท่ี 6 คำอธิบำยโปรแกรมทดสอบกำรใช้ฟังกช์ นั strcpy() เพ่ือคดั ลอกข้อควำม บรรทดั ท่ี ความหมาย 1 ผนวกเฮดเดอรไ์ ฟล์ <stdio.h> 2 ผนวกเฮดเดอร์ไฟล์ <string.h> 7 ประกำศตวั แปร text เปน็ ชนดิ ขอ้ ควำมเก็บอักขระไดส้ ูงสุด 30 ตวั 10 รอรับค่ำคะแนน เพื่อจัดเก็บไวใ้ นตว้ แปร score 12 ตรวจสอบเงอ่ื นไขว่ำ ถ้ำ score >= 60 13 นำข้อควำมแสดงควำมยินดี ไปเก็บไวใ้ นตวั แปร text 14 ถ้ำ score < 60 (else) 15 นำขอ้ ควำมแสดงควำมเสยี ใจ ไปเก็บไว้ในตัวแปร text 17 สัง่ พิมพค์ ำ่ ตัวแปร text ภำพที่ 25 ผลลพั ธจ์ ำกกำรรนั โปรแกรมทดสอบกำรใช้ฟังกช์ ัน strcpy() เพ่ือคัดลอกข้อควำม 2 ฟังก์ชัน strlen() เป็นฟงั ก์ชนั ท่ีนำมำใช้เพอื่ ขอทรำบจำนวนตวั อักขระทบี่ รรจุอยู่ในสตรงิ รปู แบบ strlen(stringVariable) โดยท่ี stringVariable หมำยถงึ ตวั แปรชนดิ สตรงิ 1: #include <stdio.h> 2: #include <string.h> 3: 4: main() 5: { 6: char msg1[80], msg2[80]; 7: 8: strcpy(msg1, \"Hello...\"); 9: strcpy(msg2, \"C Language\"); 10: 11: printf(\"\\nThe Length of message \\\"%s\\\" = %d\", msg1, strlen(msg1)); 12: printf(\"\\nThe Length of message \\\"%s\\\" = %d\", msg2, strlen(msg2)); 13: } ภำพที่ 26 โปรแกรมทดสอบกำรใช้ฟังกช์ นั strlen() เพอื่ ทรำบจำนวนตัวอกั ขระ

ตำรำงที่ 7 คำอธบิ ำยโปรแกรมทดสอบกำรใช้ฟังก์ชัน strlen() เพื่อทรำบจำนวนตัวอักขระ บรรทัดที่ ความหมาย 1 ผนวกเฮดเดอร์ไฟล์ <stdio.h> 2 ผนวกเฮดเดอร์ไฟล์ <string.h> 6 ประกำศตัวแปร msg 1 และ msg2 เปน็ ชนิดขอ้ ควำมเกบ็ อักขระไดส้ งู สุด 80 ตัว 8-9 คดั ลอกข้อควำมลงในตวั แปร msg1 และ msg2 ด้วยฟังกช์ ัน strcpy() 11 พิมพข์ ้อควำมที่บรรจอุ ยใู่ นตัวแปร msg1 พร้อมจำนวนตวั อักขระ 12 พมิ พข์ ้อควำมท่ีบรรจอุ ยู่ในตัวแปร msg2 พร้อมจำนวนตวั อักขระ ภำพที่ 27 ผลลพั ธ์จำกกำรรนั โปรแกรมทดสอบกำรใช้ฟงั ก์ชัน strlen() เพ่ือทรำบจำนวนตวั อกั ขระ 3. ฟงั ก์ชัน strcmpl() เป็นฟงั ก์ชนั ทน่ี ำมำใชเ้ พ่อื เปรียบเทยี บสตริง 2 ตวั วำ่ ตรงกันหรือไม่ โดยหำกผลตรวจสอบมี ผลตรงกนั ก็จะรเี ทิรน์ ค่ำเป็น 0 แต่ถำ้ ผลไม่ตรงกันกจ็ ะรเี ทิร์นคำ่ ที่เกิดจำกผลต่ำงของตวั อักขระ ซึ่งเปน็ ผลตำ่ งระหว่ำงเลขรหัสแอลกีของค่ำทง้ั สองนั่นเอง รปู แบบ strcmp(string1, string2) โดยที่ string1 และstring2 หมำยถึงข้อควำมหรือตัวแปร ท่ีนำมำเปรยี บเทยี บวำ่ ตรงกันหรือไม่ 1: #include <stdio.h> 2: #include <string.h> 3: 4: int main() 5: { 6: char str1[] = \"ABC\"; 7: char str2[] = \"ABF\"; 8: int a, ab, c; 9: 10: a = strcmp(str1, \"ABC\"); 11: b = strcmp(str1, str2); 12: c = strcmp(str2, str1); 13: 14: printf(\"Compare with %s and %s = %d\\n\", str1, \"ABC\", a); 15: printf(\"Compare with %s and %s = %d\\n\", str1, str2, b); 16: printf(\"Compare with %s and %s = %d\\n\", str2, str1, c); 17: } ภำพท่ี 28 โปรแกรมทดสอบกำรใชง้ ำนฟังกช์ ัน strcmp()

ตำรำงที่ 8 คำอธิบำยโปรแกรมทดสอบกำรใช้งำนฟังกช์ ัน strcmp() บรรทดั ที่ ความหมาย 6 ประกำศตัวแปร str1 เปน็ ชนิดขอ้ ควำม พร้อมกำหนดคำ่ เป็น “ABC” 7 ประกำศตัวแปร str2 เป็นชนิดขอ้ ควำม พร้อมกำหนดค่ำเป็น “ABF” 10 เปรยี บเทียบค่ำตวั แปร str1 กับขอ้ ควำม “ABC” ผลทไี่ ดเ้ ก็บไว้ทต่ี วั แปร a 12 เปรียบเทียบคำ่ ตวั แปร str1 กับข้อควำม str2 ผลท่ีได้เก็บไว้ทีต่ ัวแปร b 13 เปรียบเทียบค่ำตวั แปร str1 กับขอ้ ควำม str2 ผลทีไ่ ด้เก็บไวท้ ตี่ วั แปร b 14-16 พมิ พผ์ ลลพั ธ์ของคำ่ ตวั แปร a, b และ c ภำพที่ 29 ผลลพั ธ์จำกกำรรันโปรแกรมทดสอบกำรใช้งำนฟังก์ชัน จำกผลลพั ธท์ ่ไี ด้บรรทัดแรกมีคำ่ เป็น 0 หมำยควำมว่ำตรวจสอบแล้วตรงกนั สว่ นบรรทดั ท่ี 2 มคี ำ่ เปน็ -1 เกิดจำกผลต่ำงระหวำ่ งรหัสแอสกี “C” และ “F” (67 - 70) ในขณะที่บรรทัดที่ 3 มคี ่ำ เปน็ 1 เกิดจำกผลตำ่ งระหว่ำงรหสั แอสที่ “F” และ “C” (70 -67) 4. ฟังก์ชนั strcat() เป็นฟังกช์ ันทนี่ ำมำใช้เพื่อผนวกสตรงิ 2 สตรงิ เขำ้ ดว้ ยกนั โดยผลทไ่ี ดจ้ ะเกบ็ ไวท้ ่ีตวั แปรตวั แรก ข้อควรระวงั กค็ ือกำรเชื่อมสตริงจะทำให้เกิดควำมยำวของข้อควำมมำกขนึ้ ดังน้ันขนำดควำมกวำ้ งของ ตวั แปรที่จัดเก็บจะต้องมคี วำมยำวเพยี งพอต่อกำรจัดเกบ็ ข้อควำมเพ่มิ เติมได้ รูปแบบ strcat(target, source) โดยท่ี target หมำยถึง ตวั แปรสตริง source หมำยถึง ข้อควำม หรอื ตวั แปรสตริง ที่ตอ้ งกำรนำมำผนวกตอ่ ทำ้ ยรวมกบั ตัวแปรใน target

1: #include <stdio.h> 2: #include <string.h> 3: 4: int main() 5: { 6: char str1[27] = \"\"; 7: char str2[8] = \"ABCDEFG\"; 8: char str3[8] = \"HIJKLMN\"; 9: char str4[8] = \"OPQRSTU\"; 10: char str5[8] = \"VWXYZ\"; 11: 12: strcat(str1, str2); 13: strcat(str1, str3); 14: strcat(str1, str4); 15: strcat(str1, str5); 16: 17: printf(\"\\n%s\\n%s\\n%s\\n%s\\n%s\", str1, str2, str3, str4, str5); 18: 19: } ภำพที่ 30 โปรแกรมทดสอบกำรใชง้ ำนฟังกช์ นั strcat() ตำรำงที่ 9 คำอธบิ ำยโปรแกรมทดสอบกำรใช้งำนฟังก์ชนั strcat() บรรทดั ที่ ความหมาย 6 ประกำสตวั แปร str1 เปน็ ชนิดขอ้ ควำมขนำด 27 ตัวอกั ษรพรอ้ มเคลียร์เป็นค่ำว่ำง 7 ประกำสตวั แปร str2 เปน็ ชนดิ ข้อควำมขนำด 8 ตวั อักษรพร้อมกำหนดค่ำลงไป 8 ประกำสตัวแปร str3 เปน็ ชนดิ ข้อควำมขนำด 8 ตวั อักษรพรอ้ มกำหนดค่ำลงไป 9 ประกำสตวั แปร str4 เป็นชนิดข้อควำมขนำด 8 ตัวอักษรพร้อมกำหนดค่ำลงไป 10 ประกำสตวั แปร str5 เป็นชนดิ ข้อควำมขนำด 8 ตัวอักษรพรอ้ มกำหนดคำ่ ลงไป 12 นำขอ้ ควำมใน str2 ไปผนวกต่อท้ำย str1 13 นำขอ้ ควำมใน str3 ไปผนวกต่อทำ้ ย str1 14 นำขอ้ ควำมใน str4 ไปผนวกต่อท้ำย str1 15 นำขอ้ ควำมใน str5 ไปผนวกต่อทำ้ ย str1 17 พิมพค์ ่ำตัวแปร str1, str2, str3, str4 และ str5 ภำพท่ี 31 ผลลพั ธจ์ ำกกำรรนั โปรแกรมทดสอบกำรใชง้ ำนฟังก์ชนั strcat()

5. ฟงั ก์ชัน strlwr() เป็นฟังก์ชนั ท่ีนำมำใช้เพื่อแปลงอกั ขระในสตรงิ ใหเ้ ป็นตวั พมิ พ์เล็ก รูปแบบ strlwr(string) โดยท่ี string หมำยถงึ ตัวแปรอักขระในสตริงให้เปน็ ตัวพิมพ์เลก็ 1: #include <stdio.h> 2: #include <string.h> 3: 4: main() 5: { 6: char txt[80]; 7: 8: printf(\"Input message\\n\"); 9: scanf(\"%s\", txt); 10: 11: strcpy(txt, strlwr(txt)); // แปลงตวั พมิ พเ์ ล็กแลว้ บันทกึ ซา้ ลงในตวั แปร txt 12: 13: printf(\"\\n< Convert to lowercase >\"); 14: printf(\"\\n%s\", txt); 15: } ภำพท่ี 32 โปรแกรมทดสอบกำรใชง้ ำนฟงั ก์ชนั strlwr() ตำรำงที่ 10 คำอธบิ ำยโปรแกรมทดสอบกำรใช้งำนฟงั กช์ นั strlwr() บรรทัดที่ ความหมาย 9 รอรับข้อควำมเพอ่ื เกบ็ ไวใ้ นตัวแปร txt 11 แปลงขอ้ ควำมทปี่ ้อนเข้ำมำด้วยฟงั กช์ ัน strlwr เพื่อใหเ้ ป็นตัวพมิ พเ์ ล็กทั้งหมดจำกน้นั ใหค้ ัดลอกซำ้ ลงในตัวแปร txt ด้วยฟงั ก์ชัน strcpy() 14 พิมพ์ค่ำตัวแปร txt ซ่งึ จะเปน็ อกั ษรตวั พิมพ์เล็กท้ังหมด ภำพที่ 33 ผลลัพธจ์ ำกกำรรันโปรแกรมทดสอบกำรใช้งำนฟังกช์ ัน strlwr() 6. ฟงั ก์ชัน strupr() เป็นฟงั กช์ ันที่นำมำใชเ้ พือ่ แปลงอักขระในสตรงิ ให้เป็นตัวพมิ พ์ใหญ่ รูปแบบ strupr(string)

โดยท่ี string หมำยถงึ ตัวแปรสตรงิ หรือขอ้ ควำม 1: #include <stdio.h> 2: #include <string.h> 3: 4: main() 5: { 6: char txt[80]; 7: 8: printf(\"Input message\\n\"); 9: scanf(\"%s\", txt); 10: 11: printf(\"\\n< Convert to uppercase >\"); 12: printf(\"\\n%s\", strupr(txt)); 13: } ภำพที่ 34 โปรแกรมทดสอบกำรใชง้ ำนฟงั กช์ ัน strupr() ตำรำงที่ 11 คำอธิบำยโปรแกรมทดสอบกำรใชง้ ำนฟังกช์ นั strupr() บรรทัดที่ ความหมาย 6 ประกำศตัวแปร txt เก็บข้อควำม 80 ตวั 9 รอรบั ข้อควำมเพ่อื เกบ็ ไว้ในตัวแปร txt 12 พิมพ์ค่ำตัวแปร txt ผำ่ นฟงั ก์ชนั strupr() เพอื่ แปลงข้อควำมเปน็ อักษรตัวพิมพ์ใหญ่ ทง้ั หมด ภำพที่ 35 ผลลัพธจ์ ำกกำรรันโปรแกรมทดสอบกำรใช้งำนฟังก์ชนั strupr() 7. ฟงั ก์ชนั strrev() เป็นฟงั กช์ ันที่นำมำใช้งำนเพ่ือสลบั ตำแหน่งข้อควำมแบบกลบั หัว (Reverse) เช่น ข้อควำม 123 เม่อื ผำ่ นฟังก์ชนั strrev() แล้วจะเปน็ 321 เป็นต้น

1: #include <stdio.h> 2: #include <string.h> 3: 4: main() 5: { 6: char str[80]; 7: 8: printf(\"Input message\\n\"); 9: scanf(\"%s\", str); 10: 11: strcpy(str, strupr(str)); 12: strcpy(str, strrev(str)); 13: 14: printf(\"\\n< Reverse message >\"); 15: printf(\"\\n%s\", str); 16: } ภำพที่ 36 โปรแกรมทดสอบกำรใช้งำนฟังก์ชนั strrev() ตำรำงที่ 12 คำอธบิ ำยโปรแกรมทดสอบกำรใชง้ ำนฟังก์ชัน strupr() บรรทดั ท่ี ความหมาย 9 รอรับข้อควำม เพ่ือเกบ็ ไว้ในตัวแปร str 11 แปลงขอ้ ควำมท่ีป้อนเข้ำมำด้วยฟงั กช์ ัน strupr() เพ่อื ให้เป็นตวั พมิ พ์ใหญ่ จำกน้ัน คัดลอกซำ้ ลงในตัวแปร str ด้วยฟังกช์ ัน strcpy() 12 กลบั หัวข้อควำมที่บรรจใุ นตัวแปร str ผำ่ นฟงั กช์ ัน strrtv() จำกน้นั คดั ลอกซำ้ ลงในตัว แปร str ด้วยฟงั ก์ชัน strcpy() 15 พิมพค์ ่ำตัวแปร str ซ่ึงจะเป็นข้อควำมกลับหวั และเป็นอักษรตวั พิมพ์ใหญ่ ภำพท่ี 37 ผลลพั ธ์จำกกำรรันโปรแกรมทดสอบกำรใชง้ ำนฟังกช์ ัน strrev() เรำไดเ้ รยี นรถู้ ึงฟงั ก์ชนั scanf() และฟงั ก์ชัน print() มำแล้ว ซง่ึ สำมำรถนำมำใชเ้ พื่อกำรรับ ข้อมูลชนดิ ข้อควำม และสัง่ พิมพข์ ้อควำม อย่ำงไรก็ตำมในภำษำซยี งั มีฟงั กช์ นั เพอ่ื กำรรับค่ำข้อมูล สตรงิ และพิมพ์ขอ้ ควำมสตรงิ โดยตรงด้วยฟงั ก์ชนั gets() และฟงั กช์ นั puts() ซง่ึ ฟังกช์ นั ท้งั สองถกู ประกำศใช้งำนอย่ใู นเฮดเดอร์ไฟล์ <stdio.h> ท่ผี ่ำนมำมีกำรใช้ฟงั ก์ชนั scanf() กบั รปู แบบข้อมลู %s ในกำรรับคำ่ สตริงแต่ถำ้ สังเกตให้ดีๆ แลว้ จะพบวำ่ ตวั อยำ่ งที่ผำ่ นมำล้วนเปน็ กำรปอ้ นข้อควำมท่ีไมม่ ชี ่องวำ่ งระหว่ำงข้อควำมเลย จงึ ทำให้

ไม่พบข้อผดิ พลำดใดๆ นนั่ หมำยควำมวำ่ กำรป้อนค่ำสตริงด้วยฟังก์ชัน scanf() นัน้ ไม่สำมำรถปอ้ น ช่องว่ำงระหวำ่ งข้อควำมได้ เน่อื งจำกขอ้ ควำมท่ีอย่ถู ดั จำกซอ่ งว่ำงเปน็ ตน้ ไปจะไม่ถูกนำไปจัดเกบ็ ไวใ้ น ตวั แปรนนั่ เป็นเพรำะชอ่ งวำ่ งที่ปอ้ นเข้ำไป ฟังก์ชนั scanf() คิดว่ำเปน็ กำรแบง่ แยกตัวแปร (กรณปี ้อน ตัวแปรหลำยคำ่ ภำยในบรรทัดเดยี วกัน) 1. ฟงั ก์ชนั gets() เป็นฟงั ก์ชันที่นำมำใช้เพื่อรับค่ำสตรงิ รปู แบบ gets(Variable) โดยที่ variable หมำยถงึ ตัวแปรสตรงิ ตัวอยา่ งเช่น รอรับข้อควำมทำงแป้นพมิ พ์ เพือ่ จัดเก็บไวใ้ นตวั แปรสตรงิ ชื่อ text gets(text); 2. ฟงั ก์ชนั puts() เป็นฟงั ก์ชันท่นี ำมำใช้พิมพ์ข้อควำม หรอื ตัวแปรสตริง รูปแบบ puts(string) โดยท่ี string หมำยถงึ ตัวแปรหรือข้อควำมทีอ่ ยู่ภำยในเคร่ืองหมำยคำพูด ตวั อยา่ งเช่น - กำรสัง่ พิมพค์ ่ำตัวแปรสตริง puts(text); - กำรสั่งพมิ พ์ข้อควำม puts(\"Press any key...\");

1: #include <stdio.h> 2: main() 3: { 4: char name1[20], name2[20]; 5: 6: puts(\"Input name and surename\"); 7: scanf(\"%s\", name1); 8: 9: fflush(stdin); 10: puts(\"\\nInput name and surename\"); 11: gets(name2); 12: 13: puts(\"\\nPrinting variable name1 and name2\"); 14: puts(name1); 15: puts(name2); 16: } ภำพท่ี 38 โปรแกรมทดสอบกำรใช้งำนฟงั กช์ นั get() และฟังก์ชนั puts() ตำรำงท่ี 13 คำอธิบำยโปรแกรมทดสอบกำรใช้งำนฟงั กช์ ัน get() และฟงั กช์ นั puts() บรรทดั ที่ ความหมาย 6 สง่ั พิมพ์ข้อควำมด้วยฟังก์ชัน puts() 7 รอรับชอ่ื พร้อมนำมสกลุ เพื่อเก็บไว้ในตวั แปร name1 ดว้ ยฟังกช์ นั scanf() 9 เคลียร์รหสั new line ในบฟั เฟอร์ 11 รอรับชอื่ พร้อมนำมสกุล เพื่อเก็บไวใ้ นตัวแปร name2 ด้วยฟังกช์ นั gets() 14 พมิ พค์ ำ่ ตัวแปร name1 ด้วยฟังกช์ นั puts() 15 พมิ พค์ ่ำตัวแปร name2 ด้วยฟงั ก์ชัน puts() ภำพท่ี 39 ผลลัพธจ์ ำกกำรรันโปรแกรมทดสอบกำรใช้งำนฟังกช์ ัน get() และฟงั ก์ชนั puts() ผลลพั ธ์จำกกำรรันโปรแกรมนี้ จะพบว่ำ ช่อื และสกลุ ทีป่ ้อนดว้ ยฟังก์ชัน scanf() น้นั จะได้ ข้อมูลไมค่ รบ ทง้ั น้ีเน่ืองจำกมีช่องวำ่ ง ซง่ึ ข้อควำมที่อยู่หลังช่องวำ่ งจะหำยไป ในขณะที่กำรรบั ค่ำ ขอ้ ควำมดว้ ยฟังกช์ ัน get() จะไดร้ ับข้อมลู ครบถว้ น ถงึ แมจ้ ะมีชอ่ งวำ่ งระหวำ่ งข้อมูลก็ตำม

ปกตแิ ลว้ ตัวแปรสตรงิ ท่ีนำมำใชเ้ พอื่ รับข้อมลู นน้ั สำมำรถเป็นไดท้ ั้งตวั อักษรหรือตัวเลขก็ได้ แตถ่ ้ำเป็นตัวเลขลว้ นๆ ก็ถือว่ำเปน็ ข้อควำมท่ีไม่สำมำรถนำไปคำนวณได้ แตท่ ้ังนีห้ ำกมีกำรนำข้อควำม ทเี่ ปน็ ตัวเลขมำผำ่ นฟังกช์ ันแปลงสตริงให้เปน็ ตัวเลข ก็สำมำรถนำไปใช้เพื่อกำรคำนวณได้ ซง่ึ ประกอบด้วยฟงั ก์ชันตอ่ ไปนี้ 1. ฟงั ก์ชนั atof() เป็นฟงั กช์ ันทน่ี ามาใชแ้ ปลงข้อความตวั เลขมาเปน็ ค่าตวั เลขท่ีสามารถ นาไปคานวณได้ โดยกาหนดใหม้ ีชนิดข้อมลู เป็น double 2. ฟังก์ชนั atoi() เป็นฟังก์ชนั ทนี่ ำมำใชแ้ ปลงข้อควำมตัวเลขมำเป็นค่ำตวั เลขทีส่ ำมำรถ นำไปคำนวณได้ โดยกำหนดให้มชี นดิ ข้อมลู เป็น int 3. ฟังก์ชัน atol() เป็นฟังกช์ ันที่นำมำใชแ้ ปลงขอ้ ควำมตัวเลขมำเปน็ ค่ำตวั เลขทส่ี ำมำรถ นำไปคำนวณได้ โดยกำหนดให้มีชนิดข้อมูลเปน็ long int ทง้ั นฟ้ี งั ก์ชันดังกล่ำวจะถูกประกำศใชง้ ำนอยู่ในเฮดเดอร์ไฟล์ stdlib.h โดยค่ำทีอ่ ยู่ภำยใน วงเล็บอำจเปน็ ค่ำตัวแปร หรือค่ำคงที่ท่ีอยู่ในเคร่อื งหมำยคำพดู ก็ได้ เช่น ans = atof(value) * .01; x = atoi(\"498\"); ภำพที่ 40 กำรประกำศฟังกช์ ัน atol() 1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: main() 5: { 6: char str1[] = \"24984412.75012\"; 7: char str2[] = \"1669\"; 8: char str3[] = \"1000000\"; 9: 10: double x = atof(str1); 11: int y = atoi(str2); 12: long z = atol(str3); 13: 14: printf(\"The value of x is %.8f\\n\", x); 15: printf(\"The value of y is %d\\n\", y); 16: printf(\"The value of z is %ld\\n\", z); 17: } ภำพที่ 41 โปรแกรมทดสอบกำรใชง้ ำนฟงั ก์ชนั atof(), atoi() และ atol() ตำรำงที่ 14 คำอธบิ ำยโปรแกรมทดสอบกำรใช้งำนฟงั ก์ชัน atof(), atoi() และ atol() บรรทัดที่ ความหมาย 6-8 กำหนดข้อควำมท่เี ป็นตวั เลขลงในตัวแปรสตริง str1, str2, และ str3 10 ประกำศตัวแปร x ให้มีชนดิ ข้อมูลเป็น double เพ่อื จัดเก็บคำ่ atof(str1) 11 ประกำศตัวแปร y ใหม้ ชี นิดข้อมลู เป็น int เพ่ือจัดเก็บค่ำ atoi(str2) 12 ประกำศตวั แปร z ให้มีชนิดข้อมลู เป็น long int เพื่อจดั เก็บคำ่ atol(str3) 14-16 พิมพค์ ำ่ ตัวเลขของตัวแปรทั้งสำม

ภำพท่ี 42 ผลลพั ธจ์ ำกกำรรันโปรแกรมทดสอบ กำรใช้งำนฟังก์ชัน atof(), atoi() และ atol() สรปุ ทา้ ยบท อำร์เรย์ เปน็ ตัวแปรประเภทหนึ่งท่เี หมำะกับกำรนำไปใช้เพื่อประมวลผลกล่มุ ชดุ ข้อมูล เดยี วกนั ทำใหอ้ ้ำงอิงเพื่อใชง้ ำนงำ่ ยกว่ำ กำรอ้ำงอิงตำแหน่งของอำร์เรย์ในแตล่ ะอิลิเมนต์ จะใช้เลขดัชนี หรือซบั สคริปต์เป็นตวั ช้รี ะบุ ตำแหนง่ ของอำร์เรย์ในภำษำชี เรม่ิ ตนั ทค่ี ำ่ ศูนย์ ตวั แปร อำร์เรยแ์ บบ 1 มิติ และอำรเ์ รย์แบบ 2 มิติ มักถูกนำมำใชง้ ำนมำกท่สี ุด ข้อควำมหรอื สตริง คือ อำรเ์ รย์ของตัวอกั ขระ ฟังก์ชันจัดกำรสตรงิ ถกู ประกำศใช้งำนอยู่ในเฮดเดอร์ไฟล์ <string.h> ฟังกช์ นั strcpy() นำมำใช้เพื่อคดั ลอกข้อควำมไปเก็บไวใ้ นตัวแปร หรือคดั ลอกจำกตวั แปร สตริงหนง่ึ ไปเกบ็ ไวย้ งั ตัวแปรของอีกสตรงิ หนึ่ง ฟังก์ชัน strlen() เป็นฟังก์ชนั ทีน่ ำมำใช้เพื่อนบั จำนวนตวั อักขระทบ่ี รรจอุ ยู่ในสตรงิ ฟงั ก์ชนั strcmp() เป็นฟังกช์ ันทนี่ ำมำใช้เพอื่ เปรยี บเทียบสตริง 2 ตัว ว่ำตรงกนั หรือไม่ ฟงั ก์ชนั strcat() เป็นฟังก์ชนั ทน่ี ำมำใช้เพื่อผนวกสตริง 2 สตรงิ เข้ำดว้ ยกนั ฟงั ก์ชัน strlwr() เป็นฟังกช์ นั ท่ีนำมำใช้เพือ่ แปลงข้อควำมให้เปน็ ตัวพิมพ์เล็ก ฟังก์ชนั strpr() เป็นฟงั ก์ชันที่นำมำใช้เพ่ือแปลงข้อควำมให้เปน็ ตวั พิมพ์ใหญ่ ฟงั ก์ชัน strrev() เป็นฟงั กช์ นั ทนี่ ำมำใช้งำนเพ่ือสลบั ตำแหน่งข้อควำมแบบกลบั หวั ฟงั กช์ นั gets() เปน็ ฟงั กช์ ันที่นำมำใช้เพ่ือรับค่ำข้อควำมสตรงิ ซึ่งสำมำรถบรรจขุ ้อควำม ระหวำ่ งสตรงิ ได้ ฟังก์ชัน puts() เป็นฟังชั่นที่นำมำใชพ้ ิมพข์ ้อควำม หรือตัวแปรสตรงิ ฟงั ก์ชนั ท่ีนำมำใช้เพอื่ แปลงข้อควำมสตรงิ ท่ีเกบ็ ตัวเลขมำเป็นคตัวเลขที่สำมำรถนำไปคำนวณ ได้ จะถูกประกำศใช้งำนอยู่ในเฮดเดอรไ์ ฟด์ <stdlib.h> ฟงั กช์ นั atof() เป็นฟงั กช์ ันท่ีนำมำใช้แปลงข้อวำมตวั เลขเปน็ ค่ำตัวเลขท่นี ำมำคำนวณได้ โดยให้มชี นดิ ขอ้ มูลเปน็ double ฟังก์ชนั atoi() เป็นฟังก์ชันที่นำมำใช้แปลงข้อควำมตวั เลขเปน็ คำ่ ตวั เลขทน่ี ำมำคำนวณได้ โดยใหม้ ชี นิดข้อมลู เปน็ int ฟงั กช์ ัน atol() เป็นฟงั ก์ชนั ที่นำมำใช้แปลงข้อควำมตวั เลขเป็นคำ่ ตัวเลขทน่ี ำมำ คำนวณได้ โดยใหม้ ีชนดิ ขอ้ มูลเปน็ long int

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

คาชแ้ี จง ใหน้ กั เรียนตอบคำถำมต่อไปนีใ้ ห้ถกู ต้อง 1. อำรเ์ รย์ 1 มติ ิ จัดเกบ็ ขอ้ มูลแตกตำ่ งจำก อำร์เรย์ 2 มิติ อยำ่ งไร ตอบ ............................................................................................................................. ..................... .............................................................................................................................................................. .. 2. ให้นักเรยี นอธบิ ำยชุดคำสั่งตอ่ ไปนี้ให้ถกู ต้อง int sc[] = {70, 65, 68, 72, 80, 62, 68, 71, 58, 66} ; ตอบ ............................................................................................................................. ..................... ............................................................................................................. ................................................... 3. ในกำรประกำศตวั แปรอำร์เรยช์ นิดขอ้ ควำมนนั้ อักขระแตล่ ะตัวจะถูกบรรจอุ ยู่ในทใ่ี ด ตอบ ....................................................................................................................... ........................... ............................................................................................................................. ................................... 4. กรณกี ำรกำหนดค่ำเร่ิมต้นให้กับตวั แปรอำรเ์ รย์ 2 มิติ ควรใช้เครือ่ งหมำยใด อธิบำยมำพอสงั เขป ตอบ ............................................................................................................................. ..................... ............................................................................................................................. ................................... 5. ในภำษำซฟี ังก์ชัน strupr() นำมำใช้เพื่อทำส่ิงใด ตอบ ............................................................................................................................. ..................... ............................................................................................................. ................................................... สรุปคะแนน สรุปผล ผ่าน ไมผ่ ่าน คะแนนเตม็ คะแนนที่ได้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

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

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

คาช้ีแจง ให้นักเรยี นปฏิบัตกิ ิจกรรมกลุ่มดังต่อไปน้ี 1. ใหน้ ักเรยี นแบง่ กลุ่มออกเป็น กลมุ่ ละ 4-5 คน เพ่ือทำกิจกรรมกลุม่ 2. ให้เขยี นโปรแกรมเพอื่ รับข้อควำมท่ีเป็นค่ำตัวเลขจำนวนเต็ม ประกอบด้วย - คะแนนทดสอบ - คะแนนสอบกลำงภำค - คะแนนสอบปลำยภำค 3. ให้แปลงขอ้ ควำมทีเ่ ป็นตวั เลขมำเป็นคำ่ ตวั เลขที่สำมำรถนำไปคำนวณได้ 4. หำผลรวมของคะแนนไปเก็บไวท้ ี่คะแนนรวม โดยใหแ้ สดงผลลพั ธ์ทำงจอภำพดงั น้ี << Input Score >> quiz = 15 mid = 23 ใช้ gets()รบั คา่ fin = 35 score = 73 ……………………………..………………………….………………………….………………………….………………………….… ……………………….………………………….………………………….………………………….………………………….……… ………………….………………………….………………………….………………………….………………………….…………… …………….………………………….………………………….………………………….………………………….………………… ……….………………………….………………………….………………………….………………………….……………………… ….………………………….………………………….………………………….………………………….………………………….… ……………………….………………………….………………………….………………………….………………………….……… ………………….………………………….………………………….………………………….………………………….…………… ………………….………………………….………………………….………………………….………………………….…………… สรปุ คะแนน สรปุ ผล ผา่ น ไม่ผา่ น คะแนนเต็ม คะแนนท่ไี ด้ ……………...…. …………………. 15 คะแนน ………………. คะแนน

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

คาชีแ้ จง ใหน้ กั เรียนเลือกคำตอบที่ถกู ท่สี ุดเพยี งคำตอบเดียวแล้วทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ 1. ขอ้ ใด คือ สิ่งท่ตี ้องกำรอำ้ งองิ ตำแหนง่ ในอำรเ์ รย์ ก. ตัวอกั ขระ ข. หมำยเลขดัชนี ค. ตัวแปร ง. ข้อควำม 2. หมำยเลขตำแหน่งแรกในกำรอำ้ งองิ ค่ำในอำรเ์ รย์ เรมิ่ ต้นด้วยค่ำในข้อใด ก. 1 ข. 0 ค. 2 ง. 3 3. รหัสพิเศษตำมข้อใดต่อไปน้ี ท่ีจะนำมำใชเ้ พื่อบอกจดุ สิ้นสุดของข้อควำม ก. \\n ข. \\t ค. \\end ง. \\0 4. อำร์เรย์ 2 มิติ มีรูปแบบคลำ้ ยกบั สิง่ ใดต่อไปน้ี ก. ส่ีเหลีย่ มขนำดใหญ่ ข. ต้นไม้ทมี่ รี ำกแตกแขนง ค. ตำรำงทป่ี ระกอบด้วยแถวและคอลัมน์ ง. รูปวงกลมซอ้ นกนั 5. กรณีข้อควำมในอำรเ์ รย์ท่ีจดั เก็บกลุม่ ของตัวอกั ขระ มีน้อยกวำ่ ขนำดทก่ี ำหนดไว้ผลเป็นอย่ำงไร ก. ไมส่ ่งผลใดๆ ข. คอมไพล์แลว้ เกิดข้อผิดพลำด ค. แสดงขอ้ ควำม error ง. ข้อมลู ทีแ่ สดงจะผิดเพีย้ นไป

6. ต้องกำรประกำศตวั แปร var เป็นอำรเ์ รยช์ นดิ เลขจำนวนเตม็ ขนำด 5 x 5 ต้องเขียนชุดคำส่ัง อย่ำงไร ก. int var[5] [5]; ข. int var[5, 5]; ค. int var[4] [4]; ง. float var[4] [4] 7. ฟังก์ชันจัดกำรสตริงถกู ประกำศใชง้ ำนในเฮดเดอร์ไฟลล์ใด ก. <stdio.h> ข. <conio.h> ค. <math.h> ง. <string.h> 8. หำกต้องกำรตรวจสอบควำมยำวของข้อควำมจะตอ้ งเรียกใช้ฟังกช์ ันใด ก. strcpy() ข. stecmp() ค. strien() ง. strcat() 9. เมอ่ื นำข้อควำม “abcXYZ” มำผำ่ นฟงั กช์ นั strrev() ผลที่ไดจ้ ะเป็นอยำ่ งไร ก. ABCXYZ ข. Abcxyz ค. abcxyz ง. ZYXcba 10. ฟงั กช์ นั ใดต่อไปนี้ นำมำใช้เพ่ือสงั่ พิมพ์ข้อควำมได้ ก. puts() ข. gets() ค. scanf() ง. char() สู้ๆ นะคะนกั เรยี น

คาช้แี จง ใหน้ ักเรยี นเลือกคำตอบท่ีถกู ท่ีสุดเพยี งคำตอบเดียวแลว้ ทำเคร่อื งหมำย 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. datatype คือ ขนำด ท่ีแสดงถึงจำนวนสมำชิกของอำรเ์ รย์ ................. 3. สตรงิ จะถูกจดั เก็บในลักษณะของอำรเ์ รย์ของขนำดตวั แปร .................. 4. ตำแหนง่ แรกของอำร์เรย์ในภำษำซีจะเร่ิมต้นที่ค่ำ 0 เปน็ ตน้ ไป .................. 5. อำร์เรย์ 1 มิติ และ 2 มิติ จะถูกนำมำใช้งำนมำกทส่ี ุด ................. 6. ฟงั ก์ชัน strccpy() เป็นฟังกช์ นั นำมำใช้เพื่อตัดขอ้ ควำมไปออกไป .................. 7. arrayName คอื ชื่อตวั แปรอำรเ์ รย์ ................. 8. ฟงั กช์ ัน strcat() เป็นฟงั ก์ชนั นำมำใชเ้ พื่อแยกสตริง 2 สตรงิ ออกจำกกนั .................. 9. อำรเ์ รย์ 1 มิติ จะจัดเกบ็ ข้อมูลเปน็ แนวรำบแบบแถวลำดบั .................. 10. อำรเ์ รย์ 2 มติ ิ จะจัดเกบ็ ข้อมลู คลำ้ ยกับตำรำง อยา่ ลืมทวนคาตอบ นะคะนักเรยี น

คาชแี้ จง ให้นักเรียนตอบคำถำมต่อไปนใี้ ห้ถูกต้อง 1. อำร์เรย์ 1 มิติ จัดเกบ็ ข้อมูลแตกตำ่ งจำก อำรเ์ รย์ 2 มิติ อยำ่ งไรจงอธบิ ำย ตอบ อำรเ์ รย์ 1 มติ ิ จะจัดเกบ็ ข้อมูลเปน็ แนวรำบแบบแถวลำดับ สว่ นอำร์เรย์ 2 มิติ จะจัดเกบ็ ข้อมลู คล้ำยกับตำรำง 2. อธบิ ำยชดุ คำสง่ั ตอ่ ไปนีใ้ หถ้ ูกต้อง int sc[] = {70, 65, 68, 72, 80, 62, 68, 71, 58, 66} ; ตอบ ชุดคำส่ังข้ำงต้นเปน็ กำรประกำศอำรเ์ รย์ 1 มติ ิ พร้อมกำหนดค่ำตวั แปรจำนวน 10 ตวั เชน่ กนั ซ่งึ จะพบว่ำมิได้ระบุขนำดของอำร์เรยจ์ ึงถือว่ำอำร์เรย์ที่ประกำศในทีน่ ีม้ ีขนำด เท่ำกับ 10 โดยอัตโนมัติ เน่อื งจำกจำนวนสมำชิกท่กี ำหนดค่ำลงไปนั้นมีจำนวน 10 ตัว 3. ในกำรประกำศตวั แปรอำร์เรยช์ นิดข้อควำมนัน้ อกั ขระแต่ละตวั จะถูกบรรจุอยู่ในที่ใด ตอบ กำรประกำศตัวแปรอำร์เรยช์ นิดข้อควำมนั้น อักขระแต่ละตวั จะถูกบรรจุอยใู่ นแต่ละตู้ หนว่ ยควำมจำ (แต่ละต้หู น่วยควำมจำจะจัดเก็บได้เพียงหนึ่งอักขระเท่ำนัน้ ) โดยจะมรี หัสพเิ ศษ คอื \\0 (Null) ซ่ึงเปน็ ตวั บง่ บอกถึงจุดส้นิ สดุ ของขอ้ ควำม 4. กรณีกำรกำหนดคำ่ เริ่มตน้ ใหก้ บั ตัวแปรอำรเ์ รย์ 2 มิติ ควรใช้เครือ่ งหมำยใดพร้อมอธบิ ำย ตอบ กรณกี ำรกำหนดค่ำเรมิ่ ต้นให้กับตวั แปรอำร์เรย์ 2 มิตกิ ำรใชเ้ ครื่องหมำย { } ซอ้ นย่อยเพื่อ กำหนดข้อมลู แตล่ ะแถวจะทำให้อ่ำนง่ำยกว่ำ และจำกกำรประกำศข้ำงต้นแตล่ ะอลิ เิ มนต์ก็จะถกู บรรจุ ค่ำต่ำงๆ 5. ในภำษำซฟี ังกช์ นั strupr() นำมำใช้เพ่ือทำอะไร ตอบ นำมำใชเ้ พ่ือแปลงอักขระในตริงให้เปน็ ตัวพมิ พ์ใหญ่

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


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