ชดุ ท2ี่ คำสงั่ รบั คำ่ และแสดงผล คำนำ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปที ่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดน้ีจดั ทาข้นึ เพื่อพัฒนาการจัดกิจกรรมการเรียนการสอนโดยเน้นผู้เรียนเป็นสาคัญ และส่งเสริมการเรียนรู้ของผู้เรียนด้วยตนเอง คิดเป็น ทาเป็นและแก้ปัญหาเป็น โดยได้ขยายผลในด้านเน้ือหาให้กว้างและชัดเจนย่ิงข้ึน ซงึ่ ถือวา่ เป็นไปตามแนวทางการจัดการศึกษาของชาติที่เน้นผู้เรียนเป็นสาคัญ และสนองต่อพระราชบัญญัติการศึกษาแห่งชาติ พุทธศักราช 2542 และสอดคล้องกับหลักสูตรแกนกลางการศึกษาขั้นพ้ืนฐาน พุทธศักราช 2551 ท่ีมุ่งเน้นให้ผู้เรียนได้รับการพัฒนาท้ังความรู้ กระบวนการคิดกระบวนการสืบเสาะหาความรู้ การแก้ปัญหา ความสามารถในการสื่อสาร การตัดสินใจ การนาความรู้ไปใช้ในชีวติ ประจาวนั มีคุณธรรมคา่ นิยมอนั พงึ ประสงค์และผูเ้ รียนมีเจตคติทีด่ ตี ่อวชิ าคอมพิวเตอร์ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ครอบคลุมตัวชี้วัดและสาระการเรียนรู้ตามหลักสูตรแกนกลางการศึกษาข้ันพ้ืนฐาน พทุ ธศกั ราช 2551 ซ่งึ ประกอบดว้ ยชุดกิจกรรมการเรียนร้ทู ้ังหมด 5 ชดุ ดังน้ี ชดุ ท่ี 1 เรอ่ื ง การพฒั นาโปรแกรมและการจาลองความคิด ชุดที่ 2 เรอ่ื ง โครงสรา้ งของโปรแกรมภาษาซี ชุดที่ 3 เร่อื ง คาส่ังรับคา่ และแสดงผล ชุดท่ี 4 เรอ่ื ง โครงสรา้ งการเขียนโปรแกรม ชดุ ที่ 5 เรื่อง ตวั แปรชุด (Array) ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 นี้เป็นชุดท่ี 3 เร่ืองคาสั่งรับค่าและแสดงผล ผู้จัดทาหวังเป็นอย่างยิ่งว่าชุดกิจกรรมการเรียนรู้ชุดที่ 3 เรื่อง คาส่ังรับค่าและแสดงผลชุดน้ีจะช่วยให้ผู้เรียนมีความเข้าใจเกี่ยวกับคาส่ังรับค่าและแสดงผลในการเขียนโปรแกรมได้มากยิ่งข้ึน ซึ่งเป็นประโยชน์อยา่ งยิ่งต่อการพัฒนาการเรยี นรู้และสร้างองค์ความรู้ทยี่ งั่ ยืนของผู้เรยี นต่อไป สวุ รรณา จติ ตป์ ลม้ื 1 โรงเรยี นบางแพปฐมพิทยาชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์รำยวชิ ำภำษำซี ง30243 ชนั้ มธั ยมศึกษำปีท่ี 5
ชดุ ท2่ี คำสง่ั รับค่ำและแสดงผล หน้ำ สำรบัญ 1 2 เร่อื ง 3 คานา สารบญั 5 คาแนะนาในการใชช้ ดุ กจิ กรรมการเรียนรสู้ าหรบั ครู 6 คาแนะนาในการใชช้ ุดกจิ กรรมการเรยี นรู้สาหรบั นักเรียน 6 มาตรฐานการเรยี นรู้และตวั ชีว้ ัด จุดประสงค์การเรียนรู้ 7 แบบทดสอบกอ่ นเรียน 10 บตั รเนอ้ื หาที่ 1 ฟงั ก์ชนั รบั ข้อมลู 24 บตั รกิจกรรมที่ 1 ฟังก์ชันรับข้อมลู บัตรเน้ือหาท่ี 2 ฟงั ก์ชนั แสดงผลขอ้ มูล 1 26 บตั รกิจกรรมท่ี 2 ฟงั กช์ นั แสดงผลข้อมลู 39 แบบทดสอบหลงั เรยี น 41 บรรณานุกรม 44 ภาคผนวก 45 แบบบันทกึ คะแนนระหว่างเรียน 46 เฉลยแบบทดสอบก่อนเรียน เฉลยบัตรกิจกรรมการเรยี นรู้ท่ี 1 เร่ือง ฟังก์ชันรบั ข้อมลู 47 เฉลยบตั รกจิ กรรมการเรยี นรู้ที่ 2 เร่ือง ฟังกช์ ันแสดงผลข้อมูล 48 เฉลยแบบทดสอบหลังเรียน 50 52ชุดกจิ กรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 2รำยวชิ ำภำษำซี ง30243 ชน้ั มัธยมศกึ ษำปที ี่ 5
ชุดท2ี่ คำส่งั รบั ค่ำและแสดงผล คำแนะนำกำรใช้ชุดกิจกรรมกำรเรียนรู้สำหรับครู เม่ือครูผู้สอนได้นาชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชัน้ มธั ยมศึกษาปีท่ี 5 กล่มุ สาระการเรียนรู้การงานอาชีพและเทคโนโลยี ไปใชค้ วรปฏบิ ัตดิ งั นี้ 1. ดาเนินการจัดกิจกรรมการเรียนการสอนโดยใช้ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ควบค่ไู ปกับแผนการจัดการเรยี นรู้รายวิชาภาษาซี ง30243 ระดบั ชั้นมธั ยมศึกษาปีท่ี 5 2. หลังจากไดศ้ ึกษาเนอ้ื หาแล้วให้นักเรียนตอบคาถามเพ่ือประเมนิ ความรูแ้ ตล่ ะเรอ่ื ง 3. ควรให้นกั เรยี นปฏิบัติชุดกิจกรรมการเรียนรู้การเขยี นโปรแกรมภาษาคอมพิวเตอร์ รายวชิ าภาษาซีง30243 ชั้นมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี เพ่ือความเข้าใจโดยครูให้คาแนะนาอย่างใกลช้ ิด 4. ใหน้ ักเรียนตรวจสอบเฉลยทา้ ยเลม่ เมื่อนกั เรยี นทากิจกรรมตามชุดการเรยี นรู้ชดุ ท่ี 3 เรื่อง คาสง่ั รบัค่าและแสดงผล จบแลว้ เพ่ือทราบผลการเรยี นรู้ของตนเอง 5. ทดสอบความรู้หลังเรียนจากท่ีนักเรียนทากิจกรรมการเรียนรู้จบชุดแล้วด้วยการทาแบบทดสอบหลังเรียนในการเรียนรู้ด้วยชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชนั้ มัธยมศกึ ษาปีที่ 5 กล่มุ สาระการเรียนร้กู ารงานอาชพี และเทคโนโลยี เรื่องการพัฒนาโปรแกรมและการจาลองความคดิ นกั เรียนควรปฏิบัติดงั น้ี 1. นักเรียนจะได้รบั ชดุ กิจกรรมการเรียนรูก้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีที่ 5 กล่มุ สาระการเรยี นรู้การงานอาชีพและเทคโนโลยี ชุดที่ 3 เรอ่ื ง คาสั่งรบั ค่าและแสดงผล 1 เลม่ และซดี ปี ระกอบชดุ การเรียนรู้ 1 แผน่ 2. วิธีการสอนในชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชน้ั มธั ยมศกึ ษาปีที่ 5 กลุ่มสาระการเรียนร้กู ารงานอาชีพและเทคโนโลยี เร่อื งการพัฒนาโปรแกรมและการจาลองความคดิ นักเรยี นเรียนรู้และทากจิ กรรมการเรยี นรู้ ดังขั้นตอนต่อไปน้ี 2.1 ศึกษาจดุ ประสงคก์ ารเรยี นรู้ ภาระงานประจาหน่วย และการประเมินผล 2.2 เรียนรู้ด้วยวิธีการสอนโดยใช้กระบวนการทางวิทยาศาสตร์ การสืบเสาะหาความรู้การสารวจตรวจสอบ การสบื ค้นขอ้ มลู และอภปิ ราย ข้นั ตอนการสอนมี 6 ขั้นตอนคือ 2.2.1 ข้ันนาเข้าสบู่ ทเรยี น - กระตุน้ เร้าความสนใจ หรอื ทบทวนความรเู้ กา่ 2.2.2 ข้นั นาเสนอ - นาเสนอความรูใ้ หม่ชุดกิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 3รำยวชิ ำภำษำซี ง30243 ช้ันมธั ยมศึกษำปีท่ี 5
ชดุ ท2่ี คำสัง่ รับคำ่ และแสดงผล2.2.3 ข้นั ฝกึ - เน้นการเรียนรู้โดยใช้กระบวนการทางวิทยาศาสตร์ การสืบเสาะหาความรู้ การสารวจตรวจสอบ การสืบคน้ ขอ้ มูลและอภิปราย2.2.4 ขัน้ การทาบัตรกจิ กรรม - ในแตล่ ะแผนการจดั การเรียนรู้ มีภาระงานหรือช้ินงานใหน้ ักเรยี นได้ทดสอบย่อยซ่ึงทกุ คนตอ้ งผา่ นขั้นตอนการทาบตั รกิจกรรมนจ้ี ึงจะสามารถเรยี นกจิ กรรมต่อไปได้2.2.5 ขน้ั สรปุ - นักเรียนชว่ ยกันสรุปความรู้ทีไ่ ด้จากบทเรยี นโดยมคี รคู อยเพิม่ เติม2.2.6 ขน้ั ประยุกต์ใช้และสะท้อนคิด - นาความรู้ท่ีได้จากแผนการจัดการเรียนรู้ต่าง ๆ ในหน่วยน้ันทาภาระงานและสะท้อนคิดประจาหน่วยฝึกขั้นตอนนี้ นักเรียนต้องดาเนินการเป็นกลุ่มด้วยการนาเสนอผลงานที่มีกระบวนการสะท้อนคิดภายในกลุ่มเกี่ยวกับงานของตนเองท้ังส่ิงทีท่ าไดแ้ ละสิ่งที่ต้องปรบั ปรุง ดงั นน้ั ในข้นั ตอนน้ีนักเรียนจึงมีทั้งกระบวนการนาความรู้ที่ได้ไปประยุกต์ใช้ และการสะท้อนคิดในผลงานของกันและกันเพื่อคัดเลอื กผลงานท่ีดีท่ีสุดประจาหน่วยเป็นกาลังใจให้นกั เรียนในการทาผลงานในหนว่ ยต่อไป อีกทั้งยังสามารถนาข้อสะท้อนคดิของเพือ่ นมาปรับปรุงผลงานของตนเองให้ดยี ง่ิ ขึน้3. การประเมินผล3.1 เนอื้ หา - ใชแ้ บบทดสอบ3.2 สมรรถนะ - ประเมนิ ตามภาระงาน3.3 คณุ ลักษณะอันพงึ ประสงค์ - ประเมินโดยใชแ้ บบสงั เกตพฤติกรรมชุดกิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 4รำยวิชำภำษำซี ง30243 ชัน้ มธั ยมศึกษำปีที่ 5
ชุดท2่ี คำสั่งรับคำ่ และแสดงผล คำแนะนำกำรใช้ชุดกิจกรรมกำรเรียนรู้สำหรบั นักเรียน ชดุ กจิ กรรมการเรยี นรู้การเขยี นโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซี ง30243 ช้ันมธั ยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดที่ 3 เรื่อง คาสั่งรับค่าและแสดงผล ชุดน้ีใช้ประกอบการจัดการเรียนการสอนของนักเรียน ชั้นมัธยมศึกษาปีท่ี 5 โดยมีขั้นตอนการจัดกิจกรรมการเรียนการสอนดังน้ี 1. นกั เรยี นฟงั คาชี้แจงการใชช้ ดุ กจิ กรรมการเรยี นรู้ใหเ้ ข้าใจ 2. ให้นักเรียนรับชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ช้ันมธั ยมศึกษาปีท่ี 5 กลมุ่ สาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดที่ 3 เร่ือง คาสั่งรบั ค่าและแสดงผล 3. นักเรียนเร่ิมทาแบบทดสอบก่อนเรียนเพื่อประเมินว่านักเรียนมีพื้นฐานความรู้ ความเข้าใจมากน้อยเพยี งใด 4. ให้นักเรียนศึกษาเนื้อหาทาความเข้าใจให้ดีตั้งแต่หน้าแรกถึงหน้าสุดท้ายตามลาดับอย่าข้ามข้นั ตอนและทาบัตรกิจกรรมทา้ ยเล่ม ชุดที่ 3 เรอื่ ง คาสง่ั รับค่าและแสดงผล 5. เมือ่ พบคาช้ีแจงหรือคาถามในแต่ละบัตรกจิ กรรมให้นกั เรียนอ่านและทากจิ กรรมที่กาหนดให้อย่างรอบคอบ 6. ส่งผลงานการทาบตั รกิจกรรมการเรยี นรทู้ า้ ยเลม่ เพอ่ื ใหค้ รูตรวจและบันทึกผล 7. เมื่อทาบตั รกิจกรรมเสรจ็ แล้วจดั เกบ็ อุปกรณใ์ ห้เรยี บรอ้ ย 8. เมื่อนักเรียนทุกคนทากิจกรรมการเรียนรู้ครบแล้วให้นักเรียนทาแบบทดสอบหลังเรียนด้วยความต้ังใจและซ่ือสัตย์ 9. รบั ฟังการบอกคะแนน คาชมเชย และคาแนะนาเพมิ่ เติมจากครูชดุ กจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 5รำยวิชำภำษำซี ง30243 ชั้นมัธยมศึกษำปีที่ 5
ชดุ ท2่ี คำสัง่ รับค่ำและแสดงผล มำตรฐำนกำรเรียนร้แู ละตัวชี้วัดมำตรฐำน ง 3.1 เขา้ ใจ เหน็ คุณคา่ และใชก้ ระบวนการเทคโนโลยีสารสนเทศในการสบื ค้นขอ้ มูล การเรียนรู้ การสอ่ื สาร การแก้ปัญหา การทางาน และอาชพี อย่างมปี ระสิทธิภาพ ประสทิ ธิผลและมีคณุ ธรรมตัวชีว้ ดั ง 3.1 ม.4-6/5 แกป้ ัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศอย่างมปี ระสทิ ธิภาพ จุดประสงค์กำรเรียนรู้1. เขียนโปรแกรมโดยใช้ฟังก์ชนั printf() ได้2. เขยี นโปรแกรมโดยใช้ฟังก์ชนั putchar() ได้3. เขียนโปรแกรมโดยใช้ฟงั ก์ชนั scanf() ได้4. เขยี นโปรแกรมโดยใช้ฟังก์ชัน getchar() ได้5. เขยี นโปรแกรมโดยใช้ฟงั ก์ชัน printf() ได้6. เขียนโปรแกรมโดยใช้ฟงั ก์ชนั getch() ได้7. เขียนโปรแกรมโดยใช้ฟงั ก์ชัน getche() ได้8. เขียนโปรแกรมโดยเลือกใช้คาสงั่ รับค่าและฟังก์ชนั แสดงผลบนหนา้ จอได้อยา่ งเหมาะสมชุดกจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 6รำยวิชำภำษำซี ง30243 ชัน้ มัธยมศึกษำปที ่ี 5
ชดุ ท2่ี คำสง่ั รับคำ่ และแสดงผลแบบทดสอบกอ่ นเรียนเรื่อง คำสั่งรับค่ำและแสดงผลคำชีแ้ จง1. แบบทดสอบเปน็ แบบปรนัย จานวน 10 ขอ้2. ให้นักเรียนเลอื กคาตอบท่ถี ูกต้องท่สี ดุ เพียงคาตอบเดยี ว แล้วใส่เคร่ืองหมายกากบาท (x) ลงในกระดาษคาตอบ1. คาสง่ั แสดงผลออกทางจอภาพ ภาษาซเี ป็นคาสั่งใดก main(); ข getch();ค printf(); ง scanf();2. คาสั่งแสดงผลออกทางจอภาพ ตอ้ งอา้ งอิงไลบรารเี ปน็ แบบใดก stdio.h ข conio.hค math.h ง time.h3. ขอ้ มูลท่ีต้องการแสดงผลออกทางจอภาพ ต้องเขยี นในเคร่ืองหมายใดก เคร่อื งหมาย : : ข เคร่ืองหมาย ' 'ค เคร่อื งหมาย \" \" ง เครือ่ งหมาย # #4. ข้อมูลประเภทแบบใดทส่ี ามารถแสดงผลออกทางจอภาพได้ก ข้อความธรรมดา และตัวเลข ข ข้อความธรรมดา และค่าของตวั แปรค ขอ้ ความธรรมดา และรูปภาพ ง ขอ้ ความพเิ ศษ และตวั แปรพิเศษ5. ถ้าต้องการแสดงผลค่าของตวั แปรชนิดจานวนเต็ม ตอ้ งใชร้ หสั ควบคมุ รปู แบบใดก %s ข %uค %f ง %d6. ถา้ ตอ้ งการแสดงผลคา่ ของตวั แปรชนิดจานวนทศนยิ ม ตอ้ งใชร้ หสั ควบคมุ รูปแบบใดก %u ข %cค %f ง %dชดุ กิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 7รำยวชิ ำภำษำซี ง30243 ช้นั มธั ยมศึกษำปที ี่ 5
ชดุ ท2่ี คำส่ังรับคำ่ และแสดงผล7. ถ้าตอ้ งการแสดงผลคา่ ข้อความ ต้องใช้รหสั ควบคุมรูปแบบใด ก %s ข %u ค %d ง %f8. ถา้ ต้องการแสดงผลให้ขึน้ บรรทัดใหม่ ตอ้ งใช้อักขระควบคมุ รปู แบบใด ก \t ข \n ค \f ง \b9. ถ้าตอ้ งการแสดงข้อความ Hello แล้วข้ึนบรรทดั ใหม่ จากนน้ั แสดงข้อความ Good bye ต้องใช้คาสั่งรปู แบบใด ก printf(“Hello\bGood bye\n); ข printf(“Hello\tGood bye”); ค printf(“Hello\nGood bye”); ง print(‘Hello\nGood bye’);10. ถ้า x=45 y=’thai’ แล้วต้องการใหแ้ สดงแสดงข้อความ value=45 ตามด้วยเวน้ ชอ่ งวา่ ง 1 แทบ็ ตามด้วยขอ้ ความ you are thai ตอ้ งใชค้ าสั่งรูปแบบใด ก printf(“value=%d\tyou are %s”); ข printf(“value=%d\nyou are %c”); ค printf(“value=%d\tyou are %s”,x,z); ง printf(“value=%d\tyou are %s”,x,y);ชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 8รำยวชิ ำภำษำซี ง30243 ชัน้ มัธยมศึกษำปที ่ี 5
ชดุ ท2ี่ คำสั่งรบั คำ่ และแสดงผลกระดำษคำตอบเร่อื ง คำส่ังรบั ค่ำและแสดงผลก่อนเรยี น หลงั เรยี นชอ่ื .................................................................................... ชน้ั ................ เลขท่ี ...... ........ ขอ้ ท่ี ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.ชดุ กิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 9รำยวชิ ำภำษำซี ง30243 ชั้นมัธยมศกึ ษำปที ี่ 5
ชุดท2ี่ คำสั่งรบั คำ่ และแสดงผล บัตรเน้ือหำท่ี 1 ฟังก์ชันรบั ขอ้ มลู สาหรับบทน้ีจะอธิบายถึงฟังก์ชันพ้ืนฐานสาหรับการเขียนโปรแกรมภาษา C เนื่องจากภาษา C มีฟังก์ชันให้ใช้งานมากมายแตใ่ นบทนี้จะกล่าวถึงฟังก์ชนั พ้ืนฐานที่ใชง้ านอยู่เป็นประจาในการเขียนโปรแกรมนนั้คือ ฟังก์ชันรับข้อมูลและฟงั ก์ชันแสดงผลข้อมลู โดยแตล่ ะฟังก์ชันมีรายละเอยี ดดงั ต่อไปนี้ ฟงั กช์ นั scanf( ) เปน็ ฟงั ก์ชนั ท่ีใช้ในการรับขอ้ มูล จากคยี ์บอร์ดเข้าไปเก็บไวใ้ นตัวแปรท่ีกาหนดไว โ้ ดยสามารถรับข้อมลูทีเ่ ป็นตวั เลขจานวนเต็ม ตวั เลขทศนิยม ตวั อักขระตัวเดียว หรือข้อความกไ็ ด้ รปู แบบกำรใช้งำนฟังก์ชนั scanf(control string, argument list); โดยที่ control string คือ รหสั รูปแบบข้อมูล (format code) โดยจะตอ้ งเขยี นอยู่ภายใต้เคร่ืองหมาย “……..” (double quotation) argument list คือ ชื่อตวั แปรท่ีใชเ้ ก็บข้อมลู โดยจะต้องใช้เครอ่ื งหมาย & (ampersand) นาหน้าชอื่ ตวั แปร ยกเว้นตวั แปรชนิด string ไม่ตอ้ งมีเคร่อื งหมาย & นาหนา้ ชอ่ื ถา้ มีตวั แปรมากกว่า 1 ตัวแปรใหใ้ ช้เคร่ืองหมาย , (comma) คน่ั ระหวา่ งตัวแปรแต่ละตัวชดุ กิจกรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 10รำยวชิ ำภำษำซี ง30243 ชนั้ มธั ยมศกึ ษำปที ่ี 5
ชุดท2ี่ คำส่ังรบั ค่ำและแสดงผลตำรำงท่ี 3.1 แสดงรหัสแบบขอ้ มูล ทีส่ ามารถใช้ในฟงั ก์ชัน scanf( ) รหัสรปู แบบ ควำมหมำย(format code)%c ใชก้ บั ขอ้ มลู ชนดิ ตวั อักขระตัวเดียว (single character : char)%d ใช้กบั ข้อมูลชนิดตัวเลขจานวนเต็ม (integer : int) โดยสามารถใช้กับ ตวั เลขฐาน 10 เทา่ นน้ั%e ใชก้ บั ข้อมูลชนดิ ตัวเลขจุดทศนิยม (floating point : float)%f, %lf ใช้กบั ข้อมลู ชนิด float และ double ตามลาดับ%g ใชก้ ับขอ้ มูลชนดิ float%h ใช้กับขอ้ มลู ชนิด short integer%l ใช้กบั ขอ้ มูลชนดิ int โดยใชก้ ับตัวเลขฐาน 8, ฐาน 10 และฐาน 16%o ใชก้ บั ขอ้ มูลชนิด int โดยสามารถใช้กบั ตวั เลขฐาน 8 เท่านน้ั%u ใชก้ ับข้อมูลชนิด unsigned int โดยใช้กบั ตัวเลขฐาน 10 เท่านั้น%x ใช้กบั ขอ้ มูลชนิด int โดยสามารถใชก้ บั ตัวเลขฐาน 16 เท่านนั้%s ใช้กบั ขอ้ มูลชนดิ string เพอ่ื ใหเ้ กิดความเขา้ ใจการใชง้ านฟงั ก์ชนั scanf( ) ไดด้ ียง่ิ ข้ึนควรศกึ ษาโปรแกรมตวั อย่างที่ 3.1,3.2 และ 3.3 ดงั ตอ่ ไปน้ีโปรแกรมตวั อยำ่ งที่ 3.1 แสดงโปรแกรมการใชฟ้ ังก์ชนั scanf( ) ในการรบั ข้อมูลจากคยี ์บอร์ดเข้าไปเก็บไวใ้ นตวั แปรชนดิ จานวนเต็ม/* scanf1.c */#include<stdio.h>void main(void) /* บรรทดั ท่ี 1 */{ /* บรรทดั ที่ 2 */ /* บรรทดั ท่ี 3 */ int a; /* บรรทัดที่ 4 */ scanf(\"%d\", &a); /* บรรทัดที่ 5 */} /* บรรทัดท่ี 6 */ชดุ กจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 11รำยวิชำภำษำซี ง30243 ช้ันมัธยมศึกษำปีท่ี 5
ชดุ ท2ี่ คำสัง่ รับค่ำและแสดงผล ผลลพั ธท์ ไ่ี ดจ้ ำกโปรแกรม หน้าจอวา่ ง ๆ มีเคอร์เซอรก์ ระพริบเพื่อรอ รบั ข้อมลู จากคีย์บอรด์ (ขอ้ มลู ที่ตอ้ งการนั้นเปน็ จานวนเต็ม เพอ่ื นาไปเกบ็ ไว้ทตี่ วั แปร a) ซึ่งผ้ใู ช้ ควรเตมิ ขอ้ มลู ตัวเลขจานวนเตม็ เพ่อื ให้สัมพันธก์ ับชนิดของตัวแปร คำอธบิ ำยโปรแกรมจากโปรแกรมตวั อย่างที่ 3.1 สามารถอธิบายการทางานของโปรแกรมท่สี าคัญ ๆ ได้ดังน้ีบรรทดั ท่ี 1 เป็นคาสงั่ เรียกแฟ้มทช่ี อ่ื ว่า stdio.h ซง่ึ ภายในจะบรรจุคาส่ังหรือฟังกช์ นั ท่ีจาเปน็ ตอ้ ง ใช้ในภาษา C เช่น printf( )บรรทัดที่ 2 เปน็ ฟังกช์ นั หลักของโปรแกรม และบอกให้ C compiler รูว้ า่ ฟังกช์ นั main( ) ไม่มกี ารสง่ คา่ ข้อมูลและไม่มกี ารรบั ค่าข้อมลู กลบับรรทัดท่ี 3 เป็นการแสดงจุดเร่มิ ตน้ ของฟังกช์ ัน main( )บรรทดั ท่ี 4 เป็นการประกาศตวั แปรชอ่ื a เป็นชนดิ จานวนเตม็ หรอื intบรรทัดท่ี 5 ฟงั กช์ ัน scanf( ) เพือ่ รอรับข้อมูลจากคยี บ์ อร์ดเข้าไปเกบ็ ไว้ในตวั แปร a ซง่ึ เป็นชนิด จานวนเตม็บรรทัดท่ี 6 เป็นการแสดงจุดส้นิ สุดของฟังก์ชนั main( )ชุดกิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 12รำยวิชำภำษำซี ง30243 ชนั้ มัธยมศกึ ษำปีที่ 5
ชดุ ท2ี่ คำส่ังรับคำ่ และแสดงผลโปรแกรมตัวอยำ่ งที่ 3.2 แสดงโปรแกรมกำรใช้ฟังก์ชัน scanf( ) ในกำรรบั ข้อมูลจำกคยี บ์ อรด์ เข้ำไปเก็บไว้ในตวั แปรชนดิ จำนวนเตม็ และนำคำ่ ของตัวแปรออกแสดงผลทจ่ี อภำพ/* scanf2.c */#include<stdio.h> /* บรรทัดท่ี 1 */void main(void) /* บรรทัดท่ี 2 */{ /* บรรทดั ท่ี 3 */int a; /* บรรทดั ที่ 4 */scanf(\"%d\", &a); /* บรรทัดท่ี 5 */printf(\"Your enter is ...%d\", a); /* บรรทัดที่ 6 */} /* บรรทดั ที่ 7 */ ผลลัพธท์ ่ไี ดจ้ ำกโปรแกรม 13 50 Your enter is …50 คำอธิบำยโปรแกรมในโปรแกรมตัวอย่างท่ี 3.2 โปรแกรมจะรบั ข้อมลู จากคียบ์ อร์ดท่เี ป็นชนดิ จานวนเตม็ เกบ็ ไว้ในตวั แปรและนาคา่ ของตัวแปรแสดงผลออกจอภาพด้วยคาสัง่ บรรทัดที่ 6 คือprintf(“Your enter is…%d”, a); จดุ ประสงค์ของกำรวเิ ครำะห์งำน ในการวเิ คราะหง์ านแต่ละอย่างมจี ุดประสงคข์ องการวเิ คราะหง์ านทส่ี าคญั ดังน้ี 1. เพอ่ื หาวตั ถุประสงค์ของการเขยี นโปรแกรม 2. เพือ่ หารูปแบบผลลัพธ์ทีต่ ้องการ ชดุ กิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ รำยวิชำภำษำซี ง30243 ชน้ั มัธยมศกึ ษำปีที่ 5
ชุดท2่ี คำส่งั รบั ค่ำและแสดงผลโปรแกรมตวั อย่ำงที่ 3.2 แสดงโปรแกรมกำรใช้ฟงั ก์ชนั scanf( ) ในกำรรับข้อมูลจำกคียบ์ อรด์ เข้ำไปเกบ็ ไวใ้ นตัวแปรชนิดจำนวนเตม็ และนำค่ำของตัวแปรออกแสดงผลทจ่ี อภำพ/* scanf2.c */#include<stdio.h> /* บรรทดั ที่ 1 */void main(void) /* บรรทดั ที่ 2 */{ /* บรรทัดที่ 3 */int a; /* บรรทดั ที่ 4 */scanf(\"%d\", &a); /* บรรทัดท่ี 5 */printf(\"Your enter is ...%d\", a); /* บรรทดั ท่ี 6 */} /* บรรทดั ที่ 7 */ ผลลัพธท์ ไ่ี ด้จำกโปรแกรม 50 Your enter is …50 คำอธบิ ำยโปรแกรมในโปรแกรมตวั อย่างท่ี 3.2 โปรแกรมจะรบั ข้อมูลจากคยี ์บอรด์ ที่เปน็ ชนิดจานวนเตม็ เกบ็ ไวใ้ นตวั แปรและนาค่าของตัวแปรแสดงผลออกจอภาพด้วยคาสง่ั บรรทัดที่ 6 คือprintf(“Your enter is…%d”, a);ชุดกิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 14รำยวชิ ำภำษำซี ง30243 ช้นั มธั ยมศกึ ษำปีที่ 5
ชุดท2ี่ คำสงั่ รับค่ำและแสดงผลโปรแกรมตัวอยำ่ งที่ 3.3 แสดงโปรแกรมการใช้ฟังก์ชัน scanf( ) ในการรับข้อมูลจากคยี ์บอร์ดเข้าไปเก็บไวใ้ นตวั แปรชนดิ ตวั อักษร เลขจานวนเต็ม และเลขทศนยิ ม และนาคา่ ของตวั แปรออกแสดงผลท่ีจอภาพ /* scanf3.c */#include<stdio.h> /* บรรทัดที่ 1 */#include<conio.h> /* บรรทดั ที่ 2 */void main(void) /* บรรทดั ท่ี 3 */{ char name[50]; /* บรรทดั ท่ี 4 */ int age; /* บรรทัดท่ี 5 */ float weight, height; /* บรรทัดที่ 6 */ clrscr( ); /* บรรทดั ที่ 7 */ printf(\"Enter your Name and Age: \"); /* บรรทดั ที่ 8 */ scanf(\"%s %d\", name, &age); /* บรรทัดที่ 9 */ printf(\"Enter your Weight and Height : \"); /* บรรทัดที่ 10 */ scanf(\"%f %f\", &weight, &height); /* บรรทัดที่ 10 */ printf(\"\nYour name is ...%s.\n\",name); /* บรรทัดที่ 11 */ printf(\"You are %d years old.\n\",age); /* บรรทัดท่ี 13 */ printf(\"Your weight is ...%f kg.\n\",weight); /* บรรทดั ท่ี 14 */ printf(\"Your height is ...%f cm.\n\",height); /* บรรทัดท่ี 15 */} ผลลัพธ์ทไี่ ดจ้ ำกโปรแกรม 15 Enter your Name and Age: KANNIKAR 25 Enter your Weight and Height : 160.5 55.5 Your name is ... KANNIKAR You are 25 years old. Your weight is ... 55.500000 kg. Your height is ... 160.500000 cm.ชดุ กจิ กรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์รำยวชิ ำภำษำซี ง30243 ชั้นมธั ยมศกึ ษำปที ี่ 5
ชุดท2่ี คำสงั่ รบั คำ่ และแสดงผล คำอธบิ ำยโปรแกรม จากโปรแกรมตัวอยา่ งท่ี 3.3 สามารถอธิบายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดังต่อไปน้ีบรรทัดท่ี 4 เป็นการชดุ ชนดิ char ซงึ่ จองไว้ 50 ตวั อักษร (เรอ่ื งตวั แปรชุดได้อธิบาย รายละเอยี ดไวใ้ นบทที่ 5)บรรทดั ที่ 7 ฟังก์ชนั clrscr( ) ใช้ลบข้อความใด ๆ ออกจากจอภาพ ซึ่งจะเรยี กใช้งานควบคู่กบั แฟ้มทชี่ ือ่ conio.h ดงั น้นั กอ่ นฟังกช์ ัน main( ) จงึ ต้องเรียกใช้ #include <conio.h> กอ่ น (บรรทัดท่ี 2)บรรทัดที่ 8 จะแสดงขอ้ ความและรอรับค่า Name และ Age จากผู้ใช้ ดงั นั้นเวลาเติมข้อมูลให้ เว้นช่องวา่ งอยา่ งน้อย 1 ช่อง เพ่ือแยกข้อมลู Name กบั Ageบรรทัดที่ 9 จะรบั ข้อมลู จากคยี ์บอร์ด 2 คา่ มาเก็บไว้ในตวั แปร name เปน็ ขอ้ ความ และเก็บ ในตวั แปร age เปน็ ตวั เลขจานวนเต็มบรรทดั ที่ 10 จะทางานคล้ายกบั บรรทดั ที่ 8 แต่จะรบั ข้อมลู ที่เป็นตัวเลขทศนิยมบรรทัดที่ 11 – 15 จะนาข้อมลู ท่ีเกบ็ ไวใ้ นตัวแปรต่าง ๆ ออกมาแสดงผลท่ีจอภาพตามรหสั รปู แบบขอ้ มลู ตา่ ง ๆ ฟังกช์ ัน getchar( ) เป็นฟังก์ชันท่ีใช้รับข้อมูลจากคีย์บอร์ดเพียง 1 ตัวอักขระ โดยการรับข้อมูลของฟังก์ชันนี้จะต้องกดแป้น enter ทกุ ครง้ั ท่ีปอ้ นข้อมูลเสรจ็ จึงทาให้เห็นข้อมูลที่ป้อนปรากฏบนจอภาพด้วย ถา้ ตอ้ งการนาข้อมูลท่ีป้อนผ่านทางคีย์บอร์ดไปใช้งานจะต้องกาหนดตัวแปรชนิด single character (char) ขึ้นมา 1 ตัวเพ่ือเก็บค่าข้อมูลท่ีรับผ่านทางคีย์บอร์ด ในทางตรงกันข้ามถ้าไม่ต้องการใช้ข้อมูลท่ีป้อนผ่านทางคีย์บอร์ดก็ไม่ต้องกาหนดตัวแปรชนิด char ขน้ึ มา รูปแบบกำรใช้งำนฟงั ก์ชนั getchar( ); หรือ char_var = getchar( );ชุดกจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 16รำยวิชำภำษำซี ง30243 ชน้ั มธั ยมศึกษำปีที่ 5
ชดุ ท2่ี คำสง่ั รบั คำ่ และแสดงผลโดยที่ getchar( ) คือ ฟังกช์ นั ท่ใี ช้รบั ข้อมูลเพยี ง 1 ตัวอักขระจากคียบ์ อร์ด โดยฟังกช์ นั นี้จะไม่มี argument ซึ่งอาจจะใช้ getchar(void) แทนคาว่า getchar( ) กไ็ ด้ แตน่ ยิ มใช้ getchar( ) มากกว่า char_var คอื ตวั แปรชนดิ char ซ่ึงจะเก็บขอ้ มลู 1 ตวั อักขระที่ป้อนผา่ นทางคยี ์บอรด์ เพ่อื ให้เกดิ ความเข้าใจการใชง้ านฟงั ก์ชัน getchar( ) ได้ดียงิ่ ขึน้ ควรศกึ ษาโปรแกรมตัวอยา่ งท่ี 3.4 ดังตอ่ ไปนี้โปรแกรมตวั อยำ่ งที่ 3.4 แสดงโปรแกรมการใชฟ้ ังก์ชนั getchar( )/* getchar1.c */#include<stdio.h> /* บรรทดั ที่ 1 */#include<conio.h> /* บรรทัดที่ 2 */void main(void) /* บรรทัดที่ 3 */{ /* บรรทดั ท่ี 4 */char cha; /* บรรทดั ที่ 5 */clrscr( ); /* บรรทดั ท่ี 6 */printf(\"Enter a single character : \"); /* บรรทัดที่ 7 */cha = getchar( ); /* บรรทัดท่ี 8 */printf(\"You type a character is ...%c \n\",cha); /* บรรทัดที่ 9 */} /* บรรทัดที่ 10 */ ผลลัพธ์ทไ่ี ดจ้ ำกโปรแกรม Enter a single character : k You type a character is ...kชุดกจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 17รำยวชิ ำภำษำซี ง30243 ชัน้ มัธยมศึกษำปที ี่ 5
ชดุ ท2ี่ คำสัง่ รับคำ่ และแสดงผล คำอธิบำยโปรแกรม จากโปรแกรมตวั อย่างที่ 3.4 สามารถอธบิ ายการทางานของโปรแกรมที่สาคญั ๆ ไดด้ งั ต่อไปนี้บรรทดั ที่ 1 เรยี กใชแ้ ฟ้มท่ชี ื่อ stdio.h ซ่ึงในโปรแกรมนี้จะใชค้ ู่กับฟังก์ชัน printf( ) ในบรรทดั ที่ 7 และ 9บรรทดั ที่ 2 เรยี กใช้แฟ้มทชี่ ่ือ conio.h ซึ่งใชค้ ู่กบั ฟังก์ชัน clrscr( ) เพอ่ื ลบขอ้ มลู ทจี่ อภาพใน บรรทัดท่ี 6บรรทดั ที่ 5 ประกาศตวั แปรชือ่ cha เปน็ ชนดิ ตัวอกั ขระ หรอื charบรรทัดท่ี 8 รบั ข้อมลู 1 ตวั อักขระจากคียบ์ อรด์ แลว้ นาคา่ ทร่ี ับมาเกบ็ ไว้ในตวั แปร chaบรรทัดท่ี 9 นาข้อมลู ทเ่ี กบ็ ในตัวแปร cha มาแสดงตรงตาแหนง่ %c และขึน้ บรรทัด ใหม่ (\n คือ new line)ฟังกช์ นั getch( ) เปน็ ฟังก์ชนั ท่ีใชร้ บั ขอ้ มูลเพยี ง 1 ตวั อกั ขระเหมอื นกบั ฟังก์ชัน getchar( ) แตกตา่ งกนั ตรงท่ีเม่อื ใช้ฟงั ก์ชนั นรี้ ับข้อมลู ข้อมลู ทีป่ อ้ นเข้าไปจะไม่ปรากฏใหเ้ ห็นบนจอภาพและไม่ต้องกดแปน้ enter ตาม รูปแบบกำรใช้งำนฟังก์ชนั getch( ); หรือ char_var = getch( );โดยที่ getch( ) คือ ฟังก์ชันท่ีใช้รับข้อมูลเพียง 1 ตัวอักขระจากคีย์บอร์ด โดยฟังก์ชันน้ีจะไม่มี argument ดังนนั้ อาจจะใช้ getch(void) แทนคาวา่ getch( ) กไ็ ด้แตน่ ยิ มใช้ getch( ) มากกวา่ char_var คอื ตัวแปรชนิด char ซงึ่ จะเก็บขอ้ มูล 1 ตัวอกั ขระที่ปอ้ นผ่านทางคีย์บอร์ดเพือ่ ให้เกิดความเขา้ ใจการใชง้ านฟงั ก์ชนั getch( ) ไดด้ ียง่ิ ข้ึนควรศึกษาโปรแกรมตัวอยา่ งท่ี 3.5 ดังตอ่ ไปน้ีชดุ กิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 18รำยวิชำภำษำซี ง30243 ชัน้ มธั ยมศึกษำปีท่ี 5
ชุดท2่ี คำส่งั รบั ค่ำและแสดงผล โปรแกรมตวั อยำ่ งที่ 3.5 แสดงโปรแกรมการใชฟ้ ังก์ชัน getch( )/* getch1.c */#include<stdio.h> /* บรรทัดที่ 1 */#include<conio.h> /* บรรทดั ที่ 2 */void main(void) /* บรรทัดท่ี 3 */{ /* บรรทัดที่ 4 */ char ch; /* บรรทัดที่ 5 */ clrscr( ); /* บรรทดั ท่ี 6 */ printf(\"Enter a single character : \"); /* บรรทัดท่ี 7 */ ch = getch( ); /* บรรทัดที่ 8 */ printf(\"\nYou type a character is ...%c \n\",ch); /* บรรทดั ที่ 9 */ getch( ); /* บรรทัดท่ี 10 */} ผลลพั ธท์ ไ่ี ด้จำกโปรแกรม Enter a single character : You type a character is ...p คำอธบิ ำยโปรแกรม 19การทางานของโปรแกรมตวั อย่างท่ี 3.5 จะคล้ายกับโปรแกรมตัวอย่างที่ 3.4 ต่างกันตรงคาสงั่ บรรทัดท่ี 8 จะเป็นการใช้ฟังก์ชัน getch( ) คือ ch = getch( ); ให้นาค่าท่ีรับมาเก็บไว้ในตัวแปร ch ซึ่งเวลาเรารับข้อมูลจากคยี ์บอร์ดจะไม่ปรากฎข้อมลู ท่เี ราป้อนเขา้ ไปให้เหน็ บนจอภาพ และไมต่ ้องกด enter ตาม โปรแกรมกจ็ ะไปทางานคาสั่งบรรทัดที่ 9 คือ นาข้อมูลท่ีเก็บในตัวแปร ch มาแสดงตรงตาแหน่ง %c และข้ึนบรรทัดใหม่ ส่วนคาส่ังบรรทัดท่ี 10 ฟังก์ชัน getche( ); โปรแกรมก็จะหยุดรอรับค่าใด ๆ จากคีย์บอร์ด เช่น เรากด enter ก็จะกลบั เขา้ สโู่ ปรแกรมบรรทัดท่ี 8 รบั ข้อมลู 1 ตวั อักขระจากคียบ์ อร์ด แล้วนาคา่ ทรี่ บั มาเกบ็ ไว้ในตัวแปร cha บรรทัดที่ 9 นาข้อมูลท่ีเก็บในตัวแปร cha มาแสดงตรงตาแหน่ง %c และขึ้นบรรทัดใหม่ (\n คอื new line) ชดุ กิจกรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ รำยวิชำภำษำซี ง30243 ช้นั มธั ยมศกึ ษำปีท่ี 5
ชดุ ท2ี่ คำสั่งรบั ค่ำและแสดงผล ฟังกช์ ัน getche( ) เปน็ ฟงั กช์ ันท่ีใชร้ ับข้อมลู จากคีย์บอร์ดเพยี ง 1 ตวั อักขระ เหมอื นฟังกช์ นั getch( ) แตกตา่ งกนั ตรงที่ข้อมลู ท่ีป้อนเข้าไป จะปรากฏให้เห็นบนจอภาพดว้ ย นอกน้ันมีการทางาน และลักษณะการใช้งานเหมอื นฟงั กช์ นั getch( ) ทุกประการ รปู แบบกำรใชง้ ำนฟังกช์ ัน getche( ); หรอื char_var = getche( );โดยท่ี getche( ) คือ ฟังก์ชนั ท่ีใช้รับขอ้ มูลเพยี ง 1 ตัวอักขระจากคยี บ์ อร์ด โดยฟงั ก์ชันนี้จะไม่มี argument ดังนัน้ อาจจะใช้ getche(void) แทนคาวา่ getche( ) กไ็ ด้แตน่ ิยมใช้ getche( ) มากกว่า char_var คอื ตัวแปรชนิด char ซ่ึงจะเกบ็ ข้อมลู 1 ตัวอักขระท่ปี ้อนผ่านทางคีย์บอรด์ เพอ่ื ใหเ้ กิดความเขา้ ใจการใช้งานฟงั กช์ ัน getche( ) ไดด้ ยี ง่ิ ข้ึนควรศึกษาโปรแกรมตัวอยา่ งท่ี 3.6 ดงั ต่อไปน้ีชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 20รำยวิชำภำษำซี ง30243 ชน้ั มัธยมศึกษำปีท่ี 5
ชดุ ท2่ี คำส่ังรบั ค่ำและแสดงผลโปรแกรมตวั อย่ำงที่ 3.6 แสดงโปรแกรมการใช้ฟังก์ชนั getche( )/* getche1.c */#include<stdio.h> /* บรรทดั ท่ี 1 */#include<conio.h> /* บรรทัดที่ 2 */void main(void) /* บรรทัดที่ 3 */{ /* บรรทดั ที่ 4 */char e; /* บรรทัดที่ 5 */clrscr( ); /* บรรทดั ที่ 6 */printf(\"Enter a single character : \"); /* บรรทดั ท่ี 7 */e = getche( ); /* บรรทัดที่ 8 */printf(\"\nYou type a character is ...%c \n\",e); /* บรรทัดที่ 9 */getch( ); /* บรรทดั ที่ 10 */} /* บรรทัดที่ 11 */ ผลลพั ธท์ ่ีได้จำกโปรแกรม Enter a single character : r You type a character is ...r คำอธิบำยโปรแกรม การทางานของโปรแกรมตัวอย่างที่ 3.6 จะคล้ายกับโปรแกรมตัวอย่างที่ 3.5 ต่างกันตรงคาส่ังบรรทัดท่ี 8 จะเปน็ การใชง้ านฟงั ก์ชัน getche( ) คอื e = getche( ); คาสั่งน้ใี หน้ าคา่ ทีร่ ับมาเก็บไว้ในตวั แปร e ซง่ึข้อมูลที่เติมเข้าไปจะปรากฎให้เห็นบนจอภาพด้วย แต่ไม่ต้องกด enter ตาม โปรแกรมก็จะไปทางานคาสั่งบรรทัดที่ 9 คือ นาข้อมูลที่เกบ็ ในตวั แปร e มาแสดงตรงตาแหน่ง %c และขึ้นบรรทดั ใหม่ สว่ นคาส่ังบรรทัดท่ี 10 getch( ); โปรแกรมก็จะหยดุ รอรบั ค่าใด ๆ จากคยี ์บอร์ด เช่น เรากด enter ก็จะกลบั เข้าสโู่ ปรแกรมชุดกิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 21รำยวชิ ำภำษำซี ง30243 ช้นั มธั ยมศึกษำปที ี่ 5
ชุดท2่ี คำสัง่ รับค่ำและแสดงผล ฟังก์ชัน gets( ) เปน็ ฟงั กช์ นั ท่ใี ชร้ ับขอ้ มูลชนิดขอ้ ความ (string) จากคยี ์บอร์ด จากนั้นนาขอ้ มูลทีร่ ับเข้าไปเกบ็ ไวใ้ นตวั แปรสตริง (string variables) ทก่ี าหนดไว้ รูปแบบกำรใช้งำนฟงั ก์ชนั gets(string_var);โดยที่ string_var คอื ตัวแปรสตริง ซงึ่ จะใชเ้ กบ็ ข้อมลู ชนิดขอ้ ความ (string constant) gets( ) คือ ฟงั ก์ชนั ท่ใี ชร้ ับขอ้ ความจากคีย์บอรด์ แลว้ ไปเกบ็ ไวใ้ นตัวแปรสตรงิ เพือ่ ใหเ้ กดิ ความเขา้ ใจการใชง้ านฟังก์ชัน getche( ) ได้ดยี ิ่งขึ้นควรศกึ ษาโปรแกรมตัวอย่างที่ 3.7 ดังตอ่ ไปน้ีโปรแกรมตัวอยำ่ งท่ี 3.7 แสดงโปรแกรมการใชฟ้ งั ก์ชัน gets( )/* gets1.c /#include<stdio.h> /* บรรทัดท่ี 1 */#include<conio.h> /* บรรทดั ท่ี 2 */void main(void) /* บรรทดั ที่ 3 */{ /* บรรทัดที่ 4 */char pro[50]; /* บรรทัดท่ี 5 */clrscr( ); /* บรรทัดที่ 6 */printf(\"Enter your province : \"); /* บรรทดั ที่ 7 */gets(pro); /* บรรทดั ที่ 8 */printf(\"Your province is ...%s\n\", pro); /* บรรทัดที่ 9 */getch( ); /* บรรทดั ที่ 10 */} /* บรรทัดที่ 11 */ชดุ กิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 22รำยวิชำภำษำซี ง30243 ชน้ั มัธยมศึกษำปที ี่ 5
ชดุ ท2ี่ คำสั่งรบั ค่ำและแสดงผล ผลลพั ธท์ ่ีได้จำกโปรแกรม Enter your province : Ratchaburi Your province is ... Ratchaburi คำอธิบำยโปรแกรม โปรแกรมตัวอย่างท่ี 3.7 เป็นโปรแกรมท่ีรอรับการเติมช่ือจังหวัด แล้วนาไปเก็บไว้ในตัวแปร proด้วยคาสั่งบรรทัดท่ี 8 คือ gets(pro); แล้วนาค่าที่เก็บไว้ในตัวแปร pro ออกมาแสดงตรงตาแหน่ง %sและข้ึนบรรทัดใหม่ ส่วนคาส่ังบรรทัดท่ี 10 getch( ); โปรแกรมก็จะหยุดรอรับค่าใด ๆ จากคีย์บอร์ด เช่นเรากด enter ก็จะกลบั เขา้ สโู่ ปรแกรมสรุปข้อแนะนำกำรใชฟ้ งั ก์ชันรบั ขอ้ มูล (input functions) - เมื่อต้องการรับค่าข้อมูล string ควรใชฟ้ งั ก์ชัน gets( ) หรือ scanf( ) - เมือ่ ต้องการรับตวั เลขหรือตัวอกั ษรเพียง 1 ตวั ที่ไม่ต้องการเหน็ บนจอภาพ และไม่ตอ้ งกดแปน้ enter ควรใชฟ้ ังก์ชนั getch( ) แต่ถา้ ต้องการเห็นบนจอภาพด้วยควรใช้ฟังกช์ ัน getche( ) - เมื่อตอ้ งการรับข้อมลู ตวั เลขท่มี ากกวา่ 1 ตวั เช่น ตัวเลขจานวนเตม็ หรือตัวเลขทศนิยม ควรใช้ฟังกช์ ัน scanf( ) - กรณที ่ีใช้ฟังกช์ นั scanf( ) รบั ข้อมลู ตดิ ต่อกนั มากกว่า 2 ครงั้ อาจเกิดความผดิ พลาดในการรับข้อมลู ดงั น้นั จงึ ควรใช้คาสง่ั ch = getchar( ); คั่นกอ่ นท่ีจะรับข้อมูลครง้ั ที่ 3 โดยจะตอ้ งมีคาส่ังประกาศตัวแปร char ch; ไวด้ ว้ ยชุดกจิ กรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 23รำยวชิ ำภำษำซี ง30243 ชน้ั มัธยมศกึ ษำปีที่ 5
ชดุ ท2่ี คำสั่งรบั คำ่ และแสดงผล บตั รกจิ กรรมกำรเรยี นรทู้ ่ี 1 10เรอ่ื งฟงั ก์ชนั รบั ขอ้ มูล (input functions)1. ใหน้ ักเรียนอธิบาย อักขระควบคมุ รปู แบบการแสดงผล ในขอ้ ดงั ต่อไปน้ี 1. %d …………………………………………………………………………………………………………. 2. %u …………………………………………………………………………………………………………. 3. %o …………………………………………………………………………………………………………. 4. %x …………………………………………………………………………………………………………. 5. %f …………………………………………………………………………………………………………. 6. %e …………………………………………………………………………………………………………. 7. %c …………………………………………………………………………………………………………. 8. %s …………………………………………………………………………………………………………. 9. %p …………………………………………………………………………………………………………. 10. %l ………………………………………………………………………………………………………….ชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 24รำยวชิ ำภำษำซี ง30243 ช้นั มัธยมศึกษำปีที่ 5
ชุดท2่ี คำสงั่ รับค่ำและแสดงผล บัตรกิจกรรมกำรเรยี นรทู้ ่ี 1 10เร่ืองฟงั กช์ ันรบั ข้อมูล (input functions)2. ใหน้ กั เรียนพิมพ์โปแกรมที่กาหนดให้ดังนี้#include <stdio.h> /* 1 */Main() /* 2 */{ /* 3 */int width, length, RecArea; /* 4 */printf(“Input width :”); /* 5 */scanf(“%d”,&width); /* 6 */printf(“\n Input length :”); /* 7 */scanf(“%d”,&length); /* 8 */RecArea=width*length; /* 9 */printf(“\n Area of rectangle is %5d \n”,RecArea); /* 10 */} /* 11 */ให้นักเรียนรันโปรแกรมแล้วตอบคาถามต่อไปนี้ (กาหนดค่า width=5, length=6)2.1 เขยี นผลลพั ธท์ ่ีไดจ้ ากการรนั โปรแกรม…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….2.2 คาส่ังใดในโปรแกรมท่ีทาหนา้ ท่รี ับข้อมูลจากผใู้ ช้โดยป้อนผา่ นแป้นพิมพ์…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….2.3 จากคาส่ังในบรรทัดท่ี 10 ให้อธบิ ายผลของการใช้รูปแบบควบคุม %5d…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….ชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 25รำยวชิ ำภำษำซี ง30243 ชนั้ มัธยมศึกษำปที ี่ 5
ชุดท2่ี คำสั่งรับค่ำและแสดงผล บัตรเน้อื หำท่ี 2 ฟังกช์ นั แสดงผลขอ้ มูล ในเน้ือหาฟังก์ชันการแสดงผลข้อมูลของภาษา C มีฟังก์ชันที่ใช้ในการแสดงผลลัพธ์ออกทางจอภาพอยู่หลายฟังก์ชันที่จะกล่าวถึง ดังนี้คือ ฟังก์ชัน printf( ), ฟังก์ชัน putchar( ) และฟังก์ชัน puts( ) ซ่ึงแต่ละฟังกช์ นั มีรายละเอยี ดของการใช้งานดังน้ี ฟงั กช์ ัน printf( ) เปน็ ฟงั กช์ ันที่ใช้รบั ข้อมูลชนดิ ข้อความ (string) จากคยี ์บอร์ด จากนั้นนาข้อมลู ทรี่ ับเขา้ ไปเก็บไวใ้ นตัวแปรสตรงิ (string variables) ท่กี าหนดไว้ รปู แบบกำรใช้งำนฟงั กช์ นั printf(control string, argument list);โดยท่ี control string คือ รหัสรปู แบบข้อมลู ทใ่ี ชใ้ นการพิมพผ์ ลลพั ธใ์ ชร้ หัสเหมือนฟังกช์ นั scanf( ) และในฟงั กช์ นั printf( ) นีย้ ังสามารถใชร้ หสั ควบคุมเพ่ือชว่ ยจัดรปู แบบการพมิ พ์ผลลัพธใ์ หส้ วยงาม ขน้ึ โดยที่ control string จะต้องเขียนอยภู่ ายใตเ้ คร่ืองหมาย “………” (double quotation) เช่นเดียวกับฟงั ก์ชัน scanf( ) argument list คอื ค่าคงท่ี หรอื ตวั แปร หรือนิพจน์ ในกรณที ี่มีค่าคงที่ ตวั แปร หรือนิพจน์ หลาย ๆ ค่าใหใ้ ช้เคร่ืองหมาย , (comma) คนั่ ระหว่างคา่ คงท่ี ตัวแปร หรอื นพิ จน์แตล่ ะค่าชดุ กิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 26รำยวชิ ำภำษำซี ง30243 ชั้นมัธยมศกึ ษำปที ี่ 5
ชดุ ท2่ี คำสัง่ รบั ค่ำและแสดงผลตำรำงท่ี 3.2 แสดงรหัสรูปแบบขอ้ มูลท่ีสามารถใช้ในฟังก์ชัน printf( ) รหัสรปู แบบ ควำมหมำย(format code) ใชก้ ับขอ้ มลู ชนดิ ตัวอักขระตัวเดียว (single character : char) %c ใช้กบั ข้อมลู ชนิดตวั เลขจานวนเตม็ (integer : int) โดยสามารถใช้กับ %d ตวั เลขฐาน 10 เทา่ น้ัน ใชก้ บั ขอ้ มูลชนิดตัวเลขจดุ ทศนิยม (floating point : float) %e ใช้กับขอ้ มลู ชนิด float และ double ตามลาดับ %f, %lf ใช้กบั ขอ้ มูลชนิด float ใชก้ บั ขอ้ มลู ชนดิ short integer %g ใชก้ บั ขอ้ มลู ชนดิ int โดยใชก้ ับตวั เลขฐาน 8, ฐาน 10 และฐาน 16 %h ใช้กับขอ้ มูลชนิด int โดยสามารถใชก้ ับตวั เลขฐาน 8 เท่านน้ั %l ใชก้ ับข้อมลู ชนดิ unsigned int โดยใชก้ ับตวั เลขฐาน 10 เทา่ น้นั %o ใช้กับขอ้ มลู ชนิด int โดยสามารถใช้กับตัวเลขฐาน 16 เท่านัน้ %u ใช้แสดงข้อมลู ชนดิ string %x ใช้แสดงคา่ address ของตัวแปรพอยน์ เตอร์ %s %pตำรำงที่ 3.3 แสดงรหสั ควบคุมข้อมลู ทส่ี ามารถใชใ้ นฟังก์ชัน printf( ) รหสั ควบคมุ ควำมหมำย ค่ำ ASCII(control code) Bell 007 \a Backspace 008 \b Horizontal tab 009 \t Newline (line feed) 010 \n Vertical tab 011 \v From feed 012 \f Carriage return 013 \r Quotation mark (“) 034 \” Apostrophe (‘) 039 \’ชดุ กิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 27รำยวชิ ำภำษำซี ง30243 ช้นั มธั ยมศึกษำปที ่ี 5
ชุดท2ี่ คำส่งั รบั ค่ำและแสดงผล รหัสควบคมุ ควำมหมำย คำ่ ASCII (control code)\? Question mark (?) 063\\ Backslash (\) 092\0 Null (ศนู ย)์ 000\ooo Octal number (o) -\xhh Hexadecimal number (h) - เพ่ือใหเ้ กดิ ความเขา้ ใจการใชง้ านฟังก์ชนั printf( ) ได้ดียง่ิ ขน้ึ ควรศกึ ษาโปรแกรมตัวอย่างท่ี 3.8, 3.9และ 3.10 ดังต่อไปนี้ชดุ กจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 28รำยวชิ ำภำษำซี ง30243 ชนั้ มธั ยมศกึ ษำปที ่ี 5
ชุดท2่ี คำสั่งรบั คำ่ และแสดงผลโปรแกรมตวั อย่ำงท่ี 3.8 แสดงโปรแกรมการใชฟ้ งั กช์ นั printf( ) พิมพ์ขอ้ ความออกแสดงทจ่ี อภาพ/* printf1.c */#include<stdio.h> /* บรรทดั ที่ 1 */#include<conio.h> /* บรรทัดที่ 2 */void main(void) /* บรรทดั ท่ี 3 */{ /* บรรทดั ท่ี 4 */clrscr( ); /* บรรทดั ที่ 5 */printf(\"Welcome to Thailand !!!\"); /* บรรทดั ท่ี 6 */getch( ); /* บรรทัดท่ี 7 */} /* บรรทัดท่ี 8 */ ผลลัพธท์ ไ่ี ด้จำกโปรแกรม Welcome to Thailand !!! คำอธบิ ำยโปรแกรมจากโปรแกรมตัวอย่างท่ี 3.8 สามารถอธบิ ายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดงั ตอ่ ไปนี้บรรทดั ที่ 6 คาสงั่ printf(“Welcome to Thailand !!!”); เป็นคาสง่ั ทนี่ าข้อความWelcome to Thailand !!! แสดงทจี่ อภาพ และหยุดรอรบั ค่าใด ๆ จากคยี ์บอร์ดซ่งึ ถ้าเรากด enter ก็จะกลบั ส่โู ปรแกรมชุดกิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 29รำยวชิ ำภำษำซี ง30243 ชนั้ มธั ยมศึกษำปที ี่ 5
ชดุ ท2่ี คำสงั่ รับค่ำและแสดงผลโปรแกรมตัวอยำ่ งท่ี 3.9 แสดงโปรแกรมการใชฟ้ ังกช์ ัน printf( ) ควบคู่กบัรหัสรูปแบบ %c และ %s เพื่อแสดงขอ้ มูลท่จี อภาพ/* printf2.c */#include<stdio.h> /* บรรทัดท่ี 1 */#include<conio.h> /* บรรทัดที่ 2 */void main(void) /* บรรทัดที่ 3 */{ /* บรรทดั ที่ 4 */char ch='A'; /* บรรทดั ที่ 5 */char str[]=\"Computer\"; /* บรรทัดท่ี 6 */clrscr( ); /* บรรทดั ที่ 7 */printf(\"%5c \t\tCHARACTER %s\", ch, str); /* บรรทดั ที่ 8 */getch( ); /* บรรทดั ท่ี 9 */} /* บรรทดั ท่ี 10 */ ผลลพั ธท์ ่ไี ดจ้ ำกโปรแกรม A CHARACTER Computer คำอธบิ ำยโปรแกรม จากโปรแกรมตวั อยา่ งที่ 3.9 สามารถอธิบายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดงั ต่อไปน้ี บรรทดั ที่ 5 ประกาศตวั แปรชนิดอักขระ ชือ่ ch ให้เกบ็ ตวั อกั ษร A บรรทัดท่ี 6 ประกาศตวั แปรชดุ ชนิดอักขระ ชื่อ str ให้เก็บขอ้ ความ Computer บรรทัดที่ 8 ใหน้ าค่าของตวั แปร ch มาแสดงตรงตาแหน่ง %c ก่อนแสดงใหเ้ วน้ ช่องว่าง 5 ช่อง และพบ \t \t คือให้เว้น tab ไป 2 คร้ัง (tab 1 คร้ัง มี 8ช่องว่าง) แล้วค่อยพิมพ์ข้อความ CHARACTER และนาข้อความที่เก็บในตัวแปร str มาแสดงตรงตาแหน่ง%s แล้วหยดุ รอรับคา่ ใด ๆ จากคียบ์ อร์ด ซงึ่ ถา้ เรากด enter ก็จะกลบั ส่โู ปรแกรมชุดกิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 30รำยวชิ ำภำษำซี ง30243 ช้ันมธั ยมศึกษำปที ่ี 5
ชุดท2ี่ คำส่งั รบั คำ่ และแสดงผลโปรแกรมตวั อยำ่ งท่ี 3.10 แสดงโปรแกรมการใช้ฟังก์ชนั printf( ) ควบค่กู บั รหัสรูปแบบ %d,%c, %s และ %f เพือ่ แสดงขอ้ มลู ที่จอภาพ/* printf3.c */#include<stdio.h> /* บรรทดั ท่ี 1 */#include<conio.h> /* บรรทดั ที่ 2 */void main(void) /* บรรทดั ท่ี 3 */{ /* บรรทดั ที่ 4 */int a=5, b=2; /* บรรทัดที่ 5 */char c='D', d='F'; /* บรรทดั ท่ี 6 */char e[20]=\"Thailand\"; /* บรรทดั ที่ 7 */float f = 9.5 , g; /* บรรทัดที่ 8 */clrscr( ); /* บรรทัดที่ 9 */b+=a; d+=5; g = f + 2.5; /* บรรทัดท่ี 10 */printf(\"%5d \t%-5d\n\",a, b); /* บรรทดั ที่ 11 */printf(\"%3c \t%-3c\n\",c--, ++d); /* บรรทัดที่ 12 */printf(\"%s\n\",e); /* บรรทัดท่ี 13 */printf(\"%.3f \t%-.3f\n\", f+2, g); /* บรรทดั ท่ี 14 */getch( ); /* บรรทัดท่ี 15 */} /* บรรทัดที่ 16 */ ผลลพั ธ์ทีไ่ ด้จำกโปรแกรม 57 Dl Thailand 11.500 12.000ชุดกจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 31รำยวชิ ำภำษำซี ง30243 ชน้ั มัธยมศึกษำปที ่ี 5
ชุดท2่ี คำสง่ั รับคำ่ และแสดงผล คำอธบิ ำยโปรแกรมจากโปรแกรมตัวอย่างท่ี 3.10 สามารถอธบิ ายการทางานของโปรแกรมท่ีสาคญั ๆ ไดด้ งั ตอ่ ไปน้ีบรรทัดที่ 10 คาสัง่ b+ = a คือ b = b + a เพราะฉนัน้ b = 2 + 5 = 7 คาสงั่ d+ = 5 คือ d = d + 5 เพราะฉน้นั d = ‘K’ คาสง่ั g = f + 2.5 คอื g = 9.5 + 2.5 = 12.0บรรทัดที่ 11 ใช้ฟังก์ชัน printf( ) พมิ พ์ข้อมูลชนิด int ของตวั แปร a และ b โดยใช้รัส ควบคมุ เป็น %d สาหรบั ตวั เลข 5 เปน็ การบอกให้เวน้ ช่องว่าง 5 ชอ่ งก่อนแลว้ ค่อยนาค่าตวั แปร a มาแสดง สว่ นเครือ่ งหมาย – หนา้ ตัวเลขเป็นการบอกให้พมิ พ์ ตวั เลขชดิ ซ้าย สาหรับรูปแบบการแสดงตัวแปร bบรรทัดท่ี 12 ใช้ฟังกช์ นั printf( ) พิมพข์ ้อมูลชนิด char โดยใชร้ หสั ควบคมุ %c ของตัว แปร c กอ่ นแลว้ คอ่ ยลดคา่ ตัวแปรลง 1 และ ++d คอื เพ่ิมค่าตวั แปร d ข้ึน 1 ค่ากอ่ นแลว้ ค่อยแสดงผลออกจอภาพบรรทดั ที่ 13 ใชฟ้ ังกช์ ัน printf( ) พิมพ์ข้อมลู ชนิด string โดยใชร้ หัสควบคุม %s ของตวั แปร e ออกจอภาพบรรทัดที่ 14 ใช้ฟงั กช์ นั printf( ) พิมพ์ข้อมลู ชนิด float โดยใชร้ หัสควบคุม %f ของตัวแปร f + 2 คือ 11.500 (%3f คือ ทศนิยม 3 ตาแหน่ง) และแสดงคา่ ตวั แปร g ออก จอภาพ แล้วหยดุ รอรบั คา่ ใด ๆ จากคียบ์ อรด์ ซ่ึงถา้ เรากด enter ก็จะกลับสู่ โปรแกรมชดุ กจิ กรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 32รำยวชิ ำภำษำซี ง30243 ช้นั มธั ยมศึกษำปีที่ 5
ชุดท2ี่ คำสั่งรับค่ำและแสดงผล ฟังก์ชัน putchar( ) เป็นฟังก์ชันท่ีใช้ในการแสดงผลลัพธ์ออกจอภาพทีละ 1 ตัวอักขระ โดยลักษณะของฟังก์ชันนี้เป็นฟังก์ชันท่ีตอ้ งการ argument 1 คา่ ทีเ่ ป็นข้อมลู ชนิด single character (char) รปู แบบกำรใชง้ ำนฟังกช์ ัน putchar(char_argument);โดยท่ี putchar( ) คอื ฟงั กช์ ันที่ใชแ้ สดงผลลพั ธท์ ีละ 1 ตัวอักขระออกทางจอภาพ char_argument คอื ตวั แปรชนดิ single character (char) เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน putchar( ) ได้ดีย่ิงข้ึนควรศึกษาโปรแกรมตัวอย่างท่ี 3.11 และ 3.12 ดงั ต่อไปนี้ชุดกจิ กรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 33รำยวชิ ำภำษำซี ง30243 ชั้นมธั ยมศกึ ษำปที ี่ 5
ชดุ ท2ี่ คำส่งั รบั ค่ำและแสดงผลโปรแกรมตวั อยำ่ งท่ี 3.11 แสดงโปรแกรมการใช้ฟงั กช์ ัน putchar( ) เพ่อื แสดงข้อมูลออกจอภาพ/* putchar1.c */#include<stdio.h> /* บรรทดั ที่ 1 */#include<conio.h> /* บรรทดั ท่ี 2 */void main(void) /* บรรทดั ที่ 3 */{ /* บรรทัดที่ 4 */char p; /* บรรทดั ท่ี 5 */clrscr( ); /* บรรทดั ที่ 6 */printf(\"Enter a single character :\"); /* บรรทดั ท่ี 7 */p=getche( ); /* บรรทัดท่ี 8 */printf(\"\nYour character is ...%c\"); /* บรรทดั ที่ 9 */putchar(p); /* บรรทัดที่ 10 */getch( ); /* บรรทัดที่ 11 */} /* บรรทดั ที่ 12 */ ผลลพั ธ์ทไ่ี ด้จำกโปรแกรม Enter a single character : t Your character is ...<<t คำอธบิ ำยโปรแกรมจากโปรแกรมตวั อยา่ งที่ 3.11 สามารถอธิบายการทางานของโปรแกรมท่ีสาคญั ๆ ได้ดงั ตอ่ ไปน้ีบรรทดั ที่ 8 ใช้ฟังกช์ ัน getche( ) โดยนาคา่ ท่ีรับจากคีย์บอรด์ ไปเก็บไวใ้ นตวั แปร pบรรทัดที่ 10 ใช้ฟังก์ชัน putchar( ) โดยนาค่าท่เี กบ็ ไว้ในตวั แปร p ออกแสดงผลท่ีจอภาพตรง ตาแหน่ง %c ในฟงั กช์ นั printf( ) ของบรรทดั ท่ี 9 แล้วหยดุ รอรับค่าใด ๆ จาก คยี ์บอร์ด ซึง่ ถา้ เรากด enter กจ็ ะกลับสู่โปรแกรมชุดกิจกรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 34รำยวิชำภำษำซี ง30243 ช้นั มธั ยมศึกษำปที ี่ 5
ชดุ ท2ี่ คำสั่งรบั คำ่ และแสดงผลโปรแกรมตวั อยำ่ งที่ 3.12 แสดงโปรแกรมการใชฟ้ งั กช์ ัน putchar( ) เพือ่ แสดงข้อมูลออกจอภาพ และแทรกด้วยการใชฟ้ ังกช์ ัน printf( ) ก่อนนาข้อมลู ออกแสดงผล/* putchar2.c */#include<stdio.h> /* บรรทัดที่ 1 */#include<conio.h> /* บรรทัดท่ี 2 */void main(void) /* บรรทัดท่ี 3 */{ /* บรรทัดท่ี 4 */char p; /* บรรทดั ที่ 5 */clrscr( ); /* บรรทดั ที่ 6 */printf(\"Enter a single character : \"); /* บรรทดั ที่ 7 */p=getche( ); /* บรรทัดที่ 8 */printf(\"\nThank you !!!\"); /* บรรทดั ท่ี 9 */printf(\"\nYour character is ...%c\"); /* บรรทดั ท่ี 10 */putchar(p); /* บรรทดั ที่ 11 */getch( ); /* บรรทัดที่ 12 */} /* บรรทดั ท่ี 13 */ ผลลัพธ์ท่ีไดจ้ ำกโปรแกรม Enter a single character : r Thank you !!! Your character is ...<<r คำอธบิ ำยโปรแกรม โปรแกรมตัวอย่างท่ี 3.12 จะทางานคล้ายกับโปรแกรมตัวอย่างท่ี 3.11 โดยการเก็บค่าที่รับจากคีย์บอร์ดไว้ในตัวแปร แล้วนาค่าท่ีเก็บไว้ในตัวแปรออกแสดงผลด้วยฟังก์ชัน putchar( ) ซึ่งก่อนจะแสดงผลมีการใช้ฟังก์ชัน printf( ) พิมพ์ข้อความ Thank you !!! ออกมาแทรกก่อน 1 บรรทัด แล้วหยุดรอรับค่าใดๆ จากคียบ์ อรด์ ซึง่ ถ้าเรากด enter กจ็ ะกลับส่โู ปรแกรมชุดกจิ กรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 35รำยวชิ ำภำษำซี ง30243 ชนั้ มัธยมศึกษำปที ่ี 5
ชดุ ท2่ี คำส่งั รับค่ำและแสดงผล ฟงั กช์ นั puts( ) เป็นฟังก์ชันที่พิมพ์ข้อความออกแสดงทางจอภาพ โดยลักษณะของฟังก์ชันนี้เป็นฟังก์ชันท่ีต้องการargument 1 ค่าที่เปน็ ชนิดขอ้ ความ (string constant) รูปแบบกำรใชง้ ำนฟังก์ชนั puts(string_argument);โดยที่ puts( ) คือ ฟงั กช์ ันท่ีใช้พิมพ์ข้อความออกทางจอภาพ string_argument คือ คา่ คงทีช่ นิดสตริง (string constant) ซึง่ ค่าคงทีส่ ตรงิ น้ี จะถูกพิมพ์ออกแสดงทางจอภาพผา่ นฟงั กช์ นั puts( ) เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน puts( ) ได้ดียิ่งข้ึนควรศึกษาโปรแกรมตัวอย่างที่ 3.13 ดงั ตอ่ ไปนี้ชุดกิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 36รำยวชิ ำภำษำซี ง30243 ช้ันมธั ยมศกึ ษำปที ่ี 5
ชุดท2่ี คำสง่ั รับค่ำและแสดงผลโปรแกรมตวั อยำ่ งท่ี 3.13 แสดงโปรแกรมการใช้ฟงั ก์ชัน puts( )/* puts1.c /#include<stdio.h> /* บรรทัดที่ 1 */#include<conio.h> /* บรรทดั ที่ 2 */void main(void) /* บรรทดั ที่ 3 */{ /* บรรทดั ท่ี 4 */clrscr( ); /* บรรทัดท่ี 5 */printf(\"Computer Programming Language 1\"); /* บรรทดั ที่ 6 */puts(\" is your course.\" ); /* บรรทดั ท่ี 7 */getch( ); /* บรรทัดท่ี 8 */} /* บรรทัดท่ี 9 */ ผลลพั ธ์ทไี่ ด้จำกโปรแกรม Computer Programming Language 1 is your course. คำอธบิ ำยโปรแกรม 37 จากโปรแกรมตวั อย่างท่ี 3.13 สามารถอธิบายการทางานของโปรแกรมท่ีสาคญั ๆ ไดด้ งั ตอ่ ไปนี้ บรรทัดท่ี 6 ใช้ฟงั กช์ ัน printf( ) พมิ พ์ขอ้ ความออกจอภาพ คอื Computer Programming Language 1 แสดงทจี่ อภาพ บรรทัดท่ี 7 ใชฟ้ งั ก์ชัน puts( ) พมิ พข์ อ้ ความ is your course. ต่อทา้ ยของฟงั ก์ชัน printf( ) ในบรรทัดที่ 6 จะได้ Computer Programming Language 1 is your course. แลว้ หยดุ รอรบั คา่ ใด ๆ จากคียบ์ อรด์ ซง่ึ ถา้ เรากด enter ก็จะกลับสู่ โปรแกรมชุดกจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์รำยวชิ ำภำษำซี ง30243 ชน้ั มธั ยมศึกษำปที ี่ 5
ชดุ ท2่ี คำส่งั รับค่ำและแสดงผล สรุปทำ้ ยบท ฟังก์ชนั พืน้ ฐานทใ่ี ชง้ านอยเู่ ป็นประจาในการเขยี นโปรแกรมนนั้ คือ ฟงั ก์ชันรับขอ้ มลู และ ฟงั กช์ ันแสดงผลข้อมูล โดยฟังกช์ ันรบั ขอ้ มูลมีดงั ต่อไปนี้ 1. ฟังกช์ นั scanf( ) เป็นฟงั ก์ชนั ที่ใช้ในการรับข้อมลู จากคียบ์ อรด์ เข้าไปเก็บไวใ้ นตัวแปรท่ี กาหนดไวโ้ ดยสามารถรับขอ้ มูลทเี่ ปน็ ตัวเลขจานวนเตม็ ตัวเลขทศนยิ ม ตวั อักขระตัวเดยี ว หรอื ขอ้ ความก็ได้ 2. ฟังกช์ นั getchar( ) เป็นฟงั กช์ นั ท่ีใชร้ บั ข้อมูลจากคียบ์ อร์ดเพียง 1 ตวั อักขระ โดย การรบั ข้อมูลของฟังกช์ นั นี้จะตอ้ งกดแปน้ enter ทุกครง้ั ท่ีป้อนข้อมูลเสร็จ จงึ ทาใหเ้ ห็นข้อมลู ที่ปอ้ น ปรากฏบนจอภาพดว้ ย ถา้ ต้องการนาข้อมูลทป่ี ้อนผา่ นทางคียบ์ อร์ดไปใช้งาน จะต้องกาหนดตัวแปร ชนดิ single character (char) ขนึ้ มา 1 ตวั เพอ่ื เก็บค่าข้อมูลท่รี ับผา่ นทางคีย์บอร์ด ในทาง ตรงกนั ข้ามถ้าไมต่ ้องการใช้ข้อมูลท่ีป้อนผา่ นทางคยี ์บอร์ดก็ไมต่ ้องกาหนดตวั แปรชนิด char ข้ึนมา 3. ฟงั ก์ชนั getch( ) เปน็ ฟงั กช์ ันที่ใชร้ ับข้อมูลเพยี ง 1 ตวั อกั ขระเหมอื นกบั ฟังก์ชนั getchar( ) แตกตา่ งกันตรงท่ีเมื่อใช้ฟังกช์ ันนรี้ ับข้อมลู ข้อมูลท่ีปอ้ นเขา้ ไปจะไม่ปรากฏให้เห็นบน จอภาพและไม่ต้องกดแป้น enter ตาม 4. ฟังก์ชนั getche( ) เปน็ ฟังกช์ ันท่ีใชร้ บั ข้อมูลจากคีย์บอร์ดเพียง 1 ตวั อักขระ เหมือน ฟังกช์ ัน getch( ) แตกต่างกันตรงทีข่ ้อมลู ทป่ี ้อนเข้าไปจะปรากฏให้เหน็ บนจอภาพดว้ ย นอกน้ันมี การทางานและลักษณะการใชง้ านเหมอื นฟังกช์ นั getch( ) ทุกประการ 5. ฟังก์ชนั gets( ) เปน็ ฟังกช์ นั ท่ใี ชร้ ับข้อมูลชนิดข้อความ (string) จาก คียบ์ อรด์ จากน้ันนาข้อมูลทีร่ ับเขา้ ไปเก็บไว้ในตัวแปรสตริง (string variables) ที่กาหนดไว้ สาหรับฟังกช์ นั แสดงผลข้อมูลมดี งั ตอ่ ไปน้ีฟังกช์ นั printf( ) เป็นฟังกช์ ันท่ใี ชใ้ นการแสดงผลลพั ธอ์ อก ทางจอภาพ โดยสามารถกาหนดรหัสรูปแบบขอ้ มูล (format code) และ รหัสควบคุม (control code) ให้เหมาะสมกบั ข้อมูลและรูปแบบผลลพั ธท์ ี่ต้องการ 6. ฟังกช์ ัน putchar( ) เป็นฟงั กช์ ันที่ใชใ้ นการแสดงผลลัพธ์ออกจอภาพทลี ะ 1 ตวั อักขระ โดยลักษณะของฟงั ก์ชนั นีเ้ ปน็ ฟังกช์ นั ที่ต้องการ argument 1 คา่ ท่ีเปน็ ข้อมลู ชนิด single character (char) 7. ฟังก์ชัน puts( ) เปน็ ฟังกช์ นั ที่พมิ พ์ข้อความออกแสดงทางจอภาพ โดยลักษณะ ของฟังก์ชันนเ้ี ป็นฟงั ก์ชันท่ตี ้องการ argument 1 ค่าทเ่ี ป็นชนดิ ข้อความ (string constant)ชุดกิจกรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 38รำยวิชำภำษำซี ง30243 ช้ันมธั ยมศกึ ษำปที ่ี 5
ชดุ ท2ี่ คำสง่ั รับคำ่ และแสดงผลบัตรกิจกรรมกำรเรยี นรทู้ ่ี 2 10เร่อื ง ฟงั กช์ ันแสดงผลข้อมูล1. ให้นกั เรยี นอธิบายรหัสควบคมุ ข้อมลู ในข้อต่อไปน้ี1. \a ………………………………………………………………………………………………………….2. \n ………………………………………………………………………………………………………….3. \t ………………………………………………………………………………………………………….4. \b ………………………………………………………………………………………………………….5. \v ………………………………………………………………………………………………………….6. \f ………………………………………………………………………………………………………….7. \r ………………………………………………………………………………………………………….8. \\ ………………………………………………………………………………………………………….9. \000 ………………………………………………………………………………………………………….10. \xhh ………………………………………………………………………………………………………….ชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 39รำยวชิ ำภำษำซี ง30243 ช้ันมัธยมศกึ ษำปที ่ี 5
ชุดท2่ี คำส่ังรับค่ำและแสดงผลบตั รกิจกรรมกำรเรียนรทู้ ี่ 2 10เรื่อง ฟงั ก์ชนั แสดงผลข้อมลู2. ให้นกั เรียนพิมพโ์ ปแกรมที่กาหนดใหด้ ังน้ี#include <stdio.h> /* 1 */Main() /* 2 */{ /* 3 */int base, hight; /* 4 */float TriArea; /* 5 */printf(“Input base :”); /* 6 */scanf(“%d”,&base); /* 7 */printf(“\n Input hight :”); /* 8 */scanf(“%d”,&hight); /* 9 */TriArea=(0.5)*base*hight; /* 10 */printf(“\n Area of triangle is %8.2f \n”,TriArea); /* 11 */} /* 12 */ใหน้ ักเรยี นรนั โปรแกรมแลว้ ตอบคาถามต่อไปน้ี (กาหนดค่า base=5, hight=6)2.1 เขยี นผลลพั ธท์ ไ่ี ดจ้ ากการรันโปรแกรม…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………2.2 คาสง่ั ใดในโปรแกรมท่ีทาหนา้ ท่ีแสดงผลทางจอภาพ…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………2.3 ชุดควบคุมใดมีความหมายให้ข้ึนบรรทัดใหม่…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………ชุดกจิ กรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 40รำยวิชำภำษำซี ง30243 ชัน้ มธั ยมศกึ ษำปีท่ี 5
ชดุ ท2่ี คำสัง่ รับคำ่ และแสดงผลแบบทดสอบหลังเรียนเร่ือง คำสั่งรับค่ำและแสดงผลคำชแ้ี จง1. แบบทดสอบเป็นแบบปรนัย จานวน 10 ข้อ2. ใหน้ กั เรียนเลือกคาตอบท่ถี ูกต้องทสี่ ดุ เพียงคาตอบเดยี ว แลว้ ใส่เครอ่ื งหมายกากบาท (x) ลงในกระดาษคาตอบ1. ถา้ ต้องการแสดงผลคา่ ข้อความ ตอ้ งใช้รหัสควบคมุ รปู แบบใดก %s ข %uค %d ง %f2. คาส่ังแสดงผลออกทางจอภาพ ตอ้ งอ้างอิงไลบรารีเป็นแบบใดก stdio.h ข conio.hค math.h ง time.h3. ข้อมูลท่ีต้องการแสดงผลออกทางจอภาพ ต้องเขียนในเครื่องหมายใดก เคร่อื งหมาย : : ข เครอื่ งหมาย ' 'ค เครอื่ งหมาย \" \" ง เครือ่ งหมาย # #4. ถา้ ตอ้ งการแสดงข้อความ Hello แล้วขนึ้ บรรทัดใหม่ จากน้นั แสดงข้อความ Good bye ตอ้ งใช้คาสัง่รูปแบบใดก printf(“Hello\bGood bye\n);ข printf(“Hello\tGood bye”);ค printf(“Hello\nGood bye”);ง print(‘Hello\nGood bye’);5. ถา้ x=45 y=’thai’ แล้วตอ้ งการใหแ้ สดงแสดงข้อความ value=45 ตามด้วยเว้นชอ่ งวา่ ง 1 แท็บ ตามดว้ ยข้อความ you are thai ต้องใชค้ าสง่ั รปู แบบใดก printf(“value=%d\tyou are %s”);ข printf(“value=%d\nyou are %c”);ค printf(“value=%d\tyou are %s”,x,z);ง printf(“value=%d\tyou are %s”,x,y);ชดุ กิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 41รำยวชิ ำภำษำซี ง30243 ชนั้ มัธยมศึกษำปที ่ี 5
ชุดท2ี่ คำสั่งรับค่ำและแสดงผล6. ถา้ ต้องการแสดงผลค่าของตวั แปรชนดิ จานวนทศนยิ ม ตอ้ งใช้รหัสควบคมุ รปู แบบใดก %u ข %cค %f ง %d7. คาสง่ั แสดงผลออกทางจอภาพ ภาษาซเี ป็นคาสง่ั ใดก main(); ข getch();ค printf(); ง scanf();8. ถ้าตอ้ งการแสดงผลให้ข้นึ บรรทดั ใหม่ ต้องใชอ้ ักขระควบคุมรูปแบบใดก \t ข \nค \f ง \b9. ขอ้ มูลประเภทแบบใดทีส่ ามารถแสดงผลออกทางจอภาพได้ก ข้อความธรรมดา และตัวเลข ข ข้อความธรรมดา และค่าของตัวแปรค ข้อความธรรมดา และรูปภาพ ง ขอ้ ความพิเศษ และตวั แปรพเิ ศษ10. ถ้าตอ้ งการแสดงผลคา่ ของตวั แปรชนิดจานวนเต็ม ต้องใช้รหสั ควบคมุ รปู แบบใดก %s ข %uค %f ง %dชุดกจิ กรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 42รำยวชิ ำภำษำซี ง30243 ชัน้ มธั ยมศึกษำปที ี่ 5
ชุดท2่ี คำส่งั รบั คำ่ และแสดงผลกระดำษคำตอบเรื่อง คำสั่งรบั ค่ำและแสดงผลกอ่ นเรียน หลังเรยี นช่ือ .................................................................................... ชน้ั ................ เลขท่ี .............. ขอ้ ท่ี ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.ชดุ กิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 43รำยวชิ ำภำษำซี ง30243 ชัน้ มัธยมศกึ ษำปีที่ 5
ชดุ ท2ี่ คำส่ังรับค่ำและแสดงผล บรรณำนุกรมกติ ติชัย ชวี าสขุ ถาวร. (2550). ภำษำซีทลี ะก้ำว. กรุงเทพฯ : เคทีพี คอมพ์ แอนด์ คอนซัลท.์กุลรพี ศวิ าพรรักษ.์ (2557). เทคโนโลยสี ำรสนเทศและคอมพวิ เตอร์ 4-6. กรุงเทพฯ : สานกั พิมพเ์ อมพันธ.์ธีรวัฒน์ ประกอบผล. (2550). กำรเขียนโปรแกรมระบบปฏบิ ตั กิ ำรเทก็ โหมด(ด้วยภำษำซ)ี . กรุงเทพฯ : ซัคเซสมีเดยี .นริ ุธ อานวยศลิ ป.์ (ม.ป.ป.). C Programming เขียนโปรแกรมภำษำซีฉบบั สมบูรณ.์ ม.ป.ท. : ด่านสทุ ธาการพมิ พ์พฒั พงษ์ อมรวงศ.์ (2554). กำรเขียนโปรแกรมภำษำซ.ี ปทุมธานี : มีเดียอนิ เทลลเิ จนซ์ เทคโนโลยี.มัณฑนา ปราการสมทุ ร. (2534). กำรเขียนชดุ คำส่งั ภำษำซี. กรุงเทพมหานคร : ดวงกมลสมยั .สถาบนั สง่ เสริมการสอนวทิ ยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธกิ าร. (2551). ภำษำซี ช่วงช้นั ท่ี 4 ชนั้ มธั ยมศึกษาปีที่ 4 - 6. กรุงเทพฯ : โรงพมิ พค์ รุ ุสภาลาดพรา้ ว.สมชาย รตั นเลิศนสุ รณ์. (2545). กำรเขียนโปรแกรมคอมพวิ เตอรด์ ้วยภำษำซี. กรงุ เทพฯ : สมาคมสง่ เสรมิ เทคโนโลยี (ไทย-ญี่ปุ่น)โอภาส เอย่ี มสิรวิ งศ์. (2552). กำรเขียนโปรแกรมด้วยภำษำซี (Programming with C). กรงุ เทพมหานคร : ซเี อ็ด.ชดุ กิจกรรมกำรเรียนรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 44รำยวิชำภำษำซี ง30243 ชนั้ มธั ยมศกึ ษำปที ี่ 5
ชุดท2่ี คำสงั่ รับค่ำและแสดงผล ภำคผนวกชุดกิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพิวเตอร์ 45รำยวชิ ำภำษำซี ง30243 ชน้ั มธั ยมศึกษำปีที่ 5
ชุดท2่ี คำสั่งรับค่ำและแสดงผลแบบบนั ทกึ คะแนนระหวำ่ งเรยี นเรอื่ ง คำสง่ั รับค่ำและแสดงผลชดุ กจิ กรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 46รำยวิชำภำษำซี ง30243 ชั้นมัธยมศึกษำปีที่ 5
ชุดท2ี่ คำสง่ั รบั คำ่ และแสดงผลเฉลยแบบทดสอบก่อนเรียนเรอื่ ง คำสั่งรับค่ำและแสดงผล ชื่อ .................................................................................... ชนั้ ................ เลขท่ี ...... ........ ข้อที่ ก ข ค ง 1. × 2. × 3. × 4. × 5. × 6. × 7. × 8. × 9. × 10. ×ชุดกิจกรรมกำรเรียนรกู้ ำรเขียนโปรแกรมภำษำคอมพวิ เตอร์ 47รำยวิชำภำษำซี ง30243 ชัน้ มัธยมศกึ ษำปที ่ี 5
ชุดท2่ี คำส่งั รบั คำ่ และแสดงผลเฉลยบัตรกิจกรรมกำรเรยี นรู้ที่ 1 10 เรอ่ื งฟงั กช์ นั รบั ข้อมลู1. ให้นกั เรียนอธบิ าย อักขระควบคมุ รปู แบบการแสดงผล ในขอ้ ดงั ต่อไปน้ี 1. %d สาหรับแสดงผลคา่ ของตวั แปรชนดิ จานวนเต็ม 2. %u สาหรบั แสดงผลตวั เลขจานวนเต็มบวก 3. %o สาหรับแสดงผลออกมาในรปู แบบของเลขฐานแปด 4. %x สาหรบั แสดงผลออกมาในรปู แบบของเลขฐานสิบหก 5. %f สาหรบั แสดงผลค่าของตัวแปรชนิดจานวนทศนยิ ม 6. %e สาหรับแสดงผลตัวเลขทศนยิ มออกมาในรูปแบบของ ( E หรอื e ) ยกกาลงั 7. %c สาหรับแสดงผลอกั ขระ 1 ตวั 8. %s สาหรบั แสดงผลขอ้ ความ (อักขระมากกวา่ 1 ตวั ) 9. %p สาหรบั แสดงผลตวั ชต้ี าแหนง่ 10. %l สาหรบั แสดงขอ้ มลู ชนดิ int โดยใชก้ บั ตวั เลขฐาน 8, ฐาน 10 และฐาน 16ชดุ กิจกรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ 48รำยวิชำภำษำซี ง30243 ชนั้ มัธยมศกึ ษำปที ี่ 5
ชุดท2่ี คำส่งั รบั ค่ำและแสดงผลเฉลยบัตรกิจกรรมกำรเรียนรู้ที่ 1 10 เรื่องฟงั กช์ ันรบั ข้อมูล2. ใหน้ ักเรยี นพิมพ์โปแกรมท่ีกาหนดให้ดงั น้ี#include <stdio.h> /* 1 */Main() /* 2 */{ /* 3 */int width, length, RecArea; /* 4 */printf(“Input width :”); /* 5 */scanf(“%d”,&width); /* 6 */printf(“\n Input length :”); /* 7 */scanf(“%d”,&length); /* 8 */RecArea=width*length; /* 9 */printf(“\n Area of rectangle is %5d \n”,RecArea); /* 10 */} /* 11 */ใหน้ กั เรียนรนั โปรแกรมแล้วตอบคาถามต่อไปน้ี (กาหนดคา่ width=5, length=6)2.1 เขยี นผลลพั ธ์ทไ่ี ดจ้ ากการรันโปรแกรม302.2 คาส่ังใดในโปรแกรมท่ีทาหนา้ ทร่ี บั ข้อมลู จากผใู้ ชโ้ ดยป้อนผา่ นแป้นพิมพ์คาส่ัง scanf();2.3 จากคาส่งั ในบรรทัดท่ี 10 ให้อธบิ ายผลของการใช้รปู แบบควบคมุ %5dชดุ ควบคุมการจัดรปู แบบ %5d ใชก้ าหนดว่า ขอ้ มลู ทีน่ าเขา้ จะต้องเปน็ จานวนเต็มฐานสบิ และชุดควบคมุ การจดั รูปแบบน้ีมีความยาวห้าตวั อักษรและข้อมลู จะแสดงชิดขวา โดยนาคา่ ในตวั แปรRecArea มาแสดง ซ่งึ มรี ปู แบบการแสดงดงั นี้Area of Rectangle is _ _ _ 30ชดุ กจิ กรรมกำรเรยี นรกู้ ำรเขยี นโปรแกรมภำษำคอมพวิ เตอร์ 49รำยวิชำภำษำซี ง30243 ชน้ั มธั ยมศึกษำปีท่ี 5
Search