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 ชุดกิจกรรมที่ 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี

ชุดกิจกรรมที่ 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี

Published by cp.suwanna, 2018-06-30 21:12:54

Description: โครงสร้างของโปรแกรมภาษาซี

Keywords: ภาษาซี

Search

Read the Text Version

ชุดท2่ี โครงสร้างของโปรแกรมภาษาซี คำนำ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีที่ 5 กลมุ่ สาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดนีจ้ ัดทาข้นึ เพ่ือพฒั นาการจัดกิจกรรมการเรียนการสอนโดยเน้นผู้เรียนเป็นสาคัญ และส่งเสริมการเรียนรู้ของผู้เรียนด้วยตนเอง คิดเป็น ทาเป็นและแก้ปัญหาเป็น โดยได้ขยายผลในด้านเนื้อหาให้กวา้ งและชัดเจนย่ิงข้ึน ซงึ่ ถือว่าเป็นไปตามแนวทางการจัดการศึกษาของชาติที่เน้นผู้เรียนเป็นสาคัญ และสนองต่อพระราชบัญญัติการศึกษาแห่งชาติ พุทธศักราช 2542 และสอดคล้องกับหลักสูตรแกนกลางการศึกษาข้ันพ้ืนฐาน พุทธศักราช 2551 ท่ีมุ่งเน้นให้ผู้เรียนได้รับการพัฒนาท้ังความรู้ กระบวนการคิดกระบวนการสืบเสาะหาความรู้ การแก้ปัญหา ความสามารถในการส่ือสาร การตัดสินใจ การนาความรู้ไปใช้ในชวี ิตประจาวัน มีคุณธรรมคา่ นิยมอันพงึ ประสงค์และผ้เู รียนมเี จตคติทดี่ ีต่อวิชาคอมพิวเตอร์ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ครอบคลุมตัวช้ีวัดและสาระการเรียนรู้ตามหลักสูตรแกนกลางการศึกษาข้ันพ้ืนฐาน พุทธศักราช 2551 ซ่งึ ประกอบดว้ ยชุดกิจกรรมการเรียนรทู้ ั้งหมด 5 ชุด ดังน้ี ชุดท่ี 1 เรื่อง การพฒั นาโปรแกรมและการจาลองความคดิ ชุดท่ี 2 เร่ือง โครงสร้างของโปรแกรมภาษาซี ชดุ ที่ 3 เรอ่ื ง คาสงั่ รับค่าและแสดงผล ชดุ ที่ 4 เรอื่ ง โครงสร้างการเขียนโปรแกรม ชดุ ที่ 5 เรื่อง ตัวแปรชุด ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 นี้เป็นชุดที่ 2เรื่อง โครงสร้างของโปรแกรมภาษาซี ผูจ้ ดั ทาหวังเปน็ อยา่ งยิ่งว่าชดุ กิจกรรมการเรียนรู้เร่ือง โครงสรา้ งของโปรแกรมภาษาซี ชุดนี้จะช่วยให้ผู้เรียนมีความเข้าใจเก่ียวกับโครงสร้างของโปรแกรมภาษาซีได้มากยิ่งขึ้น ซ่ึงเป็นประโยชน์อย่างยิ่งตอ่ การพฒั นาการเรียนรู้และสร้างองค์ความรู้ทยี่ ่งั ยืนของผ้เู รยี นต่อไป สวุ รรณา จติ ตป์ ลม้ื 1 โรงเรยี นบางแพปฐมพิทยาชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์รายวิชาภาษาซี ง30243 ชนั้ มธั ยมศึกษาปีท่ี 5

ชุดท2่ี โครงสรา้ งของโปรแกรมภาษาซี หนา้ สำรบัญ 1 2 เรื่อง 3 คานา สารบญั 5 คาแนะนาในการใช้ชุดกจิ กรรมการเรยี นรูส้ าหรบั ครู 6 คาแนะนาในการใช้ชุดกจิ กรรมการเรยี นรูส้ าหรับนกั เรียน 6 มาตรฐานการเรียนรแู้ ละตัวชวี้ ัด จดุ ประสงค์การเรียนรู้ 7 แบบทดสอบก่อนเรยี น 10 บัตรเน้อื หาท่ี 1 เร่ิมตน้ กบั ภาษาซี 18 บัตรกิจกรรมที่ 1 เริม่ ต้นกับภาษาซี บัตรเน้อื หาท่ี 2 ข้อมูลและตวั แปรในภาษาซี 1 20 บตั รกิจกรรมท่ี 2 ข้อมลู และตัวแปรในภาษาซี 26 บัตรเน้ือหาที่ 3 ตวั ดาเนนิ การในภาษาซี บตั รกจิ กรรมที่ 3 ตัวดาเนนิ การในภาษาซี 1 28 แบบทดสอบหลงั เรยี น บรรณานกุ รม 37 ภาคผนวก 39 แบบบันทกึ คะแนนระหว่างเรียน 42 เฉลยแบบทดสอบก่อนเรยี น 43 เฉลยบตั รกจิ กรรมการเรยี นรู้ที่ 1 เร่ือง เร่ิมตน้ กับภาษาซี 44 เฉลยบัตรกิจกรรมการเรียนรู้ที่ 2 เร่อื ง ข้อมูลและตวั แปรในภาษาซี เฉลยบตั รกิจกรรมการเรยี นรู้ท่ี 3 เรือ่ ง ตวั ดาเนินการในภาษาซี 45 เฉลยแบบทดสอบหลงั เรยี น 46 48 50 52ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 2รายวชิ าภาษาซี ง30243 ชน้ั มธั ยมศึกษาปที ี่ 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซี คำแนะนำกำรใช้ชุดกิจกรรมกำรเรียนรู้สำหรับครู เม่ือครูผู้สอนได้นาชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชัน้ มธั ยมศกึ ษาปีที่ 5 กลมุ่ สาระการเรียนรกู้ ารงานอาชีพและเทคโนโลยี ไปใชค้ วรปฏบิ ัตดิ ังน้ี 1. ดาเนินการจัดกิจกรรมการเรียนการสอนโดยใช้ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีท่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ควบคูไ่ ปกบั แผนการจัดการเรียนรู้รายวชิ าภาษาซี ง30243 ระดับชั้นมธั ยมศกึ ษาปที ่ี 5 2. หลังจากไดศ้ กึ ษาเนื้อหาแลว้ ให้นกั เรยี นตอบคาถามเพื่อประเมินความร้แู ตล่ ะเรื่อง 3. ควรให้นักเรยี นปฏบิ ัติชดุ กิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีท่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี เพื่อความเข้าใจโดยครูให้คาแนะนาอย่างใกลช้ ิด 4. ให้นักเรียนตรวจสอบเฉลยท้ายเล่มเม่ือนักเรียนทากิจกรรมตามชุดการเรียนรู้ชุดท่ี 2 เรื่องโครงสรา้ งของโปรแกรมภาษาซี จบแล้วเพอ่ื ทราบผลการเรยี นรู้ของตนเอง 5. ทดสอบความรู้หลังเรียนจากที่นักเรียนทากิจกรรมการเรียนรู้จบชุดแล้วด้วยการทาแบบทดสอบหลังเรียนในการเรียนรู้ด้วยชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชนั้ มธั ยมศึกษาปีท่ี 5 กล่มุ สาระการเรียนรู้การงานอาชพี และเทคโนโลยี เร่ืองการพฒั นาโปรแกรมและการจาลองความคิด นักเรยี นควรปฏบิ ตั ิดงั นี้ 1. นักเรียนจะได้รับชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศกึ ษาปที ี่ 5 กลุ่มสาระการเรียนร้กู ารงานอาชีพและเทคโนโลยี เรื่องการพฒั นาโปรแกรมและการจาลองความคิด 1 เล่มและซดี ีประกอบชุดการเรยี นรู้ 1 แผน่ 2. วิธีการสอนในชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ช้ันมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดท่ี 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี นักเรียนเรยี นร้แู ละทากจิ กรรมการเรยี นรู้ ดงั ข้นั ตอนต่อไปน้ี 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 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดท่ี 2 เร่ือง โครงสร้างของโปรแกรมภาษาซี ชุดน้ีใช้ประกอบการจัดการเรียนการสอนของนักเรียน ชั้นมัธยมศึกษาปีที่ 5 โดยมีข้ันตอนการจัดกิจกรรมการเรียนการสอนดังนี้ 1. นักเรยี นฟงั คาชแ้ี จงการใชช้ ดุ กิจกรรมการเรียนรู้ใหเ้ ข้าใจ 2. ให้นักเรียนรับชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีท่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดที่ 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี 3. นักเรียนเร่ิมทาแบบทดสอบก่อนเรียนเพ่ือประเมินว่านักเรียนมีพ้ืนฐานความรู้ ความเข้าใจมากน้อยเพียงใด 4. ให้นักเรียนศึกษาเนื้อหาทาความเข้าใจให้ดีต้ังแต่หน้าแรกถึงหน้าสุดท้ายตามลาดับอย่าข้ามข้นั ตอนและทาบัตรกิจกรรมทา้ ยเลม่ ชุดที่ 2 เร่อื ง โครงสรา้ งของโปรแกรมภาษาซี 5. เม่อื พบคาช้ีแจงหรือคาถามในแต่ละบัตรกจิ กรรมให้นักเรียนอ่านและทากจิ กรรมที่กาหนดให้อย่างรอบคอบ 6. ส่งผลงานการทาบตั รกจิ กรรมการเรียนร้ทู ้ายเลม่ เพื่อใหค้ รตู รวจและบันทึกผล 7. เมื่อทาบัตรกจิ กรรมเสร็จแลว้ จัดเก็บอปุ กรณใ์ หเ้ รียบรอ้ ย 8. เมื่อนักเรียนทุกคนทากิจกรรมการเรียนรู้ครบแล้วให้นักเรียนทาแบบทดสอบหลังเรียนด้วยความตัง้ ใจและซอ่ื สตั ย์ 9. รับฟงั การบอกคะแนน คาชมเชย และคาแนะนาเพิ่มเติมจากครูชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 5รายวชิ าภาษาซี ง30243 ชน้ั มธั ยมศึกษาปที ี่ 5

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

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซีแบบทดสอบกอ่ นเรียนเร่ือง กำรพัฒนำโปรแกรมและกำรจำลองควำมคิดคาชี้แจง1. แบบทดสอบเปน็ แบบปรนัย จานวน 10 ข้อ2. ใหน้ กั เรยี นเลือกคาตอบท่ีถูกต้องที่สดุ เพียงคาตอบเดียว แล้วใส่เครอ่ื งหมายกากบาท (x) ลงในกระดาษคาตอบ1. โครงสร้างของโปรแกรมภาษาซแี บง่ ออกเป็นกส่ี ว่ นก. 1 สว่ น ข. 2 สว่ นค. 3 สว่ น ง. 4 ส่วน2. การบอกให้คอมไพเลอรน์ าเฮดเดอร์ไฟลเ์ ขา้ มารว่ มแปลน้ัน ต้องเร่ิมต้นดว้ ยเคร่อื งหมายใดก. เครื่องหมาย # ข. เครื่องหมาย @ค. เครือ่ งหมาย $ ง. เครื่องหมาย &3. ทุกโปรแกรมในภาษาซจี ะตอ้ งมีอะไรก. int ข. mainค. var ง. printf4. ประกาศตวั แปรช่ือ name ไว้ใช้เกบ็ ช่ือเลน่ ของนกั เรียนก. int name; ข. float name;ค. char name; ง. string name;5. ฟังกช์ ่นั ใดที่ใชเ้ กบ็ คาสัง่ เกี่ยวกบั การสง่ ข้อมลู เข้าและออกก. conio.h ข. stdio.hค. math.h ง. string.h6. กาหนดให้ num=3.5 จากโจทย์ ควรประกาศตวั แปรชนิดใดก. int ข. floatค. char ง. stringชุดกจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 7รายวิชาภาษาซี ง30243 ชั้นมัธยมศกึ ษาปที ่ี 5

ชุดท2่ี โครงสร้างของโปรแกรมภาษาซี7. ข้อใด คือฟังกช์ ่ันในการแสดงข้อมูลออกทางจอภาพก. printf ข. scanfค. write ง. display8. เคร่ืองหมาย Semi colon ใชท้ าอะไร ในภาษาซีก. เร่ิมตน้ โปรแกรม ข. ส้นิ สดุ โปรแกรมค. เร่ิมประโยคคาสั่ง ง. จบแต่ละประโยคคาส่งั9. การคอมเมนตใ์ นภาษาซี ข้อใดไมถ่ ูกตอ้ งก. //comment ข. //\\commentค. /* comment */ ง. /* comment /10. ข้อใดผิดกฏการต้งั ชื่อตัวแปรก. name_5 ข. _name5ค. 5name ง. _name_5ชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 8รายวชิ าภาษาซี ง30243 ชัน้ มธั ยมศกึ ษาปที ่ี 5

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

ชุดท2ี่ โครงสร้างของโปรแกรมภาษาซี บตั รเนือ้ หำที่ 1 เร่ิมตน้ กับภำษำซี ประวัติความเป็นมาของภาษาซี ภาษาซไี ดร้ บั การพัฒนาเม่ือปี ค.ศ. 19721 นายเดนนิส ริตชี่(Dennis M. Ritchie) ตัง้ ช่ือวา่ C เพราะพัฒนามาจากภาษา BCPL และภาษา B ในช่วงแรกใช้ทดลองเขียนคาส่ังควบคุมในห้องปฏิบัติการเบล (Bell Laboratories) เท่าน้ันเมื่อปี ค.ศ. 1978 นายไบรอัน เคอร์นิกฮัน(Brian W. Kernighan)และนายเดนนิส ริตชี่ ร่วมกันกาหนดนิยามรายละเอียดภาษาซีเผยแพร่ความรู้โดยจัดทาหนังสือ The C Programming Languageมีหลายบริษัทให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลายไปทั่วโลก แต่ยังไม่มีมาตรฐานคาส่ังเพื่อให้สามารถใช้งานร่วมกันได้ ดังน้ันเมื่อปี ค.ศ. 1988 นายริตชี่ได้ร่วมกันสถาบันกาหนดมาตANSI (American National StandardsInstitute) สร้างมาตรฐานภาษาซีขึ้นมา มีผลให้ โปรแกรมคาส่ังท่ีสร้างด้วยภาษาซีสังกัดบริษัทใดๆ ก็ตามที่ใช้คาสั่งมาตรฐานของภาษาสามารถนามาทางานร่วมกนั ได้ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 10รายวชิ าภาษาซี ง30243 ช้นั มัธยมศกึ ษาปที ่ี 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซี ลกั ษณะเด่นของภาษาซี 1. มคี วามสามารถในการใช้งานบนสภาพแวดล้อมท่ีแตกต่างกัน โปรแกรมภาษาซี สามารถรนั ไดห้ ลายระดับตง้ั แต่เมนเฟรมจนถึงไมโครคอมพวิ เตอร์ สามารถเทียบเคียงกับภาษา อืน่ ๆ จึงสามารถนาไปใชง้ านร่วมกบั คอมพิวเตอรท์ ี่มีแพลตฟอร์มหรือใช้ระบบปฏิบัติการต่างกนั โดยไม่ต้องแปลงชุดคาสงั่ ใดๆ หรอื เปล่ยี นอาจปรับเพียงเลก็ น้อย 2. มปี ระสทิ ธภิ าพสูง วดั จาก ชุดคาส่งั กะทัดรัด การจัดการหนว่ ยความจา การทางานมีความรวดเร็ว 3. ความสามารถในการโปรแกรมแบบโมดลู ภาษาซีอนญุ าตใหแ้ บ่งโมดลู เพื่อคอมไพล์ได้ถกู ออกแบบภาษาเชงิ โครงสร้างดเี ย่ียม ท่ีสาคัญภาษาซีจะประกอบด้วยฟังกช์ ัน่ ในโมดูลตา่ ง ๆ 4. พอยนเ์ ตอร์ สามารถกาหนดไดจ้ ากชนิดขอ้ มลู ได้หลากหลาย 5. มีความยดื หยุ่นสูง สามารถเขยี นใช้งานรว่ มกับภาษาระดับต่าอย่างภาษาแอสแซมบลีได้ ตวั อกั ษรตัวพมิ พ์เล็กและตัวพมิ พ์ใหญ่ แตกต่างกนั ภาษาซจี ะมองเป็นคนละตัว และไมส่ ามารถนามาใช้แทนกนั ได้ดังนั้นการอ้างชอื่ ตัวแปรและช่ือฟงั กช์ ่ันควรพงึ ระวังโครงสรา้ งของภาษาซี โปรแกรมภาษาซี ที่สามารถ execute ได้ ทุกโปรแกรมจะมโี ครงสรา้ งอย่างงา่ ย ดังน้ี 11 1. ส่วนของการประกาศสว่ นหัวของโปรแกรม หรือท่ีเรียกว่า เฮดเดอร์ไฟล์ (Header File) เป็นการเรียกใช้เฮดเดอร์ไฟล์เข้ามาร่วมใช้งานภายในโปรแกรม โดยไฟลเ์ ฮดเดอรเ์ ป็นไฟลท์ ่ใี ช้ในการรวบรวมฟังก์ชนั่ การทางานต่าง ๆ ซ่ึงเฮดเดอร์ไฟล์จะเขียนอยู่ภายในเครื่องหมาย < > เช่น #include <stdio.h> เป็นไฟล์เฮดเดอร์ที่รวบรวมเกี่ยวกับฟังก์ชั่นมาตรฐานทางด้านการรับข้อมลู (Input) และแสดงผลข้อมลู (Output) ยกตวั อย่างเช่น ฟังก์ชัน่ printf ( ) เป็นฟงั ก์ช่นั ในการแสดงผลขอ้ มูล ซ่งึ บรรจุอยใู่ นไฟล์ stdio.h เป็นตน้ 2. สว่ นของช่อื ฟังก์ชน่ั ในที่น้ี ฟังก์ช่ันท่ีกาหนดขึ้นมาช่ือฟังก์ชั่น main() โดยทุกโปรแกรมจะต้องมีฟังก์ช่ันmain() ทาหน้าที่เป็นฟังก์ช่ันหลักในการทางานในการประมวลผลโปรแกรมทุกครั้ง โปรแกรมจะทาการประมวลผลท่ีฟงั ก์ชั่น main() เปน็ ฟงั ก์ชน่ั แรก ซ่งึ ในการเขียนโปรแกรมภาษาซีทุกครัง้ จะขาดฟังก์ช่ัน main()ไมไ่ ด้ ชุดกจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ รายวชิ าภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีที่ 5

ชุดท2ี่ โครงสร้างของโปรแกรมภาษาซี 3. ส่วนตวั โปรแกรม สว่ นนเ้ี ป็นสว่ นในการเขยี นคาสงั่ ต่าง ๆ เพือ่ สง่ั ใหค้ อมพวิ เตอรท์ างาน ในการเขยี นคาสั่งจะเขียนภายในเครื่องหมายปีกกาเปิด { และเคร่ืองหมายปีกกาปิด } โดยปกติส่วนของการเขียนโปรแกรมจะสามารถแบ่งออกได้เป็น 2 ส่วนด้วยกนั คือ 1) ส่วนของการประกาศตัวแปร คือ ส่วนที่ใช้ในการกาหนดตัวแปรท่ีจะใช้งานในการเขยี นโปรแกรม 2) สว่ นของคาส่ัง หรือ ฟังกช์ ั่นต่าง ๆ คอื ส่วนที่ใช้สาหรับในการพิมพค์ าสัง่ และฟงั ก์ช่นั ต่าง ๆ ซ่ึงหลังจากพมิ พฟ์ งั ก์ชั่นเสรจ็ แล้วจะตอ้ งปดิ ท้ายด้วยเคร่อื งหมายเซมิโคลอน ; เสมอ 4. สว่ นของการเปิดโปรแกรมและปิดโปรแกรม ตามโครงสรา้ งของภาษาซี จะตอ้ งมกี ารกาหนดจุดเรม่ิ ตน้ และจบโปรแกรม โดยในที่นี้ใช้เครื่องหมายปีกกาเปิด { ในการระบุตาแหนง่ การเร่ิมตน้ โปรแกรม และ ใชเ้ ครือ่ งหมายปกี กาปดิ }ในการระบุตาแหน่งการจบโปรแกรม จากลกั ษณะโครงสร้างอย่างง่ายของภาษาซี ดงั กล่าวมาข้างต้นน้ัน สามารถเขียนรปู แบบโครงสร้างอย่างงา่ ย ของโปรแกรมไดด้ งั น้ี รูปแบบโครงสร้างอยา่ งง่ายของโปรแกรมภาษาซี# include<stdio.h>void main(void){ คาส่งั ประกาศตัวแปร; คาสงั่ หรอื ฟงั ก์ชันต่าง ๆ;} เพ่ือให้มีความเข้าใจเกยี่ วกบั โครงสรา้ งอย่างงา่ ยของโปรแกรมภาษาซี มากยิง่ ขนึ้ ใหศ้ ึกษาจากโปรแกรมตัวอย่างภาษาซี ดังต่อไปนี้ชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 12รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีที่ 5

ชดุ ท2ี่ โครงสรา้ งของโปรแกรมภาษาซีโปรแกรมตวั อยา่ งท่ี 2.1 แสดงโปรแกรมภาษาซี อย่างงา่ ย/* simple.c */ /* บรรทัดท่ี 1 */#include<stdio.h> /* บรรทดั ท่ี 2 */void main(void) /* บรรทดั ที่ 3 */{ /* บรรทัดที่ 4 */ /* บรรทดั ท่ี 5 */ printf(“Hello, C Language \n”);} ผลลัพธท์ ไี่ ด้จากโปรแกรม Hello, C Language คาอธบิ ายโปรแกรมจากตัวอย่างโปรแกรมภาษาซี ข้างตน้ สามารถอธบิ ายการทางานได้ดงั นี้บรรทดั ที่ 1 #include<stdio.h> เป็นคาสัง่ ท่ีเรียกแฟ้มท่ีช่อื วา่ stdio.h ซ่ึงภายในจะบรรจุคาสง่ั หรือ ฟังกช์ ันทจ่ี าเปน็ ต้องใช้ในภาษาซี เช่น printf( ), scanf( ) เปน็ ต้นบรรทัดที่ 2 void main(void) เปน็ การบอกให้ C compiler ร้วู ่าฟงั กช์ ัน main( ) เปน็ ฟังก์ชนั ที่ไม่มีการส่งค่าข้อมลู และไมม่ กี ารรับค่าข้อมูลกลับบรรทดั ท่ี 3 เครอ่ื งหมาย { เปน็ การแสดงจดุ เริ่มตน้ ของฟังก์ชนั main( )บรรทัดที่ 4 คาสั่ง printf(“Hello, C Language \n”); เปน็ คาสัง่ ทีใ่ ช้พิมพ์ข้อความทอ่ี ยใู่ นเครือ่ งหมาย “….”แสดงออกทางจอภาพแลว้ ข้ึนบรรทัดใหมเ่ พราะมีรหสั \n (new line)บรรทดั ที่ 5 เคร่อื งหมาย } เปน็ การแสดงจุดสิ้นสดุ ของฟังก์ชนั main( )ชุดกจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 13รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศึกษาปที ี่ 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซีสาหรบั ขอ้ ความท่อี ยู่ในเครื่องหมาย /*.......*/ เป็นคาอธบิ ายในโปรแกรมภาษาซี เพ่ือที่จะอธบิ ายให้ผูอ้ ่านได้ทราบว่ากาลังทาอะไรในโปรแกรม ส่วนมากถา้ เขยี นโปรแกรมท่ีมีขนาดใหญเ่ ราจาเปน็ ต้องใช้เครอื่ งหมาย /*.......*/ โดยท่ี C compiler จะไมท่ างานใด ๆ เมอ่ื เจอเครื่องหมาย /*… */คาอธิบายในโปรแกรมภาษาซี คาอธบิ ายในโปรแกรม (program comment) คอื ข้อความท่ีแทรกอยภู่ ายในโปรแกรมซ่ึงคอมพวิ เตอร์จะไม่แปลข้อความนี้ให้เป็นส่วนหนึ่งของโปรแกรม กล่าวคือจะไม่มีผลต่อการทางานของโปรแกรม เขียนไว้เพ่ืออธิบายโปรแกรมซ่ึงในบางครั้งผู้เขียนโปรแกรมอาจต้องการเขียนคาอธิบายกากับข้ันตอนการทางานของโปรแกรมในแตล่ ะข้ัน ทาให้เกิดประโยชน์กับผ้เู ขียนและผู้ทอ่ี ่านโปรแกรมได้เข้าใจงา่ ยขึ้น และช่วยทาให้การแกไ้ ขและปรบั ปรงุ โปรแกรมเปน็ ไปได้ง่ายย่ิงขึ้น โปรแกรมตวั อย่างท่ี 2.2 แสดงการใส่คาอธิบายในโปรแกรมบรรทดั เดียว โดยการใช้เครื่องหมาย /* หนา้ ข้อความท่อี ธิบาย และใส่เครื่องหมาย */ หลังสิน้ สดุ ข้อความท่ีอธิบาย /* The first program with C */ main() { statement(s); } จากโปรแกรมตวั อย่างขา้ งต้นมคี าอธบิ ายโปรแกรมดงั น้คี ือ /* The first program with C */เป็นการอธบิ ายโปรแกรมบรรทัดเดยี ว บอกใหท้ ราบวา่ โปรแกรมนี้เป็นโปรแกรมแรกท่เี ขียนดว้ ยภาษาซีโปรแกรมตัวอย่างท่ี 2.3 แสดงการใส่คาอธบิ ายในโปรแกรมมากกว่า 1 บรรทดั โดยการใชเ้ คร่ืองหมาย /*หน้าบรรทัดแรกของข้อความท่ีอธิบาย และใส่เคร่ืองหมาย */ หลังส้ินสุดข้อความที่อธิบายของบรรทัดสุดท้ายชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 14รายวชิ าภาษาซี ง30243 ช้นั มธั ยมศกึ ษาปีที่ 5

ชุดท2ี่ โครงสร้างของโปรแกรมภาษาซี /* test.c */ /* This program is to show how to write comments */ main() { statement(s); } จากตวั อย่างขา้ งต้นมีคาอธิบายโปรแกรมดงั น้คี ือ /* test.c */ เป็นการอธบิ ายโปรแกรมบรรทัดเดยี ว บอกให้ทราบว่าโปรแกรมชือ่ test.c และ /* This program is to show how to write comments */เป็นการอธิบายโปรแกรม 2 บรรทัด แสดงให้เหน็ ถึงวธิ กี ารใส่คาอธิบายในโปรแกรม ข้อสงั เกต ในชุดกิจกรรมเลม่ นจ้ี ะปรากฏการใสเ่ คร่ืองหมาย /* … */ เพื่ออธิบายโปรแกรม ตลอดทัง้ เล่ม ซ่ึงส่วนมากจะใช้บอกให้ทราบชื่อโปรแกรม และบอกหมายเลขบรรทดั เพ่ือใช้ ประกอบการอธบิ ายโปรแกรมขัน้ ตอนการพฒั นาโปรแกรมภาษาซีข้ันตอนการพัฒนาโปรแกรมภาษาซี 15การพัฒนาโปรแกรมภาษาซี มขี ั้นตอนดงั น้ี 1. เขียนโปรแกรมต้นฉบบั (source program) ดว้ ยภาษาซี ใชโ้ ปรแกรม Dev c++ เพ่อื เขยี นโปรแกรมตน้ ฉบับด้วยภาษาซี จากน้ันบนั ทกึ โปรแกรมพร้อมกบัตัง้ ชอื่ แฟ้มไว้ แฟม้ ทไี่ ดจ้ ะมีนามสกุล *.c หรือ *.cpp เชน่ simple.c หรอื simple.cpp เป็นต้น นอกจากนี้ยงั สามารถใช้โปรแกรม Dev c++ เขยี นโปรแกรมภาษา C++ ได้อีกด้วย ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชนั้ มัธยมศึกษาปที ่ี 5

ชดุ ท2่ี โครงสร้างของโปรแกรมภาษาซี 2. แปลโปรแกรมภาษา C ไปเปน็ โปรแกรมภาษาเคร่ือง (object program) ใช้คาสัง่ compile เพอ่ื แปลโปรแกรมภาษาซี ไปเป็นโปรแกรมภาษาเครอ่ื ง แฟม้ ที่ได้จะมีนามสกลุ *.obj ซึง่ ในขน้ั ตอนนีโ้ ปรแกรมต้นฉบับอาจเกิดความผดิ พลาดทางไวยกรณ์ภาษา (syntax error)ข้นึ ได้ จงึ ต้องยอ้ นกลับไปแก้ไขโปรแกรมต้นฉบับในข้อ 1. ให้ถกู ต้องเสียก่อน 3. เชอ่ื มโยง (link) โปรแกรมภาษาเครื่องเขา้ กบั library function ของภาษาซี จะได้เป็นexecute program โดยใชค้ าสงั่ link แฟ้มท่ีได้จะมีนามสกุล *.exe 4. สั่งให้ execute program แสดงผลลัพธ์ออกมา โดยใชค้ าสง่ั run ในขน้ั ตอนน้ีผเู้ ขยี นโปรแกรม ควรตรวจสอบผลลพั ธท์ ีไ่ ด้จากโปรแกรมวา่ ตรงกับความต้องการของเราหรอื ไม่ถ้าผลลพั ธท์ ี่ได้ไม่ตรงกับความต้องการให้กลับไปแกไ้ ขโปรแกรมตน้ ฉบบั ในข้อ 1. เสรจ็ แล้วทาข้ันตอน ข้อ 2. ถงึ ข้อ 4. ซา้ อกี ทาซ้าเช่นนี้จนกว่าจะไดผ้ ลลัพธ์ท่ตี อ้ งการ เขยี นโปรแกรม แปลโปรแกรมภาษา เช่อื มโยง แสดงผลลพั ธ์(source program) (compile) (link) (run)ชุดกิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 16รายวิชาภาษาซี ง30243 ช้นั มัธยมศึกษาปที ี่ 5

ชุดท2ี่ โครงสร้างของโปรแกรมภาษาซีโดยสรุปเราสามารถเขยี นผงั งานแสดงขั้นตอนการพัฒนาโปรแกรมภาษาซี ไดด้ ังนี้ชดุ กจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 17รายวชิ าภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีท่ี 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซีบัตรกจิ กรรมกำรเรียนร้ทู ่ี 1 10 เร่อื งเรมิ่ ตน้ กับภำษำซี1. โครงสรา้ งของโปรแกรมภาษาซมี ีอะไรบา้ ง พร้อมคาอธิบาย................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................. .................................................................................................................................................................. .................................................................................................................................................................................................................................................................................................................................... ...............................................................2. ใหน้ กั เรียนยกตวั อย่างลักษณะเดน่ ของภาษาซี................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................. .................................................................................................................................................................. .................................................................................................................................................................................................................................................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................................................................................3. การพฒั นาโปรแกรมภาษาซี มขี น้ั ตอนอยา่ งไร................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................................................................................................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................................................................................................................................................................................... .................................................................................................................................................................. .................................................................................................................................................................................................................................................................................................................................... ...............................................................ชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 18รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศึกษาปีท่ี 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซี บตั รกจิ กรรมกำรเรียนรูท้ ่ี 1 เรอ่ื งเรมิ่ ต้นกบั ภำษำซี 4. คอมเมต์ในภาษาซีมกี ่ีรูปแบบ พร้อมอธิบายว่าแตกตา่ งกันอยา่ งไร และยกตวั อย่างประกอบ .................................................................................................... .............................................................. .................................................................................................... ............................................................. .................................................................................................................................................................. .................................................................................................... ............................................................. .................................................................................................... .............................................................. .................................................................................... ............................................................................. .................................................................................................... .............................................................. ................................................................................................................................................................. .................................................................................................... .............................................................. .................................................................................................... .............................................................. 5. ภาษาซถี กู พฒั นาขนึ้ ใน ค.ศ. ใด โดยใคร และพฒั นามาจากภาษาใด .................................................................................................... ............................................................. .................................................................................................................................................................. .................................................................................................... ............................................................. .................................................................................................... .............................................................. .................................................................................................... .............................................................. .................................................................................................... ............................................................. .................................................................................................................................................................. .................................................................................................... ............................................................. .................................................................................................... .............................................................. .................................................................................................................................................................. .................................................................................................... ............................................................. .................................................................................................... .............................................................. ..................................................................................................................................................................ชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 19รายวชิ าภาษาซี ง30243 ช้นั มธั ยมศกึ ษาปีที่ 5

ชุดท2่ี โครงสร้างของโปรแกรมภาษาซีบัตรเน้ือหำที่ 2 ขอ้ มูลและตวั แปร ในภำษำซีขอ้ มูลของภาษาซี สาหรบั เร่ืองข้อมูลของภาษาซี จะกลา่ วถึงเร่อื งตัวอักขระ ค่าคงที่ และตัวแปร ดังรายละเอียดต่อไปนี้1. ตัวอกั ขระ (charactors) ตวั อกั ขระในภาษาซี สามารถจาแนกออกเป็น 3 ประเภท คอื 1. ตวั เลข (digits) คือ ตวั เลข 0, 1, 2, …., 9 และตวั เลขฐานสบิ หก A, B, C, D, E และ F 2. ตัวอกั ษร (letters) สามารถใชต้ วั อักษรพมิ พใ์ หญ่ (uppercase letter) คือ A, B, C, …, Z และตวั อักษรพมิ พ์เลก็ (lowercase letter) คือ a, b, c, …., z รวมทง้ั สนิ้ 52 ตวั อักษร 3. ตวั อักขระพิเศษ (special character) ซ่งึ ได้แก่! .(dot) ( ~#*= ;%+ | /^“> -?<) [: ,(comma) & _] ‘b (blank หรือ space)ยกเว้นเคร่อื งหมาย _ (underscore) เพียงตวั เดียวที่ภาษาซี จดั เป็นตัวอักษรตัวหน่ึง โดยทตี่ ัวอักขระชนิดต่าง ๆ นีจ้ ะถูกนาไปใช้เป็นค่าคงที่ ตัวแปร ตัวดาเนนิ การ หรือนพิ จน์ ท่ีใช้ในภาษาซี ต่อไปชุดกจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 20รายวชิ าภาษาซี ง30243 ชั้นมธั ยมศกึ ษาปีที่ 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซี2. ค่าคงที่ (constants) 21 ค่าคงท่ี คือตัวอักขระท่นี ามาประกอบกันต้ังแต่ 1 ตัวอกั ขระข้ึนไป เพ่ือบอกลกั ษณะอย่างใดอยา่ งหนงึ่ ของขอ้ มลู บางครั้งเราอาจเรียกค่าคงที่ว่า “ข้อมลู ” (data) กไ็ ด้ 1. ค่าคงทีช่ นิดตัวเลขจานวนเตม็ (integer constant) คา่ คงทช่ี นดิ นจ้ี ะเป็นตวั เลขจานวนเต็มซง่ึ อาจมีเครือ่ งหมายบวกหรือลบก็ได้ เช่น 0, 9, 85, -698, 1832, -2080 เปน็ ตน้ โดยตวั เลขจานวนเตม็ ทจี่ ะสามารถเก็บไดป้ กตจิ ะอยู่ในชว่ ง -32768 ถึง 32767 เท่านน้ั บางคร้ังเรานิยมเรียกค่าคงท่ีชนิดน้วี า่ ค่าคงท่ี int (integer) สาหรับการเกบ็ ค่าคงทช่ี นดิ int นภ้ี ายในหน่วยความจา จะใช้เนือ้ ท่ี 2 bytes นอกจากน้ยี ังสามารถเขยี นค่าคงท่ชี นิดนใี้ ห้อย่ใู นรูปแบบตวั เลขฐานแปดและฐานสบิ หกได้ โดยใชต้ วั เลขศูนย์ (0) นาหน้าแล้วตามดว้ ยเลขฐานแปดทีต่ ้องการหรือจะใชต้ วั เลขศูนย์เอ็กซ์ (0x หรือ 0X) นาหนา้ แลว้ ตามดว้ ยเลขฐานสบิ หกที่ต้องการ เชน่ 046, 027, 0xBD, 0X1BCF เป็นตน้ 2. ค่าคงทีช่ นดิ ตัวเลขทศนิยม (floating point constant) คา่ คงท่ชี นดิ นี้จะเปน็ ตัวเลขจานวนทศนยิ มซ่ึงอาจจะมีเครื่องหมายบวก หรือลบก็ได้ หรือเป็นตวั เลขทส่ี ามารถเขยี นอยู่ในรูป E ยกกาลงั ได้ เช่น 3.0,0.234, -0.54, 4E-06, 1.675E+10 เปน็ ตน้ โดยตวั เลขทศนิยมนีจ้ ะสามารถเกบ็ ได้ปกตจิ ะอยู่ในชว่ ง 1.2E-38 ถงึ 3.4E+38 เท่านัน้ สาหรบั การเก็บค่าคงที่ชนดิ float นจ้ี ะใชเ้ น้อื ทภ่ี ายในหน่วยความจา 4 bytes โดยท่ี 3 bytesแรกจะเกบ็ คา่ ตัวเลขทศนิยม ส่วนอกี 1 bytes สดุ ท้ายจะเก็บค่ายกกาลงั เอาไว้ 3. ค่าคงทต่ี ัวเลขทศนิยมทม่ี ีความละเอียดสองเทา่ (double floating point) ค่าคงท่ชี นดิ นน้ี ยิ มเรียกว่า ค่าคงที่แบบ double ซึง่ จะสามารถเก็บตวั เลขทศนยิ มที่มีค่าอยู่ในชว่ ง 2.2E-308 ถึง 1.8E+308เท่านน้ั สาหรบั การเกบ็ ค่าคงทีช่ นิด double น้ี จะใชเ้ นอื้ ท่ภี ายในหนว่ ยความจา 8 bytes โดยใช้ 7bytes แรกเก็บค่าตัวเลขทศนิยม สว่ นอกี 1 bytes สดุ ทา้ ยจะเกบ็ คา่ ยกกาลังเอาไว้ เชน่ เดียวกบั ค่าคงท่ีชนิด float 4. ค่าคงท่ชี นิดตัวอกั ขระตวั เดยี ว (single character constant) ค่าคงท่ีชนิดน้ีจะสามารถเก็บตวัอกั ขระไดเ้ พียง 1 ตัวอักขระ โดยอยู่ภายในเครื่องหมาย ‘ ’ (single quotation) เชน่ ‘5’, ‘X’, ‘c’เป็นตน้ สาหรับการเกบ็ ค่าคงท่ชี นดิ single character constant จะใช้เนอื้ ทภ่ี ายในหนว่ ยความจา 1bytes 5. ค่าคงที่ชนดิ ข้อความ (strings constant) คา่ คงทชี่ นิดนจ้ี ะเก็บตัวอักขระที่มคี วามยาวตงั้ แต่ 1 ตวัขน้ึ ไป โดยจะเกบ็ อยใู่ นรูปของข้อมลู อะเรย์ (arrays) ซ่ึงในแต่ละตวั อกั ขระจะใช้เน้ือท่ีในการเกบ็ 1 bytes เรยี งตดิ ต่อกนั ไปจนกระทั่งจบข้อความ และใน byte สดุ ทา้ ยจะเก็บ \0 (null character) เอาไวเ้ พอ่ื เป็นการบอกว่าจบข้อความแลว้ การเขียนคา่ คงทช่ี นิดข้อความจะต้องเขียนอยู่ภายในเคร่ืองหมาย “……” (doublequotation) เช่น “X”, ”computer”, “4567”, “c” เปน็ ต้น ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีท่ี 5

ชุดท2่ี โครงสรา้ งของโปรแกรมภาษาซีตัวอย่างท่ี 2.1 แสดงการเก็บข้อมูลชนดิ ข้อความ คาวา่ “COMPUTER” ภายในหน่วยความจาจะมลี กั ษณะดงั น้ี3. ตัวแปร (variables) ตัวแปร คือ ช่อื ท่ผี ู้เขยี นโปรแกรมต้ังขึน้ เพื่อใช้เป็นข้อมลู หรอื ใชเ้ ก็บข้อมูล ดังนัน้ เราต้องกาหนดตวัแปรใหส้ อดคล้องกบั ชนิดขอ้ มูลเสมอ เพ่ือให้ระบบเตรียมเน้อื ที่ในหนว่ ยความจาใหส้ อดคล้องกับตัวแปรชนดินนั้ ๆ ซ่ึงเนอื้ หาท่กี ล่าวถงึ เก่ียวกบั ตวั แปรประกอบด้วย หลกั เกณฑ์การต้งั ชอื่ ตวั แปร การประกาศตัวแปรและการกาหนดคา่ เรม่ิ ต้นให้กับตวั แปร 1. หลักเกณฑ์การตั้งชื่อตัวแปร ในภาษาซี มหี ลักเกณฑ์การตงั้ ชอื่ ตวั แปรดงั นี้ 1. ช่อื ตัวแปรจะต้องขึน้ ตน้ ดว้ ยตัวอักษรเทา่ นั้น ตัวถดั มาเป็นได้ทงั้ ตัวอักษร ตัวเลข แต่ตอ้ งไม่มีเครื่องหมายคานวณ บวก (+), ลบ (-), คูณ (*), หาร (/), หารเอาเศษ (%) และเคร่ืองหมายเวน้ วรรค(blank) ค่นั ระหวา่ งชอ่ื ตัวแปร แตถ่ า้ ต้องการตัง้ ชือ่ ตัวแปรเวน้ วรรคให้ใช้เครอื่ งหมาย _ (underscore) คั่นแทนการเว้นวรรค เช่น sum_1, sum_2 เปน็ ตน้ 2. ความยาวของชื่อตวั แปร ข้ึนอยู่กบั คอมไพเลอรแ์ ละระบบเคร่อื งคอมพวิ เตอร์ ซง่ึ ภาษาซีสามารถตง้ั ชอื่ ตัวแปรได้ยาวถึง 32 ตวั แตโ่ ดยปกตเิ ราไม่นยิ มตัง้ ชอ่ื ตัวแปรยาว ๆ 3. ชอื่ ตัวแปรตัวอกั ษรพิมพใ์ หญ่และตัวอกั ษรพิมพ์เล็ก แม้จะเขยี นคาเดียวกัน หรือตัวอักษรพิมพใ์ หญป่ นตัวอักษรพิมพ์เล็กทีส่ ลับตาแหนง่ กัน ระบบถือว่าเป็นคนละตวั แปรกัน เชน่ ตวั แปร MAX, max,Max, mAx, maX จะถอื ว่าตัวแปรท้ัง 5 ตวั นเี้ ป็นคนละตัวกนั 4. หา้ มต้ังชอ่ื ตวั แปรซ้ากับคาสงวน (reserved word) หรือชือ่ ฟงั กช์ นั หรือชื่อคาสั่งในภาษานน้ั ๆ asm, auto else typedef short while long char float double switch extern unsigned int case return continue struct register union for break enum const signed void default goto volatile sizeof do if staticชดุ กจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 22รายวชิ าภาษาซี ง30243 ชั้นมธั ยมศึกษาปที ่ี 5

ชดุ ท2ี่ โครงสรา้ งของโปรแกรมภาษาซี 5. ชื่อตวั แปรควรต้ังให้สมั พนั ธก์ ับขอ้ มลู ทต่ี อ้ งการเก็บ เพ่ือป้องกนั ความสบั สน เนอ่ื งจากโปรแกรมท่ีมีขนาดใหญ่จะมีตัวแปรจานวนมาก ถ้าเราตั้งช่อื ตวั แปรโดยไม่มรี ะบบระเบียบทด่ี ีพอจะทาใหผ้ ูอ้ ่านโปรแกรมเกดิ ความสับสนและในกรณีท่ีโปรแกรมเกิดข้อผิดพลาดข้ึนจะเสยี เวลาในการแกไ้ ขโปรแกรมมากขน้ึเช่น ตัวแปร name ใชเ้ ก็บชือ่ ตัวแปร age ใชเ้ กบ็ อายุ ตัวแปร salary ใช้เกบ็ เงินเดือน ตวั แปร vat ใช้เกบ็ ภาษี 2. การประกาศตวั แปร (declaration of variables) ตวั แปรทกุ ตัวตอ้ งมีการประกาศชอื่ ตวั แปร (variable name) และชนิดของตัวแปร (variable type)เอาไวก้ ่อน จงึ จะสามารถนาตัวแปรทีป่ ระกาศไวม้ าใช้งานได้ รูปแบบการประกาศตวั แปร vtype vname ; โดยที่ vtype คือ ชนขิ องตัวแปรพืน้ ฐานทนี่ ยิ มใช้กันมีอยู่ 4 ชนิด คอื char, int, float, และ double ซึ่งในความเป็นจรงิ แล้ว การประกาศชนดิ ของตวั แปรจะต้องให้ความสัมพันธก์ ับคา่ ข้อมูลทต่ี ้องการเกบ็ ดว้ ย vname คอื ช่อื ของตวั แปร ถ้ามตี วั แปรหลายตัวที่ต้องการให้มีชนิดตัวแปรเหมอื นกนั สามารถใช้เครอื่ งหมาย, (comma) คัน่ ระหว่างชือ่ ตวั แปรได้ ตวั อย่างท่ี 2.2 แสดงการประกาศตวั แปร 1. char d, c[30];จะได้ตวั แปร d มีชนิดเปน็ single character และตัวแปรสตรงิ c มีขนาด 30 bytes 2. int a, b;จะไดต้ ัวแปร a และ b มีชนิดเป็น int คือใช้เนือ้ ทใ่ี นหนว่ ยความจา 2 bytes สามารถเกบ็ ตัวเลขจานวนเต็มท่ีมคี ่าอยใู่ นชว่ ง -32768 ถึง 32767 3. float k, m, n,จะไดต้ ัวแปร k, m และ n มชี นิดเปน็ float คือใชเ้ นื้อท่ใี นหนว่ ยความจา 4 bytes สามารถเกบ็ จานวนทศนยิ ม และตัวเลขท่ีอยู่ในรูป E ยกกาลังได้ 4. double w, x, y, zจะไดต้ ัวแปร w, x, y และ z มีชนิดเปน็ double คือใชเ้ น้ือท่ีในหนว่ ยความจา 8 bytes สามารถเกบ็จานวนทศนยิ ม หรอื ตวั เลขที่อยูใ่ นรปู E ยกกาลงั ท่ีมคี วามละเอยี ดสูงกว่าชนดิ floatชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 23รายวชิ าภาษาซี ง30243 ช้นั มัธยมศกึ ษาปีที่ 5

ชุดท2่ี โครงสรา้ งของโปรแกรมภาษาซีตารางที่ 2.1 แสดงชนิดของตัวแปร จานวน bytes และพสิ ัยของคา่ ข้อมูลในภาษาซี ชนดิ ของตัวแปร จานวน bytes ทใี่ ช้ พสิ ยั ในการเก็บขอ้ มลู(variable types) (range) 1 char 2 -128 to 127 int 2 -32,768 to 32,767 short 4 -32,768 to 32,767 long 1 - unsigned char 2 2,147,483,648 to 2,147,483,647 unsigned int 2 unsigned short 4 0 to 255 unsigned long 2 0 to 65,535 4 0 to 65,535 enum 8 0 to 4,294,967,295 float 0 to 65,535 double 1.2E-38 to 3.4E+38 2.2E-308 to 1.8E+308 กรณีทตี่ ้องการประกาศตัวแปรและกาหนดคา่ เรมิ่ ต้นใหก้ บั ตัวแปรด้วยสามารถทาได้ดงั นี้รูปแบบการประกาศตัวแปรและกาหนดค่าให้กับตวั แปรกรณที ี่มีตัวแปร 1 ตวั vtype vname = value;กรณีที่มีตวั แปรมากกว่า 1 ตัว vtype vname1 = value1, vname2 = value2 ,…..,vnameN = valueN;กรณีที่มีตวั แปรมากกว่า 1 ตวั ใหใ้ ชเ้ ครอื่ งหมาย , (comma) ค่นั ระหว่างชอ่ื ตัวแปรแตล่ ะตวัตวั อยา่ งการประกาศตัวแปรและกาหนดคา่ ให้กบั ตวั แปร การกาหนดค่าเร่มิ ตน้ ใหก้ บั ตวั แปร (initializing variables)ตัวอยา่ งท่ี 2.3 แสดงการประกาศตวั แปรและกาหนดค่าใหต้ วั แปร 1. char d=’D’,e=’E’; 2. char c[6]=”Hello”; 3. int a=9, b=25; 4. float k=5.9; 5. double y=3.543006089;ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 24รายวิชาภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปีที่ 5

ชดุ ท2ี่ โครงสรา้ งของโปรแกรมภาษาซีการกาหนดค่าเรม่ิ ตน้ ให้กับตัวแปร (initializing variables) หลงั จากทเ่ี ราไดป้ ระกาศตวั แปรไว้ ถา้ เราต้องการกาหนดค่าเรม่ิ ต้นให้กบั ตัวแปรใดเราสามารถทาได้ดงั น้ี รปู แบบกาหนดค่าเริ่มต้นให้กับตัวแปร vname = value; โดยท่ี vname คือ ช่อื ตัวแปรที่ได้ประกาศแลว้ value คอื ค่าข้อมลู ทจ่ี ะนาไปเก็บไวใ้ นตัวแปร ซงึ่ อาจเป็นค่าตัวเลขหรือข้อความก็ได้ ถ้าเป็นขอ้ ความจะต้องเขียนอยู่ในเครอื่ งหมาย “……” ตัวอยา่ งที่ 2.4 แสดงการประกาศค่าตัวแปรและกาหนดค่าเริ่มตน้ ให้กบั ตัวแปร int a, b, c=7; /* เปน็ การประกาศตวั แปร a, b, และ c, เป็น int และกาหนด คา่ ตัวแปร c มคี า่ 7 */ a=b=c; /* เป็นการกาหนดค่าตวั แปร a และ b ให้มคี า่ เทา่ กับตัวแปร c (คือมีค่า เท่ากับ 7) */ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 25รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีที่ 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซีบตั รกิจกรรมกำรเรยี นร้ทู ่ี 2เรือ่ งขอ้ มลู และตวั แปรในภำษำซี 101. ใหน้ ักเรียนอิธฺบายใหนลักภเำกษณฑำซก์ าี รตั้งช่ือตัวแปรในภาษาซี มขี อ้ กาหนดอะไรบา้ ง..................................................................................................... .......................................................................................................................................................................................................................................................................................................................................... ..................................................................................................................................................................... .......................................................................................................................................................................................................................................................................................................................................... ..................................................................................................................................................................... .......................................................................................................................................................................................................................................................................................................................................... ..................................................................................................................................................................... ................................................................2. ชนดิ ของตัวแปรในภาษาซีทก่ี าหนดให้ดังต่อไปนี้ ใช้เก็บข้อมลู อะไรบา้ ง int …………………………………………………………………………………………………………………………. char …………………………………………………………………………………………………………………………. float …………………………………………………………………………………………………………………………. long …………………………………………………………………………………………………………………………. double ………………………………………………………………………………………………………………………….3. ใหน้ กั เรียนยกตวั อยา่ งคาสงวน (Reserved Word) ในภาษาซมี า 5 คา 1. …………………………………………………………………………………………………………………………………………… 2. …………………………………………………………………………………………………………………………………………… 3. …………………………………………………………………………………………………………………………………………… 4. …………………………………………………………………………………………………………………………………………… 5. ……………………………………………………………………………………………………………………………………………ชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 26รายวิชาภาษาซี ง30243 ชั้นมัธยมศกึ ษาปที ่ี 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซีบัตรกิจกรรมกำรเรียนรู้ท่ี 2เรอื่ งข้อมลู และตวั แปรในภำษำซี4. จากการประกาศตใวันแภปรำพษรำ้อมCกบั กาหนดคา่ ดังแสดงต่อไปนี้ ขอ้ ใดถูกและข้อใดผดิ โดยใหบ้ อกเหตผุ ลส่วนท่ีผดิ มาด้วย1. int a; …………………………………………………………………………………….2. int b …………………………………………………………………………………….3. int Com budget = 30000; …………………………………………………………………………………….4. int main = 10; …………………………………………………………………………………….5. int _cont = 451; …………………………………………………………………………………….6. char j = “Hello”; …………………………………………………………………………………….7. char j = ‘A’; …………………………………………………………………………………….8. char k = 0x41; …………………………………………………………………………………….9. float z = 1,000.999; …………………………………………………………………………………….10. float x = 45.067; …………………………………………………………………………………….5. ใหน้ กั เรยี นระบวุ า่ การต้ังชอื่ ตวั แปรในข้อต่อไปนี้ ข้อใดถูกหรอื ผิด ถ้าผดิ บอกเหตุผลประกอบ1. void …………………………………………………………………………………….2. MAX_Mine …………………………………………………………………………………….3. double …………………………………………………………………………………….4. time …………………………………………………………………………………….5. G …………………………………………………………………………………….6. return …………………………………………………………………………………….7. suwannawongse 1 …………………………………………………………………………………….8. birth year …………………………………………………………………………………….9. last_name …………………………………………………………………………………….10. #insert …………………………………………………………………………………….ชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 27รายวชิ าภาษาซี ง30243 ช้ันมัธยมศึกษาปที ี่ 5

ชดุ ท2ี่ โครงสรา้ งของโปรแกรมภาษาซี ตัวดำเนนิ กำร บัตรเนื้อหำที่ 3 ในภำษำซี ในหวั ขอ้ เรอื่ งการเขียนโปรแกรมจะกล่าวถงึ เน้ือหา 2 สว่ น คอื ความหมายของโปรแกรมคอมพวิ เตอร์และภาษาคอมพวิ เตอร์ดงั มีรายละเอยี ดต่อไปนี้ ตวั ดาเนินการ (operators)ตัวดาเนนิ การบางครง้ั เรียกว่า “เครอ่ื งหมาย” จะเขา้ ใจง่ายกว่า ในภาษาซี สามารถแบง่ ตัวดาเนินการไดห้ ลายประเภทดังน้ี1. ตวั ดาเนนิ การคณติ ศาสตร์ (mathematical operators)สญั ลกั ษณ์ (symbol) ตวั ดาเนนิ การ (operators) ตัวอยา่ ง+ บวก (addition) a+b- ลบ (subtraction) a-b* คูณ (multiplication) a*b/ หาร (division) a/b% หารเอาเศษ (remainder) a%b2. ตัวดาเนินการความสัมพนั ธ์ (relational operators) ตัวอยา่ งสญั ลกั ษณ์ (symbol) ตวั ดาเนนิ การ (operators) A<b a>b < น้อยกว่า (less than) A<=b > มากกว่า (greater than) <= น้อยกว่าหรอื เท่ากับ a>=b (less than or equal) A==b >= มากกวา่ หรือเท่ากับ a!=b (greater than or equal) == เท่ากับ (equal) != ไม่เท่ากบั (not equal)ชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 28รายวิชาภาษาซี ง30243 ช้นั มธั ยมศกึ ษาปีที่ 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซี3. ตัวดาเนินการเชิงตรรกะ (logical operators) ตัวอยา่ งสัญลักษณ์ (symbol) ตวั ดาเนนิ การ (operators) A<b && c>d a<b || c>d && และ (AND) || หรอื (OR) !(a<b) ! ไม่ (NOT)4. ตัวดาเนนิ การเพ่มิ ค่าและลดคา่ (increment and decrement operators)สญั ลกั ษณ์ (symbol) ตัวดาเนินการ (operators) ตวั อยา่ ง++ เพม่ิ ค่า (increment) a++ หรอื ++a-- ลดค่า (decrement) a-- หรือ --a5. ตัวดาเนนิ การบติ ไวส์ (bitwise operators) ตวั อยา่ งสัญลักษณ์ (symbol) ตัวดาเนนิ การ (operators) a&b a|b & AND a^b | inclusive OR ~a ^ exclusive OR a>>2 ~ Complement a<<3 >> right shift << left shift6. ตัวดาเนินการกาหนดค่า (compound assignment operators)สญั ลักษณ์ (symbol) ตัวดาเนนิ การ (operators) ตวั อยา่ ง= Assignment a=b+= Addition a+=b หมายถึง (a=a+b)-= Subtraction a-=b หมายถงึ (a=a-b)*= Multiplication a*=b หมายถงึ (a=a*b)/= Division a/=b หมายถึง (a=a/b)%= Remainder a%=b หมายถงึ (a=a%b)&= bitwise AND a&=b หมายถงึ (a=a&b)|= bitwise Inclusive OR a|=b หมายถึง (a=a|b)^= bitwise exclusive OR a^=b หมายถงึ (a=a^b)<<= right shift a<<2 หมายถึง (a=a<<2)>>= left shift a>>3 หมายถึง (a=a>>3)ชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 29รายวชิ าภาษาซี ง30243 ชัน้ มัธยมศึกษาปีที่ 5

ชุดท2ี่ โครงสร้างของโปรแกรมภาษาซี7. ตัวดาเนินการแบบเง่ือนไข (conditional operators) ตวั อย่างสัญลกั ษณ์ (symbol) ตัวดาเนินการ (operators) Max = (a>b) ? a: b;Result = (expression) Conditional Operators ? Value1 : vaule2 ;ลาดับการทางานของตัวดาเนินการ (precedence and associativity of operators)ลาดับท่ี ตัวดาเนินการ ลกั ษณะการทางาน (Operator) (Associativity)1 ( ) [ ] . -> Left to right2 - ~!*& Light to left3 ++ - - Right to left4 */% Left to right5 +- Left to right6 << >> Left to right7 < > < = >= Left to right8 = = != Left to right9 & (bitwise AND) Left to right10 ^ (bitwise exclu OR) Left to right11 | (bitwise inclu OR) Left to right12 && Left to right13 || Left to right14 ?: Left to right15 = += -= /= %= Right to left16 <<= >>= Right to left ตวั ดาเนนิ การที่มลี าดับการทางานอันดบั ท่ี 1 จะทางานกอ่ นอนั ดบั ท่ี 2 โดยทางานไปเร่อื ย ๆจนกระทัง่ หมดตัวดาเนนิ การ สว่ นลักษณะการทางานของตวั ดาเนินการแต่ละอันดับนัน้ แตกตา่ งกนั ไป ซ่ึงจะเปน็ การทางานจากซ้ายไปขวา (left to rigth) หรือขวาไปซ้าย (rigth to left) กไ็ ด้ชุดกจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 30รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปที ่ี 5

ชดุ ท2ี่ โครงสรา้ งของโปรแกรมภาษาซีตัวอย่างที่ 2.5 แสดงขน้ั ตอนการทางานของตัวดาเนนิ การ8+5*3 ตวั ดาเนนิ การ * อยู่ลาดบั สงู กว่าตวั4 +15 ดาเนนิ การ + จงึ ต้องคูณเลขก่อนแลว้ ทาการ19 การบวกเลขทหี ลัง10 / 2 + 5 – 3 ตวั ดาเนินการ / อยลู่ าดับสงู กวา่ ตัว5+5–3 ดาเนินการ + และ - สว่ นตวั10 - 3 ดาเนินการ + และ - อยู่ลาดบั เดยี วกัน แตใ่ ห้ ทา7 จากซ้ายไปขวา จงึ ทาบวกก่อนแลว้ จงึ ทาลบ9 * 3 - 20 / 5 + 6 ตัวดาเนินการ * และ / อยูล่ าดบั เดยี วกันใหท้ า จากซ้ายไปขวา คือ คูณเลขก่อน แลว้ หาร จาก27 - 4 + 6 ซ้ายไปขวา คือ คูณเลขก่อน แล้วหาร23 + 6 ตัวดาเนินการ + และ – อยู่ลาดับเดยี วกันใหท้ า29 จากซ้ายไปขวา คอื ลบเลขก่อนแล้ว จงึ บวกทีหลงัชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 31รายวิชาภาษาซี ง30243 ชั้นมธั ยมศกึ ษาปที ี่ 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซีนิพจน์ (expression) นพิ จน์ คือ การนาคา่ คงท่ีตวั แปรและตัวดาเนินการมาเขียนประกอบกนั เพื่อใหต้ ัวแปรภาษาสามารถเข้าใจและคานวณหาผลลัพธ์ได้ตามที่เราต้องการตัวอยา่ งที่ 2.6 ถ้าต้องการหาคา่ จากสตู ร a2+2ab+b2 เมอ่ื a=2, b=3 เราจะต้องเขียนสูตรดังกลา่ วใหเ้ ปน็นพิ จนด์ ังน้ี a*a+2 *a *b+b*b ……………………..…………………………… แบบท่ี 1 หรอื pow(a,2) + 2 *a *b + pow(b,2) ……………………………… แบบท่ี 2 สาหรับฟังก์ชัน pow(x,y) เปน็ ฟังกช์ ันที่ใช้หาคา่ ตวั เลขท่อี ยใู่ นรูปเลขยกกาลงัโดยท่ี x เปน็ เลขฐานซ่ึงจะต้องมีค่าเปน็ เลขจานวนเต็มบวกหรือศนู ย์ก็ได้ y เปน็ เลขยกกาลังซึ่งอาจจะเป็นเลขจานวนเต็มบวกหรือลบก็ได้ดงั น้ัน pow(x,y) หมายถึง xy สว่ น pow(a,2) หมายถงึ a2 และ pow(b,2) หมายถึง b2ขอ้ ควรระวงั กอ่ นทเ่ี ราจะใช้ฟงั กช์ นั pow(x,y) นจี้ ะต้องใชค้ าสั่ง #include<math.h> อยบู่ นสว่ นต้นของโปรแกรม เพื่อนาแฟ้ม math.h เขา้ มาไว้ในโปรแกรมภาษาซี ก่อน มฉิ ะนน้ั อาจเกดิ ข้อผิดพลาดในการแปลโปรแกรมได้เพราะไมส่ ามารถหาฟังก์ชนั pow(x,y) ได้ตวั อยา่ งที่ 2.7 แสดงนิพจน์ตวั อย่าง ซึ่งมีอยู่หลายชนดิ ตังตอ่ ไปน้ี1. a+b*10+(3*c)*8 /* นพิ จนท์ างคณติ ศาสตร์*/2. (m>=n)&&(x<y) /* นพิ จน์เชิงตรรกะและนิพจน์เชงิ เปรยี บเทยี บความสมั พนั ธ์*/3. !(k==25) /* นพิ จน์เชิงตรรกะและนิพจนเ์ ชิงเปรยี บเทยี บความสมั พนั ธ*์ /4. !(p) /* นพิ จน์เชงิ ตรรกะ*/5. (i>10)||(j<5) /* นพิ จน์เชิงตรรกะและนิพจน์เชงิ เปรยี บเทยี บ*/6. if (y==z) /* นพิ จน์เง่อื นไข*/ตัวอย่างท่ี 2.8 แสดงการหาค่าผลลพั ธ์จากนพิ จน์ในภาษาซีกาหนดให้ int x=5, y=8, z=9;1. x+(y*z) ผลลัพธค์ ือ 772. x+y*z+x*3 ผลลพั ธค์ อื 92ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 32รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศกึ ษาปที ่ี 5

ชุดท2่ี โครงสรา้ งของโปรแกรมภาษาซีการแปลงชนดิ ขอ้ มลู ของภาษาซี (C type conversion)เมอื่ เราเขียนโปรแกรมมักจะพบวา่ ใช้ตวั ดาเนินการกบั ตวั แปรของชนิดข้อมลู แตกต่างกนั เพ่อื อานวยความสะดวกในการเขยี นโปรแกรมภาษาซี จึงได้กาหนดกฎเกณฑ์ดังน้ี ถ้าค่าตวั แปร หรือคา่ คงที่ตา่ งชนิดกนัให้ทาการเปล่ียนชนดิ ของขอ้ มูลทมี่ ขี นาดเล็กใหเ้ ปน็ ชนดิ ของขอ้ มลู ที่ใหญ่ขึน้ชนิดของขอ้ มูล x ชนดิ ของข้อมูล y x ชนิดของข้อมูล yint long longchar int intint float floatint double doublefloat double doublelong double doubleชนิดขอ้ มลู ตา่ ง ๆ long double long double --- --- --- กาหนดให้ x เปน็ ตวั แปรชนิดข้อมูลแบบ int และ y เปน็ ตัวแปรข้อมูลแบบ long เมอ่ื นา x และy มา บวก ลบ คณู และหารกัน ผลลพั ธ์ที่ได้จะเป็นชนิดข้อมูลแบบ long (เพราะ long มพี สิ ัยในการเกบ็ ข้อมลู กว้างกว่า int) เช่น int x = 7; float y = 2; ถ้า x/2 จะไดผ้ ลลพั ธ์เป็น 3 (ชนดิ ข้อมูลแบบ int) ถ้า x/y จะได้ผลลพั ธเ์ ปน็ 3.500000 (ชนดิ ข้อมูลแบบ float) ข้อสงั เกต ภาษาซี เปน็ ภาษาทดี่ ีมาก ท่ีอานวยความสะดวกในการแปลงชนดิ ข้อมลู ของตวั แปรให้ใหญ่ขนึ้ ทาให้ไม่มีปญั หาในการเกบ็ ขอ้ มลู และเราไม่ต้องกังวลผลทีไ่ ด้จากการดาเนินการของตัวแปรในนิพจน์ตา่ ง ๆ นอกจากนี้ภาษาซี ยังอนญุ าตใหเ้ ราแปลงชนดิ ข้อมูลไดช้ ่วั คราวด้วยตวั ผู้เขยี นโปรแกรมเอง โดยให้ศึกษาโปรแกรมตวั อย่างที่ 2.4 และโปรแกรมตวั อยา่ งที่ 2.5 โดยโปรแกรมตวั อยา่ งท่ี 2.4 แสดงการคานวณค่าจา้ งที่ผิด ส่วนโปรแกรมตวั อยา่ งที่ 2.5 แสดงการคานวณคา่ จา้ งท่ถี ูกโดยการเปลี่ยนแปลงชนดิ ข้อมลูชั่วคราวชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 33รายวิชาภาษาซี ง30243 ชนั้ มัธยมศึกษาปที ี่ 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซีโปรแกรมตวั อยา่ งท่ี 2.4 แสดงโปรแกรมการคานวณค่าจา้ งท่ีผดิ/* errcal.c *//* This program calculate emloyees share */#include<stdio.h>#include<conio.h>void main(void){ int profits, employees; /* บรรทดั ท่ี 1 */ clrscr(); /* บรรทัดที่ 2 */ profits = 9; /* บรรทัดที่ 3 */ employees = 2; /* บรรทดั ท่ี 4 */ printf(\"Each employee gets %d\n\",profits/employees); /* บรรทดั ที่ 5 */ getch();} ผลลัพธ์ทไี่ ด้จากโปรแกรม Each employee gets 4 (ซึ่งเปน็ คาตอบทีผ่ ิด)คาอธิบายโปรแกรมจากโปรแกรมตวั อย่างที่ 2.4 สามารถอธบิ ายการทางานของโปรแกรมทสี่ าคญั ๆ ได้ดังนี้บรรทดั ที่ 1 เป็นการประกาศตัวแปร profits และ employees ให้เปน็ ชนิด intบรรทัดที่ 2 เป็นคาสง่ั ใหล้ บจอภาพบรรทดั ท่ี 3 และ 4 กาหนดคา่ ให้กบั ตัวแปร โดย profits มีค่า 9 และ employees มีค่า 2บรรทดั ท่ี 5 ใหพ้ มิ พ์ข้อความ Each employee gets 4 ออกแสดงทจ่ี อภาพ โดยตัวเลข 4 ได้จากการคานวณ 9/2 คือคา่ ของตวั แปร porfits/ employeesชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 34รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปที ี่ 5

ชดุ ท2่ี โครงสร้างของโปรแกรมภาษาซี จากโปรแกรมตัวอยา่ งท่ี 2.4 เราคงเหน็ แลว้ วา่ ผลหารทไ่ี ด้จะเป็นจานวนเต็ม สว่ นท่เี ปน็ เลขทศนิยมจะตัดทง้ิ ไป เมือ่ ภาษาซี ทางานกบั ข้อมลู ชนดิ จานวนเต็ม เพอื่ แก้ปัญหาท่เี กดิ การผิดพลาด ในกรณีน้ีเราสามารถเปลยี่ นชนิดข้อมลู ไดช้ ่ัวคราว คือ เปลี่ยนตัวแปร profits จากชนดิ ขอ้ มูลแบบ int ไปเป็น floatชัว่ คราว ดงั ตัวอยา่ งโปรแกรมที่ 2.5 ต่อไปน้ี โปรแกรมตวั อยา่ งท่ี 2.5 แสดงโปรแกรมการเปล่ียนแปลงชนิดข้อมลู ชว่ั คราว /* change.c */ /* This program calculates employee share. */ #include<stdio.h> #include<conio.h> void main(void) { int profits, employees; clrscr(); profits = 9; employees = 2 ; printf(\"Each employee gets %f\", (float) profits/employees); /* บรรทัดท่ี 1 */ getch(); } ผลลัพธท์ ไี่ ดจ้ ากโปรแกรม Each employee gets 4.500000 คาอธบิ ายโปรแกรม โปรแกรมข้างต้นจะเหมือนกับโปรแกรมที่ 2.4 ทกุ ประการยกเว้น บรรทดั ที่ 1 ในการคานวณ(float) profits / employees เป็นการเปลีย่ นตัวแปร profits จากชนิดขอ้ มูล int ใหเ้ ปน็ floatช่ัวคราว ดังนนั้ ผลลพั ธท์ ไ่ี ดจ้ ากโปรแกรมจึงเป็น 4.500000 และใช้ %f ในการควบคุมการแสดงผลชดุ กจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 35รายวิชาภาษาซี ง30243 ช้ันมธั ยมศึกษาปที ่ี 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซี จากโปรแกรมตัวอย่างที่ 2.5 ข้างต้นได้ใช้ฟังก์ชัน printf( ) เพื่อแสดงให้อยู่ในรูปแบบท่ีต้องการ โดยใช้รหัสรูปแบบ %f (format code) %f เป็นรหัสรูปแบบการพิมพ์ข้อมูลชนิด float (ซึ่งรายละเอียดกล่าวไว้ในบทที่ 3 ตารางท่ี 3.2) ได้สรุปรหัสรูปแบบการพิมพ์ข้อมูลทั้งหมดที่ใช้กับฟังก์ชันprintf( ) ผู้เขียนโปรแกรมควรจาให้ได้ทั้งหมด เพื่อความสะดวกและรวดเร็วในการใช้เขียนโปรแกรมในโอกาสตอ่ ไปชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 36รายวิชาภาษาซี ง30243 ชน้ั มัธยมศึกษาปีท่ี 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซีบตั รกิจกรรมกำรเรยี นรู้ที่ 3 10เร่ืองตัวดำเนินกำรในภำษำซี1. ใหน้ ักเรียนอธิบายความหมายของนิพจน์…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………2. ใหน้ ักเรียนอธบิ ายความหมายและประเภทของตัวดาเนนิ การ…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………3. ให้เขยี นขน้ั ตอนการดาเนินการของนิพจน์ต่อไปน้ี x=5 -3 * 8 % 3…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………4. ใหเ้ ขยี นขน้ั ตอนการดาเนินการของนพิ จนต์ ่อไปนี้ x=(2 * 3 – 4)+4 – (1+1 )………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………ชุดกจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 37รายวิชาภาษาซี ง30243 ชัน้ มัธยมศกึ ษาปที ี่ 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซีบตั รกจิ กรรมกำรเรยี นรูท้ ี่ 3เรอื่ งตัวดำเนินกำรในภำษำซี5. กาหนดโปรแกรมดังนี้#include <stdio.h> /* 1 */main () /* 2 */ { /* 3 */ printf(“Hello!! This is my fiest program. \n ”); /* 4 */ printf(“I love C programming. \n”); /* 5 */ } /* 6 */จากโปรแกรมใหอ้ ธบิ ายข้นั ตอนการทางานและผลลัพธข์ องโปรแกรม……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………ชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 38รายวชิ าภาษาซี ง30243 ชนั้ มธั ยมศกึ ษาปีที่ 5

ชุดท2่ี โครงสร้างของโปรแกรมภาษาซีแบบทดสอบหลังเรียนเรื่อง โครงสร้ำงของโปรแกรมภำษำซีคาช้ีแจง1. แบบทดสอบเป็นแบบปรนัย จานวน 10 ข้อ2. ให้นักเรียนเลอื กคาตอบที่ถูกต้องทส่ี ุดเพียงคาตอบเดยี ว แล้วใส่เคร่ืองหมายกากบาท (x) ลงในกระดาษคาตอบ1. ข้อใด คือฟังกช์ น่ั ในการแสดงขอ้ มลู ออกทางจอภาพก. printf ข. scanfค. write ง. display2. การบอกใหค้ อมไพเลอรน์ าเฮดเดอร์ไฟลเ์ ขา้ มารว่ มแปลน้ัน ตอ้ งเริ่มต้นด้วยเคร่อื งหมายใดก. เครือ่ งหมาย # ข. เครือ่ งหมาย @ค. เคร่ืองหมาย $ ง. เครอ่ื งหมาย &3. ทุกโปรแกรมในภาษาซีจะตอ้ งมีอะไรก. int ข. mainค. var ง. printf4. การคอมเมนตใ์ นภาษาซี ข้อใดไมถ่ ูกตอ้ งก. //comment ข. //\\commentค. /* comment */ ง. /* comment /5. ข้อใดผดิ กฏการต้งั ช่ือตวั แปรก. name_5 ข. _name5ค. 5name ง. _name_56. กาหนดให้ num=3.5 จากโจทย์ ควรประกาศตัวแปรชนิดใดก. int ข. floatค. char ง. stringชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 39รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศกึ ษาปที ่ี 5

ชดุ ท2ี่ โครงสร้างของโปรแกรมภาษาซี7. โครงสร้างของโปรแกรมภาษาซแี บง่ ออกเปน็ กส่ี ่วนก. 1 สว่ น ข. 2 สว่ นค. 3 ส่วน ง. 4 ส่วน8. เครื่องหมาย Semi colon ใช้ทาอะไร ในภาษาซีก. เรม่ิ ต้นโปรแกรม ข. ส้นิ สดุ โปรแกรมค. เริ่มประโยคคาสั่ง ง. จบแตล่ ะประโยคคาส่งั9. ประกาศตวั แปรชื่อ name ไวใ้ ช้เกบ็ ชือ่ เลน่ ของนักเรียนก. int name; ข. float name;ค. char name; ง. string name;10. ฟังก์ชน่ั ใดท่ใี ช้เกบ็ คาส่ังเก่ียวกบั การสง่ ข้อมูลเข้าและออกก. conio.h ข. stdio.hค. math.h ง. string.hชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 40รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศึกษาปีท่ี 5

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

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซี บรรณำนุกรมกติ ติชัย ชีวาสุขถาวร. (2550). ภาษาซีทลี ะกา้ ว. กรงุ เทพฯ : เคทีพี คอมพ์ แอนด์ คอนซัลท์.กลุ รพี ศิวาพรรักษ์. (2557). เทคโนโลยีสารสนเทศและคอมพวิ เตอร์ 4-6. กรงุ เทพฯ : สานักพิมพเ์ อมพันธ.์ธีรวฒั น์ ประกอบผล. (2550). การเขียนโปรแกรมระบบปฏิบตั ิการเทก็ โหมด(ด้วยภาษาซ)ี . กรุงเทพฯ : ซัคเซสมีเดีย.นิรธุ อานวยศลิ ป์. (ม.ป.ป.). C Programming เขียนโปรแกรมภาษาซฉี บบั สมบรู ณ.์ ม.ป.ท. : ด่านสุทธาการพมิ พ์พัฒพงษ์ อมรวงศ.์ (2554). การเขียนโปรแกรมภาษาซี. ปทมุ ธานี : มเี ดยี อนิ เทลลิเจนซ์ เทคโนโลยี.มัณฑนา ปราการสมทุ ร. (2534). การเขยี นชุดคาสั่งภาษาซี. กรงุ เทพมหานคร : ดวงกมลสมัย.สถาบันสง่ เสริมการสอนวิทยาศาสตรแ์ ละเทคโนโลยี กระทรวงศกึ ษาธกิ าร. (2551). ภาษาซี ชว่ งช้ันท่ี 4 ชนั้ มธั ยมศึกษาปที ี่ 4 - 6. กรุงเทพฯ : โรงพมิ พค์ ุรุสภาลาดพรา้ ว.สมชาย รัตนเลิศนสุ รณ์. (2545). การเขียนโปรแกรมคอมพวิ เตอรด์ ้วยภาษาซี. กรงุ เทพฯ : สมาคมส่งเสริมเทคโนโลยี (ไทย-ญี่ปุ่น)โอภาส เอ่ยี มสิริวงศ์. (2552). การเขยี นโปรแกรมดว้ ยภาษาซี (Programming with C). กรงุ เทพมหานคร : ซีเอ็ด.ชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 42รายวชิ าภาษาซี ง30243 ช้นั มธั ยมศึกษาปีท่ี 5

ชุดท2่ี โครงสรา้ งของโปรแกรมภาษาซี ภาคผนวกชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 43รายวิชาภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีที่ 5

ชดุ ท2่ี โครงสร้างของโปรแกรมภาษาซีแบบบันทกึ คะแนนระหวำ่ งเรียนเรอื่ ง กำรพฒั นำโปรแกรมและกำรจำลองควำมคิดชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 44รายวชิ าภาษาซี ง30243 ช้นั มัธยมศกึ ษาปที ่ี 5

ชดุ ท2่ี โครงสรา้ งของโปรแกรมภาษาซีเฉลยแบบทดสอบกอ่ นเรียนเร่ือง โครงสรำ้ งของโปรแกรมภำษำซี ชื่อ .................................................................................... ชน้ั ................ เลขท่ี ...... ........ ข้อท่ี ก ข ค ง 1. × 2. × 3. × 4. × 5. × 6. × 7. × 8. × 9. × 10. ×ชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 45รายวิชาภาษาซี ง30243 ชน้ั มธั ยมศึกษาปีที่ 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซีเฉลยบตั รกจิ กรรมกำรเรียนรทู้ ่ี 1 10 เรอื่ งเรมิ่ ตน้ กับภำษำซี1. โครงสร้างของโปรแกรมภาษาซีมีอะไรบา้ ง พร้อมคาอธิบาย 1. มีฟงั กช์ นั ช่ือวา่ main () อยา่ งนอ้ ยหนึง่ ฟงั กช์ นั 2. ขอบเขตฟังก์ชนั main (delimiters) ในโปรแกรมภาษาซี ใช้เครื่องหมาย {แทนการเรม่ิ ตน้ฟงั ก์ชัน และใช้เครื่องหมาย} แทนการสิ้นสุดฟังกช์ ัน ดังน้ันเมือ่ เขยี นฟงั ก์ชนั main () ทุกคร้ังจะต้องมีเคร่อื งหมาย {และ} อย่ดู ว้ ยเสมอ 3. การปดิ ทา้ ยคาส่ังในภาษาซี จะต้องใชเ้ ครอื่ งหมาย; (semicolon) เป็นการบง่ ช้ีให้ Ccompiler ทราบวา่ จบคาส่งั (statement) แตล่ ะคาส่งั แลว้ 4. ช่ือฟังกช์ ันและคาส่งั ในภาษาซี จะต้องเขียนดว้ ยตัวอกั ษรตัวเลก็ (lowercase letter)ทง้ั หมด 5. ช่ือตัวแปร (variable name) สามารถต้งั ชื่อโดยใช้ ตวั อักษรตวั เล็กหรือตวั อักษรตัวใหญ่ก็ได้หรือใช้ตวั อักษรตัวเล็กกับตวั อกั ษรตัวใหญผ่ สมกนั ก็ได้ อาทิเชน่ ชือ่ ตวั แปร name ไม่เหมือนกบัName หรอื NAME เป็นตน้2. ให้นักเรยี นยกตวั อย่างลักษณะเด่นของภาษาซี 1. มีความสามารถในการใชง้ านบนสภาพแวดล้อมท่ีแตกต่างกัน โปรแกรมภาษาซี สามารถรันได้หลายระดับต้ังแต่เมนเฟรมจนถึงไมโครคอมพิวเตอร์ สามารถเทียบเคียงกับภาษา อื่นๆ จึงสามารถนาไปใช้งานร่วมกับคอมพิวเตอร์ที่มีแพลตฟอร์มหรือใช้ระบบปฏิบัติการต่างกัน โดยไม่ต้องแปลงชุดคาสงั่ ใดๆ หรือเปลย่ี นอาจปรบั เพียงเลก็ นอ้ ย 2. มีประสิทธิภาพสูง วัดจาก ชุดคาส่ังกะทัดรัด การจัดการหน่วยความจา การทางานมีความรวดเรว็ 3. ความสามารถในการโปรแกรมแบบโมดูล ภาษาซีอนุญาตให้แบ่งโมดูลเพื่อคอมไพล์ได้ถูกออกแบบภาษาเชิงโครงสร้างดเี ยีย่ ม ทสี่ าคัญภาษาซีและประกอบด้วยฟังก์ชน่ั ในโมดลู ต่าง ๆ 4. พอยนเ์ ตอร์ สามารถกาหนดไดจ้ ากชนดิ ข้อมลู ได้หลากหลาย 5. มีความยืดหยุ่นสูง สามารถเขียนใช้งานร่วมกับภาษาระดับต่าอย่างภาษาแอสแซมบลีได้ตัวอักษรตวั พิมพ์เล็กและตัวพิมพ์ใหญ่ แตกตา่ งกัน ภาษาซจี ะมองเปน็ คนละตวั และไมส่ ามารถนามาใช้แทนกันได้ ดงั น้นั การอ้างชอ่ื ตัวแปรและชอื่ ฟงั กช์ ่นั ควรพงึ ระวังชดุ กจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 46รายวชิ าภาษาซี ง30243 ช้ันมัธยมศกึ ษาปที ่ี 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซี เฉลยบัตรกิจกรรมกำรเรียนรทู้ ี่ 1 เรอ่ื งเรมิ่ ตน้ กบั ภำษำซี 3. การพฒั นาโปรแกรมภาษาซี มขี ้นั ตอนอย่างไร 1. ใชโ้ ปรแกรม Dev c++ เพ่ือเขียนโปรแกรมตน้ ฉบับดว้ ยภาษาซี จากนนั้ บนั ทึกโปรแกรม พรอ้ มกบั ตง้ั ช่ือแฟม้ ไว้ แฟม้ ที่ไดจ้ ะมีนามสกลุ *.c หรอื *.cpp 2. แปลโปรแกรมภาษาซี ไปเป็นโปรแกรมภาษาเครื่อง (object program) ใช้คาสั่ง compile เพอ่ื แปลโปรแกรมภาษาซี ไปเป็นโปรแกรมภาษาเคร่ือง แฟ้มท่ไี ดจ้ ะ มีนามสกุล *.obj ซ่ึงในขัน้ ตอนนโ้ี ปรแกรมต้นฉบับอาจเกิดความผดิ พลาดทางไวยกรณ์ภาษา (syntax error) ขนึ้ ได้ จงึ ตอ้ งย้อนกลับไปแก้ไขโปรแกรมต้นฉบับในข้อ 1. ให้ถกู ต้องเสยี ก่อน 3. เช่ือมโยง (link) โปรแกรมภาษาเครื่องเขา้ กบั library function ของภาษาซี จะได้เปน็ execute program โดยใช้คาสั่ง link แฟ้มที่ไดจ้ ะมนี ามสกุล *.exe 4. สงั่ ให้ execute program แสดงผลลพั ธอ์ อกมา โดยใช้คาสั่ง run ในขัน้ ตอนน้ีผู้เขียนโปรแกรม ควรตรวจสอบผลลพั ธ์ที่ไดจ้ ากโปรแกรมวา่ ตรงกับความตอ้ งการ ของเราหรือไม่ถ้าผลลัพธ์ที่ไดไ้ ม่ตรงกบั ความตอ้ งการให้กลบั ไปแก้ไขโปรแกรมต้นฉบับในข้อ 1. เสรจ็ แลว้ ทาขนั้ ตอน ข้อ 2. ถึง ข้อ 4. ซา้ อีก ทาซา้ เช่นนจี้ นกว่าจะได้ผลลพั ธ์ที่ตอ้ งการ 4. คอมเมนต์ในภาษาซีมกี ี่รูปแบบ พรอ้ มอธบิ ายว่าแตกต่างกนั อย่างไร และยกตัวอย่างประกอบ มี 2 แบบ คือ คอมเมนต์แบบบรรทดั เดยี ว ใช้เคร่ืองหมาย // เช่น //ข้อความ คอมเมนตแ์ บบหลายบรรทัด ใช้เครื่องหมาย /* และ */ เช่น /*ข้อความ*/ 5. ภาษาซีถูกพฒั นาขน้ึ ใน ค.ศ. ใด โดยใครและพัฒนามาจากภาษาใด ภาษาซีไดร้ ับการพฒั นาเมื่อปี ค.ศ.1972 โดยนายเดนนสิ ริตช่ี (Dennis M. Ritchie) ตงั้ ชอ่ื วา่ C เพราะพฒั นามาจากภาษา BCPL และภาษา B ในช่วงแรกใช้ทดลองเขียนคาส่ังควบคุมใน หอ้ งปฏบิ ตั ิการเบล (Bell Laboratories) เทา่ นัน้ เมอ่ื ปี ค.ศ.1978 นายไบรอนั เคอรน์ กิ ฮนั (Brian W. Kernighan) และนายเดนนิส รติ ช่ี ร่วมกนั กาหนดนิยามรายละเอยี ดภาษาซี เผยแพร่ความรโู้ ดยจัดทา หนงั สือ The C Programming Languageชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 47รายวิชาภาษาซี ง30243 ช้นั มธั ยมศึกษาปที ี่ 5

ชุดท2่ี โครงสร้างของโปรแกรมภาษาซีเฉลยบตั รกจิ กรรมกำรเรยี นรู้ท่ี 2เรื่องข้อมลู และตวั แปรในภำษำซี 101. ให้นักเรียนอธิบายใหนลกัภเำกษณฑำซก์ าี รตั้งชอื่ ตวั แปรในภาษาซี มีขอ้ กาหนดอะไรบ้าง1. ชอื่ ตวั แปรจะต้องขึ้นตน้ ด้วยตวั อกั ษรเทา่ น้ัน ตวั ถดั มาเป็นได้ทั้งตวั อกั ษร ตวั เลข แต่ต้องไม่มเี ครอื่ งหมายคานวณ บวก (+), ลบ (-), คูณ (*), หาร (/), หารเอาเศษ (%) และเคร่ืองหมายเว้นวรรค(blank) คัน่ ระหวา่ งชอื่ ตัวแปร แตถ่ ้าต้องการต้ังชื่อตวั แปรเวน้ วรรคใหใ้ ชเ้ คร่ืองหมาย _ (underscore)คั่นแทนการเว้นวรรค เชน่ sum_1, sum_2 เปน็ ต้น2. ความยาวของช่ือตวั แปร ข้ึนอยู่กับคอมไพเลอรแ์ ละระบบเคร่อื งคอมพิวเตอร์ ซ่ึงภาษาซีสามารถต้งั ชื่อตวั แปรได้ยาวถึง 32 ตวั แตโ่ ดยปกตเิ ราไม่นิยมตัง้ ช่อื ตวั แปรยาว ๆ3. ชอ่ื ตัวแปรตวั อกั ษรพิมพ์ใหญ่และตวั อักษรพิมพเ์ ลก็ แมจ้ ะเขยี นคาเดยี วกนั หรือตวั อกั ษรพิมพ์ใหญป่ นตวั อกั ษรพิมพเ์ ล็กทส่ี ลบั ตาแหน่งกัน ระบบถือวา่ เปน็ คนละตัวแปรกัน เชน่ ตวั แปร MAX,max, Max, mAx, maX จะถอื วา่ ตวั แปรท้ัง 5 ตัวนี้เป็นคนละตวั กนั4. หา้ มต้ังชอื่ ตัวแปรซา้ กับคาสงวน (reserved word) หรอื ชอ่ื ฟงั กช์ นั หรือช่อื คาส่ังในภาษานนั้ ๆ5. ชื่อตัวแปรควรตัง้ ใหส้ มั พนั ธก์ ับข้อมลู ทีต่ ้องการเกบ็ เพ่ือปอ้ งกนั ความสบั สน เนอื่ งจากโปรแกรมทมี่ ีขนาดใหญ่จะมตี ัวแปรจานวนมาก2. ชนิดของตัวแปรในภาษาซี ท่ีกาหนดใหด้ ังตอ่ ไปน้ี ใชเ้ ก็บข้อมลู อะไรบ้าง int ค่าคงทช่ี นดิ ตัวเลขจานวนเต็ม char ค่าคงทชี่ นิดตวั อกั ขระตวั เดียว float ค่าคงที่ชนดิ ตัวเลขทศนยิ ม long เกบ็ ข้อมลู ชนดิ จานวนเตม็ แบบยาว double ค่าคงท่ีตวั เลขทศนิยมทมี่ ีความละเอยี ดสองเทา่3. ให้นกั เรยี นยกตวั อย่างคาสงวน (Reserved Word) ในภาษาซีมา 5 คา 1. auto 2. switch 3. default 4. return 5. continueชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 48รายวิชาภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปีที่ 5

ชุดท2ี่ โครงสรา้ งของโปรแกรมภาษาซีเฉลยบตั รกิจกรรมกำรเรียนร้ทู ี่ 2เรอื่ งขอ้ มลู และตวั แปรในภำษำซี4. จากการประกาศตใวั นแปภรำพษร้อำมซกี ับกาหนดคา่ ดังแสดงต่อไปน้ี ข้อใดถูกและข้อใดผดิ โดยใหบ้ อกเหตผุ ลส่วนทผ่ี ิดมาดว้ ย1. int a; ถกู ต้อง2. int b ผดิ เนอ่ื งจากไมไ่ ด้ใสเ่ ครื่องหมาย ; ท้ายคาส่งั3. int Com budget = 30000; ผิด เน่ืองจากเว้นช่องวา่ งภายในช่ือ4. int main = 10; ถูกต้อง5. int _cont = 451; ถกู ต้อง6. char j = “Hello”; ผดิ เนือ่ งจาก j ถกู ประกาศให้เป็นตวั แปรชนดิ char เก็บ อักขระได้เพียงตัวเดยี ว7. char j = ‘A’; ถูกต้อง8. char k = 0x41; ถูกต้อง9. float z = 1,000.999; ผดิ เนื่องจากมีการใสเ่ คร่ืองหมาย , ในตวั เลข10. float x = 45.067; ถูกต้อง5. ใหน้ กั เรยี นระบุวา่ การตั้งช่อื ตัวแปรในข้อต่อไปนี้ ข้อใดถูกหรือผดิ ถ้าผดิ บอกเหตุผลประกอบ1. void ผดิ เนอ่ื งจาก void เป็นคาสงวน2. MAX_Mine ถูกต้อง3. double ผดิ เน่ืองจาก double เป็นคาสงวน4. time ถูกต้อง5. G ถูกต้อง6. return ผิด เนื่องจาก return เปน็ คาสงวน7. suwannawongse 1 ผิด เนอ่ื งจาก มชี ่องว่างระหว่างชือ่ และตัวเลข8. birth year ผิด เนอ่ื งจากมีช่องวา่ ง9. last_name ถูกต้อง10. #insert ผดิ เนอ่ื งจากขึ้นตน้ ดว้ ย #ชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 49รายวิชาภาษาซี ง30243 ช้นั มธั ยมศึกษาปีที่ 5


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