หนว่ ยที่ 2
ตวั แปร ประเภทข้อมูล และตวั ดำเนินกำร language
- ใบเนื้อหำท่ี 6 เรอ่ื ง ตวั แปร (Variables)
- ใบเน้ือหำท่ี 7 เรื่อง ชนดิ ข้อมลู และกำรประกำศ
ตวั แปรในภำษำซี
- ใบเน้ือหำที่ 8 เรอ่ื ง นพิ จน์ และตัวดำเนินกำร
แผนการจดั การเรยี นรู้และการประเมนิ ตามสภาพจริง หน่วยท่ี 2
ชอ่ื หน่วย ตวั แปร ประเภทขอ้ มูล และตัวดำเนินกำร
สอนครั้งที่ 4-7
ช่วั โมงรวม 12
จานวนช่ัวโมง 3
1. หน่วยการเรยี นรู้ ตัวแปร ประเภทขอ้ มูล และตวั ดำเนนิ กำร
2. จานวนชวั่ โมง 12 ชั่วโมง
3. จดุ ประสงค์การเรยี นร้ปู ระจาหนว่ ย 58
3.1 สำมำรถบอกควำมหมำยของตวั แปรได้ถูกต้อง
3.2 สำมำรถเขียนชือ่ ตัวแปรตำมกฎเกณฑ์ของภำษำซีได้ถูกตอ้ ง
3.3 สำมำรถบอกชนดิ ข้อมลู ในภำษำซไี ด้ถกู ต้อง
3.4 สำมำรถเลือกชนดิ ข้อมลู ให้กับตัวแปรได้ถกู ต้อง
3.5 สำมำรถบอกควำมแตกต่ำงระหวำ่ งตัวแปรและค่ำคงที่ในภำษำซไี ด้ถูกต้อง
3.6 สำมำรถอธบิ ำยตวั ดำเนินกำรต่ำง ๆ ในภำษำซีได้ถูกต้อง
3.7 สำมำรถเลือกตวั ดำเนนิ กำรชนดิ ตำ่ ง ๆ ไดถ้ ูกต้อง
3.8 สำมำรถบอกลำดบั ควำมสำคญั ของตัวดำเนนิ กำรได้ถูกตอ้ ง
4. สมรรถนะประจาหน่วย
4.1 แสดงควำมรเู้ กยี่ วกบั ตัวแปรและชนิดขอ้ มูล
4.2 แสดงควำมรู้เกี่ยวกับนพิ จน์และตัวดำเนนิ กำร
5. เนอ้ื หา
5.1 ตัวแปร (เอกสำรประกอบกำรสอน หนำ้ 71)
5.2 ชนิดข้อมูล และกำรประกำศตวั แปรในภำษำซี (เอกสำรประกอบกำรสอน หนำ้ 73)
5.3 นิพจน์ และตัวดำเนนิ กำร (เอกสำรประกอบกำรสอน หนำ้ 83)
6. กาหนดเกณฑ์การปฏิบัติตามสมรรถนะ
สมรรถนะ เกณฑป์ ฏิบตั ิ (Performance criteria)
1. แสดงควำมร้เู กย่ี วกับตัวแปร และ ผเู้ รียน
ชนิดข้อมลู 1.1 บอกบอกควำมหมำยของตวั แปร
1.2 กำหนดชื่อตัวแปรตำมกฎเกณฑข์ องภำษำซี
1.3 บอกชนิดข้อมลู ในภำษำซี
1.4 เลือกชนดิ ข้อมูลให้กบั ตัวแปร
1.5 บอกควำมแตกตำ่ งระหว่ำงตัวแปรและคำ่ คงทใ่ี นภำษำซี
2. แสดงควำมรูเ้ กีย่ วกับนิพจน์ และ ผู้เรียน
ตัวดำเนนิ กำร 2.1 อธบิ ำยตัวดำเนินกำรต่ำง ๆ ในภำษำซี
2.2 นำตวั ดำเนินกำรชนดิ ตำ่ ง ๆ ไปใช้งำนกับนพิ จน์
2.3 บอกลำดับควำมสำคัญของตวั ดำเนินกำร
59
7. กิจกรรมการเรียนการสอน 60
ครงั้ ที่ 4 จำนวน 3 ชม.
ใบเนอ้ื หำท่ี 6 เร่อื ง ตวั แปร (Variables) (เอกสำรประกอบกำรสอนหนำ้ ที่ 71)
ข้นั เขา้ สบู่ ทเรยี น
ผู้สอนทบทวนบทเรียนครงั้ ท่ี 3 โดยวิธกี ำรถำม-ตอบ
ทดสอบก่อนเรียนหนว่ ยท่ี 2 จำนวน 10 ขอ้
ผู้สอนนำเข้ำสู่บทเรียนโดยกำรยกตัวอย่ำงกำรต้ังช่ือเพ่ือเรียกแทนส่ิงของสิ่งนั้นหรืออ่ืน ๆ
ท่วั ไป เพื่อเชื่อมโยงบทเรยี นเร่ืองตวั แปร (Variable) ในภำษำซีซึง่ ถูกสรำ้ งขน้ึ เพอ่ื ใชเ้ รียกแทน
ตำแหน่งหนว่ ยควำมจำหลกั นำมำใช้ในกำรเก็บขอ้ มูลท่ีสำมำรถนำไปประมวลผลได้
ขนั้ สอน
ผู้สอนอธบิ ำยควำมหมำยของตัวแปร พรอ้ มยกตัวอย่ำงกำรอำ้ งอิงถึงข้อมลู ณ ตำแหน่งตำ่ ง ๆ
ในหน่วยควำมจำ
ผู้สอนต้ังคำถำมให้ผู้เรียนมีสว่ นร่วมในชั้นเรียนจำกกำรสุ่มโดยใหผ้ ู้เรียนยกตัวอย่ำงกำรต้ังช่อื
ตัวแปร และรว่ มกันสรุปคำตอบของกำรยกตวั อย่ำงดังกลำ่ ว
สำธิตกำรประกำศตัวแปรในรปู แบบตำ่ ง ๆ ผูส้ อนและผ้เู รยี นปฏิบัตพิ รอ้ มกนั
ผู้สอนมอบหมำยผู้เรียนทำใบแบบฝึกหัดระหว่ำงเรียนท่ี 2.1 เร่ืองตัวแปร (Variables)
(เอกสำรประกอบกำรสอนหน้ำที่ 72) เพ่อื ส่งเสรมิ กำรเรียนร้รู ะหว่ำงเรียนของผเู้ รียน
ขั้นสรปุ
ผู้สอนและผู้เรียนร่วมกันสรุปควำมหมำยของตัวแปร และกำรตั้งชื่อตัวแปรท่ีถูกต้องตำมกฎ
กำรตัง้ ชอื่ ตัวแปรในภำษำซี
สอ่ื /อปุ กรณ์
เคร่ืองคอมพิวเตอร์และอุปกรณ์ต่อพว่ ง
เครอ่ื งฉำยโปรเจคเตอร์
เอกสำรประกอบกำรสอน วิชำพน้ื ฐำนกำรเขยี นโปรแกรมคอมพวิ เตอร์
Google classroom
ใบตรวจสอบรำยชือ่ นกั เรียน
ผลงาน/หลักฐาน
แบบทดสอบก่อนเรยี นหน่วยที่ 2
ใบแบบฝึกหดั ระหว่ำงเรียนท่ี 2.1 เร่ือง ตวั แปร (Variables)
ใบบนั ทกึ พฤติกรรมกำรเรียนและกำรทำงำน
เครื่องมอื และวธิ ีการวดั ผล
แบบทดสอบก่อนเรียนหน่วยท่ี 2 คะแนนเต็ม 10 คะแนน (เอกสำรประกอบกำรสอน
หน้ำท่ี 69)
ใบแบบฝึกหัดระหว่ำงเรียนที่ 2.1 เรื่อง ตัวแปร (Variables) (เอกสำรประกอบกำรสอน
หน้ำท่ี 72) คะแนนเต็ม 10 คะแนน
ใบบันทึกพฤติกรรมกำรเรียนและกำรทำงำน (เอกสำรประกอบกำรสอนหน้ำท่ี 97)
คะแนนเตม็ 10 คะแนน
ครั้งที่ 5 จำนวน 3 ช่วั โมง 61
ใบเนือ้ หำที่ 7 เร่ือง ชนิดขอ้ มูล และกำรประกำศตวั แปรในภำษำซี (เอกสำรประกอบกำรสอน
หนำ้ ที่ 73)
ขนั้ เขา้ สบู่ ทเรยี น
ผู้สอนทบทวนบทเรยี นครั้งที่ 4 โดยวิธีกำรถำม-ตอบ
ผสู้ อนนำเขำ้ สู่บทเรยี นเม่ือตัง้ ชื่อตวั แปรตำมกฎเกณฑ์กำรตั้งช่ือตัวแปรได้อย่ำงถูกต้องแล้วส่ิง
สำคัญที่ต้องคำนึงถึงคือ ข้อมูลท่ีอยู่ภำยในตัวแปร ซึ่งข้อมูลแต่ละชนิดมีคุณสมบัติที่แตกต่ำง
และมีขนำดหน่วยควำมจำที่ไม่เท่ำกัน ดังน้ันจึงต้องเลือกชนิดของข้อมูลให้ถูกต้องตำมควำม
ตอ้ งกำร
ขั้นสอน
ผู้สอนบอกควำมหมำยของชนิดข้อมูลในภำษำซี ซ่ึงประกอบด้วยชนิดตัวอักษร ชนิดเลข
จำนวนเต็ม และชนิดเลขจำนวนจริง พรอ้ มยกตวั อย่ำง
ผู้สอนอธิบำยชนิดข้อมูลในแต่ละประเภท ขนำดพื้นที่ของหน่วยควำมจำท่ีใช้ และค่ำที่
สำมำรถเก็บไดใ้ นแต่ละชนิดในภำษำซี
ผสู้ อนอธิบำยรูปแบบกำรประกำศตวั แปรพรอ้ มยกตัวอยำ่ งกำรประกำศตัวแปรในภำษำซี
ผู้สอนสำธิตวธิ ีกำรประกำศตวั แปรชนิดขอ้ มลู ตวั อกั ษร
ผเู้ รียนปฏบิ ัตกิ ำรเขียนโปรแกรมตำมตัวอยำ่ งที่ 2.1 (เอกสำรประกอบกำรสอนหนำ้ ที่ 75)
และสรปุ ผลกำรปฏิบตั ิดงั กล่ำว
ผู้สอนสำธติ วธิ ีกำรประกำศตวั แปรชนิดข้อมลู เลขจำนวนเตม็
ผู้เรียนปฏิบัติกำรเขียนโปรแกรมตำมตัวอย่ำงท่ี 2.2-2.3 (เอกสำรประกอบกำรสอน
หน้ำที่ 76-77) และสรปุ ผลกำรปฏิบัติดงั กล่ำว
ผู้สอนสำธิตวิธกี ำรประกำศตวั แปรชนิดข้อมลู เลขจำนวนจรงิ
ผู้เรียนปฏิบัติกำรเขียนโปรแกรมตำมตัวอย่ำงท่ี 2.4 (เอกสำรประกอบกำรสอนหน้ำที่ 79)
และสรุปผลกำรปฏิบัตดิ ังกลำ่ ว
ผู้สอนอธิบำยควำมแตกต่ำงระหว่ำงค่ำคงที่ (Constant) กับตัวแปร และสำธิตกำรประกำศ 62
ตวั แปรคำ่ คงที่ ผู้สอนและผู้เรียนปฏบิ ัตริ ่วมกัน
ผสู้ อนอธบิ ำยกำรประกำศตวั แปรแบบภำยในและตัวแปรแบบภำยนอก
ผเู้ รียนฝึกปฏบิ ัติกำรประกำศตัวแปรภำยในและตวั แปรภำยนอกและร่วมกนั สรุปผลดังกลำ่ ว
ผู้สอนมอบหมำยผู้เรียนทำใบแบบฝึกหัดระหว่ำงเรียนท่ี 2.2 เรื่องชนิดข้อมูล และกำร
ประกำศตัวแปรในภำษำซี (เอกสำรประกอบกำรสอนหน้ำท่ี 82) เพื่อส่งเสริมกำรเรียนรู้
ระหว่ำงเรียนของผเู้ รียน
ขั้นสรุป
ผสู้ อนและผ้เู รียนร่วมกันสรุปเน้อื หำดงั ต่อไปนี้
1) ชนดิ ขอ้ มลู (Data type)
2) คำ่ คงท่ี (Constant)
3) กำรประตวั แปรภำยใน และตัวแปรภำยนอก
สอ่ื /อุปกรณ์
เคร่อื งคอมพวิ เตอร์และอุปกรณต์ ่อพ่วง
เคร่อื งฉำยโปรเจคเตอร์
เอกสำรประกอบกำรสอน วิชำพืน้ ฐำนกำรเขยี นโปรแกรมคอมพิวเตอร์
Google classroom
ใบตรวจสอบรำยชื่อนักเรยี น
ผลงาน/หลกั ฐาน
ใบแบบฝึกหดั ระหว่ำงเรยี นที่ 2.2 เรอื่ งชนิดข้อมลู และกำรประกำศตัวแปรในภำษำซี
ใบบนั ทกึ พฤติกรรมกำรเรยี นและกำรทำงำน
เครื่องมอื และวธิ ีการวัดผล
ใบแบบฝึกหดั ระหวำ่ งเรยี นที่ 2.2 เร่ืองชนดิ ขอ้ มูล และกำรประกำศตวั แปรในภำษำซี (เอกสำร
ประกอบกำรสอนหนำ้ ท่ี 82) คะแนนเตม็ 10 คะแนน
ใบบันทึกพฤติกรรมกำรเรียนและกำรทำงำน (เอกสำรประกอบกำรสอนหน้ำท่ี 97)
คะแนนเตม็ 10 คะแนน
ครงั้ ท่ี 6 จำนวน 3 ชม. 63
ใบเนอ้ื หำที่ 8 เรื่อง นพิ จน์ และตัวดำเนนิ กำร (เอกสำรประกอบกำรสอนหน้ำท่ี 83)
ขนั้ นาเขา้ สู่บทเรียน
ผู้สอนทบทวนบทเรยี นครัง้ ที่ 5 โดยวธิ ีกำรถำม-ตอบ
ผู้สอนนำเข้ำสู่บทเรียนกล่ำวถึงนิพจน์ทำงคณิตศำสตร์ ซึ่งสำมำรถพบเห็นได้จำกสูตร
กำรคำนวณตวั เลขต่ำง ๆ ตัวอยำ่ งเช่น 2+5 =8 , a*12=24 เปน็ ต้น
ขน้ั สอน
ผสู้ อนอธบิ ำยควำมหมำยของนพิ จน์ (Expression) พร้อมยกตัวอย่ำง
ผู้สอนอธิบำยตัวดำเนินกำรทำงคณิตศำสตร์ (Arithmetic Operators) พร้อมยกตัวอย่ำง
และตัง้ คำถำมใหผ้ ู้เรยี นหำคำตอบตำมควำมเหมำะสม
ผู้เรียนฝึกปฏบิ ตั ิกำรเขยี นโปรแกรมตำมตวั อย่ำงที่ 2.5 (เอกสำรประกอบกำรสอนหน้ำท่ี 85)
ผู้สอนอธิบำยตัวดำเนินกำรยูนำรี (Unary Operators) พร้อมยกตัวอย่ำง และตั้งคำถำมให้
ผเู้ รยี นหำคำตอบตำมควำมเหมำะสม
ผู้เรียนฝึกปฏิบัติกำรเขียนโปรแกรมตำมตัวอย่ำงท่ี 2.6-2.7 (เอกสำรประกอบกำรสอน
หนำ้ ท่ี 86-87)
ผู้สอนอธิบำยตัวดำเนินกำรควำมสัมพันธ์ (Relational Operators) พร้อมยกตัวอย่ำง และ
ตัง้ คำถำมใหผ้ ู้เรยี นเหำคำตอบตำมควำมเหมำะสม
ผเู้ รยี นฝึกปฏบิ ัติกำรเขยี นโปรแกรมตำมตวั อย่ำงที่ 2.8 (เอกสำรประกอบกำรสอนหนำ้ ที่ 88)
ขั้นสรุป
ผสู้ อนและผ้เู รยี นรว่ มกนั สรุปเนื้อหำดังต่อไปนี้
1) นพิ จน์ทำงคณติ ศำสตร์
2) ตัวดำเนินกำรพ้ืนฐำนทำงคณิตศำสตร์ ตัวดำเนินกำรยูนำรี และตัวดำเนินกำร
ควำมสมั พันธ์
สอ่ื /อุปกรณ์
เครื่องคอมพวิ เตอรแ์ ละอปุ กรณต์ ่อพว่ ง
เคร่ืองฉำยโปรเจคเตอร์
เอกสำรประกอบกำรสอน วิชำพนื้ ฐำนกำรเขยี นโปรแกรมคอมพิวเตอร์
Google classroom
ใบตรวจสอบรำยชือ่ นกั เรียน
ผลงาน/หลกั ฐาน
ตวั อยำ่ งโปรแกรมท่ี 2.5-2.8
ใบบันทกึ พฤติกรรมกำรเรียนและกำรทำงำน
เครอ่ื งมอื และวิธกี ารวัดผล 64
ใบบันทึกพฤติกรรมกำรเรียนและกำรทำงำน (เอกสำรประกอบกำรสอนหน้ำท่ี 97)
คะแนนเตม็ 10 คะแนน
ครั้งท่ี 7 จำนวน 3 ชม.
ใบเนอื้ หำที่ 8 เรอื่ ง นิพจน์ และตวั ดำเนนิ กำร (เอกสำรประกอบกำรสอนหนำ้ ท่ี 83)
ขั้นนาเข้าสบู่ ทเรียน
ผสู้ อนทบทวนบทเรยี นครั้งที่ 6 โดยวธิ กี ำรถำม-ตอบ
ผสู้ อนน้นั นำเข้ำสบู่ ทเรยี นต่อจำกครั้งท่ีผำ่ นมำเก่ยี วกับตวั ดำเนนิ กำรพื้นฐำนที่สำคัญ
ขนั้ สอน
ผสู้ อนอธิบำยตัวดำเนนิ กำรตรรกะ (Logical Operators) พร้อมยกตัวอย่ำง และต้งั คำถำมให้
ผเู้ รยี นหำคำตอบตำมควำมเหมำะสม
ผู้เรียนฝกึ ปฏบิ ัติกำรเขยี นโปรแกรมตำมตัวอย่ำงท่ี 2.9 (เอกสำรประกอบกำรสอนหนำ้ ที่ 90)
ผู้สอนอธิบำยตัวดำเนินกำรกำหนดค่ำแบบผสม (Compound Assignment Operators)
พรอ้ มยกตวั อยำ่ ง และต้ังคำถำมให้ผู้เรียนหำคำตอบตำมควำมเหมำะสม
ผู้สอนอธิบำยตัวดำเนินกำรเง่ือนไข (Conditional Operators) พร้อมยกตัวอย่ำง และ
ตั้งคำถำมใหผ้ เู้ รยี นหำคำตอบตำมควำมเหมำะสม
ผเู้ รียนฝกึ ปฏบิ ตั ิกำรเขยี นโปรแกรมตำมตวั อยำ่ งท่ี 2.10 (เอกสำรประกอบกำรสอนหน้ำท่ี 92)
ผู้สอนอธิบำยลำดับควำมสำคัญของตัวดำเนินกำร พร้อมยกตัวอย่ำงให้ผู้เรียนหำคำตอบ
โดยกำรสรำ้ งโจทยเ์ พิ่มเตมิ เชน่ (3*2) % 2 + (15-2) เปน็ ตน้
ผู้สอนมอบหมำยผู้เรียนทำใบแบบฝึกหัดระหว่ำงเรียนที่ 2.3 เรื่อง นิพจน์ และตัวดำเนินกำร
(เอกสำรประกอบกำรสอนหน้ำท่ี 94) เพื่อสง่ เสรมิ กำรเรยี นร้รู ะหว่ำงเรียนของผเู้ รยี น
ขัน้ สรุป
ผสู้ อนและผ้เู รยี นร่วมกันสรุปเนอ้ื หำดงั ต่อไปนี้
1) ตัวดำเนนิ กำรตรรกะ
2) ตัวดำเนนิ กำรกำหนดค่ำแบบผสม
3) ตวั ดำเนนิ กำรเง่ือนไข
สอ่ื /อุปกรณ์
เคร่อื งคอมพิวเตอรแ์ ละอปุ กรณต์ ่อพว่ ง
เครื่องฉำยโปรเจคเตอร์
เอกสำรประกอบกำรสอน วชิ ำพืน้ ฐำนกำรเขียนโปรแกรมคอมพิวเตอร์
Google classroom
ใบตรวจสอบรำยชอ่ื นกั เรียน
ผลงาน/หลกั ฐาน
ใบแบบฝกึ หดั ระหว่ำงเรียนที่ 2.3 เร่ือง นพิ จน์ และตวั ดำเนินกำร
แบบทดสอบหลงั เรียนหน่วยท่ี 2
ใบบันทึกพฤติกรรมกำรเรียนและกำรทำงำน
เครื่องมอื และวธิ กี ารวัดผล
ใบแบบฝึกหดั ระหว่ำงเรียนที่ 2.3 เรอ่ื ง นิพจน์ และตัวดำเนินกำร (เอกสำรประกอบกำรสอน
หน้ำท่ี 94) คะแนนเต็ม 10 คะแนน
แบบทดสอบหลังเรียนหน่วยที่ 2 (เอกสำรประกอบกำรสอนหน้ำที่ 95) คะแนนเต็ม 10
คะแนน
แบบสังเกตพฤติกรรมกำรเรียนและกำรทำงำน (เอกสำรประกอบกำรสอนหน้ำที่ 97)
คะแนนเต็ม 10 คะแนน
8. เกณฑ์การตัดสิน 65
กำรวัดประเมินผลแตล่ ะครัง้ ต้องผำ่ นเกณฑ์ ร้อยละ 60 ของคะแนนเต็ม แล้วนำคะแนนรวมมำตัดสนิ
ผลกำรเรยี นตำมเกณฑด์ ังนี้
การประเมนิ ผลแบบอิงเกณฑ์
คะแนนกำรประเมนิ ตั้งแต่ร้อยละ 80 ข้ึนไป ระดับผลกำรเรยี น 4.0
คะแนนกำรประเมนิ ตง้ั แต่รอ้ ยละ 75-79.99 ระดับผลกำรเรียน 3.5
คะแนนกำรประเมนิ ตงั้ แตร่ ้อยละ 70-74.99 ระดบั ผลกำรเรยี น 3.0
คะแนนกำรประเมนิ ตง้ั แต่รอ้ ยละ 65-69.99 ระดบั ผลกำรเรยี น 2.5
คะแนนกำรประเมินตั้งแตร่ อ้ ยละ 60-64.99 ระดับผลกำรเรียน 2.0
คะแนนกำรประเมนิ ต้งั แตร่ ้อยละ 55-59.99 ระดับผลกำรเรียน 1.5
คะแนนกำรประเมินต้งั แต่ร้อยละ 50-54.99 ระดับผลกำรเรยี น 1.0
คะแนนกำรประเมนิ ต่ำกว่ำรอ้ ยละ 49.99 ลงไป ระดับผลกำรเรยี น 0
9. เครอ่ื งมือวดั ประเมิณผล ลกั ษณะของข้อมลู
เคร่อื งมอื
ใช้สอบวัดควำมรู้ ควำมเข้ำใจควำมสำมำรถทำง
แบบทดสอบก่อนเรียน สติปญั ญำพืน้ ฐำนของผู้เรยี นกอ่ นเรียน
แบบทดสอบหลังเรยี น
ใบแบบฝกึ หัดระหวำ่ งเรยี น ใช้สอบวัดควำมรู้ ควำมเข้ำใจ ควำมสำมำรถทำง
สตปิ ัญญำของผู้เรยี นหลังเรียน
ใบบนั ทึกพฤติกรรมกำรเรยี นและกำรทำงำน
เป็นแบบฝึกปฏิบัติเพื่อส่งเสริมกำรเรียนรู้ระหว่ำง
แบบประเมินผลงำนด้วยเกณฑ์ให้คะแนน เรียนของผู้เรียน
(scoring rubrics)
ใช้สังเกตพฤติกรรมด้ำนคุณธรรม คุณลักษณะ ทักษะ
กำรปฏิบัติงำนที่ผู้สังเกตได้กำหนดไว้โดยผู้ถูกสังเกต
รูต้ วั หรอื ไม่รู้ตัวก็ได้
เป็นเคร่ืองมือท่ีใช้ในกำรประเมินคุณภำพผลงำน
กำรปฏิบัติงำน โดยมีคำอธิบำยคุณภำพของงำนในแต่
ระดับ หรือมีตัวช้ีวัดผลงำนในแต่ละส่วนแต่ระดับไว้
อย่ำงชดั เจน
10. แบบประเมนิ ใบแบบฝึกหัดระหวา่ งเรยี นหน่วยท่ี 2 ตัวแปร ประเภทข้อมูล และตัวดาเนนิ การ 66
รายการ เกณฑก์ ารให้
คะแนน
แบบประเมนิ ใบแบบฝึกหัดระหวา่ งเรียนที่ 2.1 เรอื่ ง ตัวแปร (Variables)
1. บอกความหมายของตัวแปรได้ 2
1
1.1 บอกควำมหมำยของตัวแปรได้พอสงั เขป 2
1.2 บอกควำมหมำยของตัวแปรไดอ้ ยำ่ งถูกตอ้ ง 2
2. อธิบายกฎการตัง้ ชือ่ ตัวแปรในภาษาซไี ด้ 1
2.1 อธบิ ำยกฎกำรตง้ั ช่ือตัวแปรในภำษำซไี ด้พอสังเขป 2
2.2 อธบิ ำยกฎกำรตัง้ ชอื่ ตัวแปรในภำษำซไี ด้ครบตำมกฎกำรตั้งช่อื ตัวแปร 2
3. ยกตัวอย่างการต้ังช่ือตัวแปรในภาษาซีไดอ้ ยา่ งถูกต้อง 1
3.1 ยกตวั อย่ำงกำรต้งั ช่ือตัวแปรในภำษำซไี ดอ้ ย่ำงถกู ต้อง จำนวน 1 ตวั อย่ำง 2
3.1 ยกตวั อยำ่ งกำรต้งั ชื่อตัวแปรในภำษำซีได้อย่ำงถกู ต้อง มำกกว่ำ 2 ตัวอยำ่ งข้ึนไป 4
4. อธบิ ายกฎการตั้งชอ่ื ตัวแปรในภาษาซี ไดอ้ ยา่ งถูกต้องดงั นี้ 1
4.1 อธบิ ำยได้อยำ่ งถูกต้องระดบั พอใช้ 1-2 ข้อ 2
4.2 อธบิ ำยได้อยำ่ งไดถ้ ูกต้องระดับปำนกลำง 3-4 ขอ้ 3
4.3 อธบิ ำยได้อย่ำงไดถ้ ูกต้องระดับดี 5 -7 ข้อ 4
4.4 อธิบำยไดอ้ ย่ำงไดถ้ ูกต้องครบทุกข้อ 10
รวม
(ต่อ) แบบประเมนิ แบบฝกึ หัดระหวา่ งเรยี นหนว่ ยท่ี 2 ตัวแปร ประเภทขอ้ มูล และตัวดาเนินการ
รายการ เกณฑก์ ารให้
คะแนน
แบบประเมินใบแบบฝกึ หัดระหวา่ งเรียนที่ 2.2 เรื่อง ชนดิ ขอ้ มูล และการกาหนดข้อมูลให้กับตวั แปร
1. เลอื กชนดิ ข้อมูลใหก้ ับตวั แปรได้อย่างถกู ต้อง 6
1.1 กำหนดชนิดขอ้ มลู ตวั อกั ษรให้กบั ตัวแปรได้อยำ่ งถูกตอ้ ง 2
1.2 กำหนดชนดิ ขอ้ มลู เลขจำนวนเตม็ ให้กับตวั แปรได้อย่ำงถกู ต้อง 2
1.3 กำหนดชนิดข้อมลู เลขจำนวนจริงให้กบั ตวั แปรได้อย่ำงถกู ต้อง 2
2. บอกความแตกต่างระหวา่ งตวั แปรและค่าคงทใ่ี นภาษาซีได้ 4
2.1 บอกควำมแตกตำ่ งระหวำ่ งตัวแปรและคำ่ คงทใี่ นภำษำซีได้ พรอ้ มยกตวั อย่ำงได้ 1-2
ระดบั พอใช้
2.2 บอกควำมแตกต่ำงระหว่ำงตวั แปรและคำ่ คงทีใ่ นภำษำซี พร้อมยกตวั อยำ่ งได้ 3-4
ระดับดี
รวม 10
แบบประเมินใบแบบฝึกหัดระหวา่ งเรียนที่ 2.3 เรื่อง นิพจน์ และตวั ดาเนินการ
1. อธิบายรายละเอียดของชนิดตัวดาเนนิ การตา่ ง ๆ ในภาษาซไี ด้ 5 67
โจทย์ขอ้ ท่ี 1 2
1.1 แปลงสมกำรเป็นนพิ จนค์ ณติ ศำสตร์ได้ 1 ข้อ 1
1.2 แปลงสมกำรเป็นนพิ จนค์ ณติ ศำสตร์ถูกทกุ ข้อ 2
โจทย์ขอ้ ที่ 2 3
1.3 เขียนนพิ จนต์ ำมโจทย์ได้ 1 ข้อ 1
1.4 เขยี นนพิ จนต์ ำมโจทย์ได้ 2 ข้อ 2
1.5 เขียนนพิ จน์ตำมโจทย์ถกู ต้องครบทกุ ข้อ 3
2. บอกลาดับความสาคัญของตวั ดาเนินการได้ 3
โจทย์ขอ้ ท่ี 3
2.1 หำผลลพั ธ์ของนพิ จนไ์ ด้ถกู ต้องจำนวน 1 ข้อ 1
2.2 หำผลลัพธ์ของนิพจน์ไดถ้ ูกต้องจำนวน 2 ข้อ 2
2.2 หำผลลพั ธข์ องนพิ จนไ์ ด้ถูกต้องทุกข้อ 3
3. นาตัวดาเนนิ การชนิดต่าง ๆไปใช้งานกับนิพจนไ์ ดอ้ ยา่ งถูกต้อง 2
โจทยข์ ้อที่ 4
3.1 หำผลลพั ธข์ องนิพจนไ์ ด้ถกู ต้องจำนวน 1 ข้อ 1
3.2 หำผลลพั ธข์ องนพิ จนไ์ ด้ถูกต้องมำกกว่ำ 2 ข้อ 3
รวม 10
คะแนนรวม 30
หน่วยที่ 2 68
เร่ือง ตวั แปร ประเภทข้อมูล และตวั ดาเนนิ การ
สาระสาคญั
ตวั แปร (Variables) ถูกสร้ำงขนึ้ เพื่อใช้เรยี กแทนตำแหน่งของหนว่ ยควำมจำหลัก นำมำใชใ้ นกำรเก็บ
ข้อมูลที่สำมำรถนำไปประมวลผล และอ้ำงอิงภำยในโปรแกรมได้ และจำเป็นต้องกำหนดชนิดข้อมูลให้ถูกต้อง
ตำมควำมต้องกำร ซึ่งแต่ละชนิดจะใช้ขนำดพื้นที่ในกำรเก็บข้อมูลท่ีต่ำงกัน ในภำษำซีจะมีชนิดข้อมูลหลัก ๆ
คือ ข้อมูลตัวอักษร (Character) ข้อมูลชนิดเลขจำนวนเต็ม (Integer) และข้อมูลเลขจำนวนจริง (Floating
Point) ตวั แปรในภำษำซี จะมีตวั แปรค่ำคงที่ ซ่ึงจะแตกต่ำงจำกตัวแปรโดยทว่ั ไป ท่สี ำมำรถเปลย่ี นค่ำได้ตลอด
ภำยในโปรแกรม แต่ในขณะที่ตัวแปรค่ำคงที่น้ัน เมื่อถูกกำหนดไว้ในตัวแปรแล้ว ค่ำดังกล่ำวจะเป็นค่ำ
นั้น ๆ ตลอดทงั้ ในโปรแกรม ไมส่ ำมำรถเปล่ยี นแปลงคำ่ ได้ ตัวแปรประกอบด้วย ตัวแปรภำยใน และตัวแปร
ภำยนอก ตัวแปรภำยในเป็นตัวแปรท่ีถูกประกำศไว้ภำยในฟังก์ชันนั้น ๆ ซ่ึงสำมำรถเรียกใช้งำนได้เฉพำะ
ภำยในฟังก์ชัน หำกมีกำรกำหนดชื่อตัวแปรเหมือนกันในฟังก์ชันอ่ืน ๆ จะถือว่ำเป็นตัวแปร คนละตัว
สว่ นตัวแปรภำยนอกน้ัน เปน็ ตัวแปรแบบสำธำรณะท่ีทุก ๆ ฟงั ก์ชนั สำมำรถเรยี กใชง้ ำนได้ โดยจะถูกประกำศ
ไว้ภำยนอกฟังกช์ ัน
นิพจน์ (Expression) ซงึ่ ประกอบด้วย ตัวแปร คำ่ คงที่ และตวั ดำเนนิ กำรทำงคณติ ศำสตร์ ซง่ึ สำมำรถ
พบเหน็ ได้จำกสตู รกำรคำนวณต่ำง ๆ ซึ่งในทน่ี ี้หมำยถึง นพิ จนท์ ำงคณติ ศำสตร์ ตั ว ด ำ เ นิ น ก ำ ร ใ น ภ ำ ษ ำ ซี
มีตัวดำเนินกำรหลำกหลำยชนิด เช่น ตัวดำเนินกำรทำงคณิตศำสตร์ ตัวดำเนินกำรยูนำรี ตัวดำเนินกำร
เปรียบเทียบ ตัวดำเนินกำรตรรกะ ตัวดำเนินกำรกำหนดค่ำแบบผสม และตัวดำเนินกำรเงือนไข ซึ่ง
ตัวดำเนินกำรดังกล่ำวเป็นตัวดำเนินกำรพื้นฐำน ที่มักใช้กับคำสั่งควบคุม โดยที่ตัวดำเนินกำรแต่ละตัวน้ัน
ถกู จดั ลำดบั ควำมสำคญั ก่อนหลงั ทีแ่ ตกต่ำงกัน
สมรรถนะประจาหนว่ ย
1. แสดงควำมรูเ้ กี่ยวกบั ตัวแปรและชนดิ ข้อมูล
2. แสดงควำมรู้เกยี่ วกับนิพจนแ์ ละตวั ดำเนินกำร
จดุ ประสงค์การเรยี นรูป้ ระจาหน่วย
1. สำมำรถบอกควำมหมำยของตวั แปรได้ถกู ต้อง
2. สำมำรถเขียนชือ่ ตัวแปรตำมกฎเกณฑ์ของภำษำซีได้ถูกต้อง
3. สำมำรถบอกชนิดข้อมลู ในภำษำซีได้ถกู ต้อง
4. สำมำรถเลอื กชนดิ ข้อมูลให้กับตวั แปรได้ถกู ต้อง
5. สำมำรถบอกควำมแตกตำ่ งระหวำ่ งตวั แปรและคำ่ คงที่ในภำษำซีได้ถูกต้อง
6. สำมำรถอธบิ ำยตัวดำเนินกำรตำ่ ง ๆ ในภำษำซีได้ถูกตอ้ ง
7. สำมำรถเลือกตวั ดำเนนิ กำรชนิดตำ่ ง ๆ ไดถ้ ูกตอ้ ง
8. สำมำรถบอกลำดบั ควำมสำคญั ของตัวดำเนนิ กำรได้ถกู ต้อง
แบบทดสอบก่อนเรยี น 69
คาชแ้ี จ้ง
1. แบบทดสอบฉบับนี้มจี ำนวน 10 ข้อ ข้อละ 1 คะแนน คะแนนเตม็ 10 คะแนน เวลำ 20 นำที
2. แบบทดสอบน้เี ปน็ แบบเลอื กตอบ
3. จงทำเครอื่ งหมำย x ลงในกระดำษคำตอบที่ถกู ต้องที่สดุ เพยี งข้อเดยี ว
1. ชือ่ ตัวแปรในภำษำซีข้อใดถูกต้อง
ก. variable_1
ข. 2varable
ค. variable 2
ง. variable!
2. ข้อใดต่อไปน้ี คอื ขอ้ ห้ำมในกำรตง้ั ชอ่ื ตวั แปรในภำษำซี
ก. ตวั เลข
ข. ตวั อักษร
ค. ตัวอกั ษรตำมด้วยตัวเลข
ง. ตวั อกั ษรตำมด้วยเคร่ืองหมำย _ (underscore)
3. ขอ้ ใดต่อไปน้ี กลำ่ วถึง ตัวแปรและค่ำคงที่ ได้ถูกต้องที่สุด
ก. ข้อมูลท่ีเก็บไว้ในตัวแปรน้ันไม่สำมำรถเปลี่ยนแปลงได้ แต่ตัวแปรค่ำคงท่ีนั้นสำมำรถเปลี่ยนแปลง
คำ่ ไดเ้ สมอระหว่ำงกำรประมวลผล
ข. ข้อมูลท่ีเก็บไว้ในตัวแปรและตัวแปรค่ำคงท่ีนั้นสำมำรถเปล่ียนแปลงค่ำได้ตลอดกำรทำงำนของ
กำรประมวลผล
ค. ข้อมูลที่เก็บไว้ในตัวแปรนั้นสำมำรถเปล่ียนแปลงได้เสมอในระหว่ำงกำรประมวลผล แต่ตัวแปร
ค่ำคงทนี่ นั้ ไมส่ ำมำรถเปลย่ี นแปลงได้
ง. ขอ้ มูลทเี่ กบ็ ไวใ้ นตัวแปรและตัวแปรค่ำคงท่นี น้ั ไม่สำมำรถเปลย่ี นแปลงคำ่ ได้ตลอดกำรทำงำนของ
กำรประมวลผล
4. ชนดิ ขอ้ มลู แบบ char จะต้องอยูภ่ ำยในเคร่ืองหมำยใดต่อไปน้ี
ก. “ ”
ข. /* */
ค. ‘ ’
ง. & &
5. หำกต้องกำรกำหนดตวั แปรท่เี อำไว้เก็บเลขจำนวนทศนิยม ไมเ่ กนิ 6 หลัก ควรกำหนดเป็นชนดิ ขอ้ มลู ใด 70
ก. int
ข. float
ค. long
ง. double
6. ขอ้ ใดบอกควำมหมำยของตัวแปรในภำษำซีไดถ้ กู ต้อง
ก. ตัวแปร สรำ้ งขนึ้ เพ่ือใช้เก็บขอ้ มลู และใช้งำนในโปรแกรม
ข. ตัวแปร ถูกนำไปใช้เพ่ือกำรคำนวณทำงคณติ ศำสตรแ์ ละลอจิก
ค. ตวั แปร หมำยถึงชอ่ื ตวั แปรที่ตงั้ ข้ึนเพ่อื นำไปใช้ในกำรเขียนโปรแกรม
ง. ตวั แปร คือฟังก์ชนั ในภำษำซที ่ีสร้ำงข้นึ เพือ่ เกบ็ ข้อมูล
7. ประกำศตัวแปร int a = 3, b = 9, c = 12; อยำกทรำบว่ำ ผลลัพธ์ตำมข้อใดถูกต้อง จำกนิพจน์
((b/a)+12)%a
ก. 15
ข. 5
ค. 3
ง. 0
8. ประกำศตวั แปร int score = 80 จำกนิพจน์ (score >=80) && (score <=100) ผลลัพธต์ ำมข้อใดถกู ต้อง
ก. 0
ข. 1
ค. 3
ง. 4
9. ข้อใดกล่ำวถูกต้องเก่ียวกบั ตัวดำเนนิ กำรเพิ่มคำ่ และลดค่ำทลี ะหนึง่
ก. ตวั ดำเนนิ กำรทง้ั สอง จัดเป็นตัวดำเนนิ กำรแบบเงื่อนไข
ข. a++ และ ++a มคี วำมหมำยเดยี วกับ a = a+1
ค. ใชเ้ พอ่ื กำรทดสอบค่ำนิพจน์ทำงตรรกะวำ่ จรงิ หรอื เทจ็
ง. เป็นตวั ดำเนินกำรเปรยี บเทียบคำ่
10. ข้อใดต่อไปนกี้ ล่ำวถูกตอ้ งเก่ียวชนิดขอ้ มลู integer
ก. ขอ้ มูลชนิดตัวอักษร
ข. ข้อมูลชนดิ เลขจำนวนเตม็
ค. ขอ้ มลู ชนดิ เลขจำนวนจรงิ
ง. ข้อมลู ชนดิ เลขจำนวนจริง 2 เทำ่
ใบเน้อื หาที่ 6
เรอื่ ง ตัวแปร (Variables)
ตวั แปร (Variables)
ตัวแปร หมำยถึง สัญลักษณ์ท่ีใช้ในกำรอ้ำงอิงถึงข้อมูล ณ ตำแหน่งต่ำง ๆ ในหน่วยควำมจำ ตัวแปร
ถูกสร้ำงขึ้นเพ่ือใช้ในกำรจัดเก็บข้อมูล และเพ่ือใช้งำนภำยในโปรแกรม โดยข้อมูลท่ีจะนำมำเก็บในตัวแปร
ต้องตรงกับชนิดของข้อมูลที่กำหนดให้กับตัวแปรนั้น โดยมีหลักกำรที่สำคัญในกำรตั้งชื่อตัวแปรเพื่อใช้งำนใน
โปรแกรมดังนี้
กฎท่สี าคญั ในการตง้ั ชื่อตัวแปรในภาษาซี ประกอบด้วย
1. ต้องประกอบด้วยตัวอักขระ A-Z หรอื a-z, 0-9 หรอื _ (Underscore) เทำ่ น้นั
2. อักขระตัวแรกต้องเป็น A-Z หรือ a-z หรือ _ (Underscore) อย่ำงใดอย่ำงหนึ่งเท่ำน้ัน ห้ำมใช้
ตัวเลขนำหนำ้ ช่ือตัวแปร
3. ช่ือตัวแปรมีควำมยำว หรอื จำนวนอกั ขระไดถ้ งึ 31 ตวั (กรณีเป็น ANSI-C)
4. ต้องไมซ่ ำ้ กบั คำสงวน (Reserved Words) ของ ภำษำซี
ตัวอย่าง กำรตั้งชื่อตวั แปรที่ถูกตอ้ งและไมถ่ ูกต้อง เช่น 71
ตัวอย่ำงกำรตั้งช่ือตวั แปรท่ีถกู ต้อง เช่น ตวั อย่ำงกำรตั้งชื่อตวั แปรท่ีไม่ถูกต้อง เช่น
Firstname, num1, Digit1, std_name, VAT 1std_name, char, int, num 1
ตวั อย่าง คำสงวนในภำษำซี เช่น bareak case
continue default
auto extern float
const
do goto if
for long register
int static struct
sizeof typedef union
switch volatile while
void
ใบแบบฝกึ หัดระหว่างเรยี นท่ี 2.1
เรอ่ื ง ตัวแปร (Variables)
จดุ ประสงค์การเรยี นร้ปู ระจาหน่วย
1. สำมำรถบอกควำมหมำยของตวั แปรไดถ้ ูกต้อง
2. สำมำรถเขยี นช่อื ตวั แปรตำมกฎเกณฑ์ของภำษำซไี ด้ถกู ต้อง
คาช้แี จง้ : จงตอบคำถำมต่อไปนใ้ี หถ้ ูกต้อง
1. ตวั แปรหมำยถึง
………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………...........………
2. กฎกำรตง้ั ชอื่ ตวั แปรในภำษำซี ประกอบด้วยอะไรบ้ำง จงอธิบำย 72
………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………...........………
3. จงยกตวั อย่ำงกำรตัง้ ช่ือตวั แปรในภำษำซีอยำ่ งถูกต้อง
………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………...........………
4. กำรต้ังชื่อตวั แปรต่อไปนี้ ถูกหรือผิด ตำมกฎกำรตงั้ ช่ือตวั แปรในภำษำซี พร้อมอธิบำย
ช่ือตวั แปร คำตอบ ชอ่ื ตวั แปร คำตอบ
1num First name
st_name int
total Age
Main_3 person
ใบเนอื้ หาท่ี 7
เรอ่ื ง ชนดิ ขอ้ มูล และการประกาศตวั แปรในภาษาซี
ชนิดขอ้ มูล (Data types)
เมอ่ื ตงั้ ชอ่ื ตัวแปรตำมกฎเกณฑ์ของภำษำซีได้อยำ่ งถูกต้องแลว้ สงิ่ สำคญั ท่ีต้องคำนงึ ถงึ คือ ข้อมูลท่ีอยู่
ภำยในตัวแปร ซ่ึงข้อมูลแต่ละชนิดมีคุณสมบัติที่แตกต่ำงกัน และยังมีขนำดที่แตกต่ำงกันด้วย ดังน้ัน
จึงจำเป็นต้องเลือกชนิดของข้อมูลให้ถูกต้องตำมควำมต้องกำร ซึ่งแต่ละชนิดน้ันใช้พ้ืนท่ีในหน่วยควำมจำ
แตกต่ำงกัน และขึ้นอยู่กับบริษัทผู้ผลิตคอมไพเลอร์ ด้วยเช่นกัน สำมำรถดูรำยละเอียดได้จำก include
ไฟล์ limits.h และ float.h ในภำษำซีจะมชี นดิ ขอ้ มูลหลัก ๆ ดังน้ี
ชนดิ ข้อมลู ควำมหมำย 73
char ข้อมูลชนดิ ตวั อักษร หรืออักขระ (Character)
int ขอ้ มูลชนดิ เลขจำนวนเต็ม (Integer)
float ขอ้ มลู ชนิดเลขจำนวนจริง (Floating Point)
double ข้อมูลชนิดเลขจำนวจริง 2 เท่ำ (Double Precision Float)
ชนดิ ข้อมลู ควำมหมำย ขนำด (ไบต์) ค่ำทเ่ี กบ็
char ตัวอักขระ 1 ตวั
int เลขจำนวนเตม็ 1 -128 ถึง 127
short เลขจำนวนเตม็ แบบสน้ั
long เลขจำนวนเตม็ แบบยำว 2 -32,768 ถึง 32,767
unsigned char ตวั อักขระ 1 ตวั
ไม่รวมเครื่องหมำย 2 -32,768 ถึง 32,767
unsigned int เลขจำนวนเต็ม
ไมร่ วมเคร่ืองหมำย 4 -2,147,483,548 ถงึ 2,147,483,647
unsigned short เลขจำนวนเต็มแบบสัน้
ไมร่ วมเครื่องหมำย 1 ตง้ั ต้ัง 0 ถงึ 255
unsigned long เลขจำนวนเต็มแบบยำว
ไม่รวมเครื่องหมำย 2 0 ถงึ 65535
float เลขจำนวนจริง มที ศนิยม
2 0 ถงึ 65,535
4 0 ถงึ 4,294,976,295
4 1.2E-38 ถึง 3.4E+38
(6 decimal places)
double เลขจำนวนจริง 2 เท่ำ 8 2.3E-308 ถึง 1.7E+308
(15 decimal places)
long double เลขจำนวนจรงิ 2 เทำ่ 10 3.4E-4932 ถงึ 1.1E+4932
แบบยำว (19 decimal places)
การประกาศตวั แปรในภาษาซี
1. ขอ้ มูลชนดิ ตัวอักขระ หรือตัวอกั ษร
เป็นชนิดข้อมูลท่ีจดั เก็บตวั อักขระ หรือตัวอักษรเพียง 1 ตัว หำกต้องกำรเก็บตัวขระหลำย ๆ ตัว หรือ
กลุม่ ขอ้ ควำม (String) กส็ ำมำรทำได้
1.1 รปู แบบกำรประกำศตวั แปรชนดิ ข้อมลู ตวั อักขระ หรอื ตวั อกั ษร 1 ตวั
รปู แบบ or char variable name = ‘value’;
char variable name;
ตวั อยา่ งเชน่ char ch1 = ‘a’; char ch1,ch2,ch3; 74
char ch2 = 78; char ch1= ‘a’, ch2= 58;
char ch1;
char ch2;
1.2 รูปแบบกำรประกำศตัวแปรชนดิ ข้อมูลแบบสตรงิ
รูปแบบ or char variable name[n] = “value”;
char variable name [n];
ตัวอย่างเช่น
char str[8] ;
char str[10] = “Thailand” ;
จำกตวั อย่ำงสงั เกตได้วำ่ ข้อมูลทเ่ี ปน็ อกั ขระ 1 ตวั จะอยู่ภำยในเคร่อื งหมำย ‘ ’ ในขณะท่ขี อ้ มลู ท่ีเป็น
กลุ่มข้อควำมจะอยู่ภำยในเครื่องหมำย “ ” และกำรจัดเก็บตัวอักขระ 1 ตัวนอกจำกเก็บเป็นตัวอักษร
a,b,c,…z แล้วยัง สำมำรถเก็บเป็นค่ำตัวเลขได้ เนื่องจำกข้อมูลอักขระในภำษำซีจะอ้ำงอิงเลขรหัสแอสกี
(ASCII) เปน็ สำคัญ
ตัวอย่างท่ี 2.1 โปรแกรมกำรกำหนดชนิดข้อมลู ตัวอักษร http://gg.gg/gsg4q
1 #include <stdio.h>
2 void main()
3{
4 char ch1 = ‘T’, ch2 = ‘H’;
5 char name[8] = “Anan”;
6 printf(“My name is %s\n”,name);
7 printf(“%c%c = Thailand”,ch1,ch2);
8 getch();
9}
ผลลัพธจ์ ากการรันโปรแกรม
75
http://gg.gg/gsg3l
2. ข้อมูลชนิดเลขจานวนเตม็
ข้อมูลชนิดเลขจำนวนเต็ม หมำยถึง ค่ำตัวเลขจำนวนเต็ม แบบไม่มีทศนิยม สำมำรถใช้นำหน้ำชนิด
ข้อมูล เช่น short หรือ long โดยข้อมลู ชนดิ น้ี ใชพ้ น้ื ที่หน่วยควำมจำขนำด 2 ไบต์ หรอื 4 ไบต์ เพอ่ื จดั เก็บชุด
ตวั เลขทงั้ ค่ำบวกและค่ำลบ
2.1 รปู แบบกำรประกำศตวั แปรเลขจำนวนเตม็ แบบส้ัน (short)
รปู แบบ
short int variable name; or short int variable name = value;
int variable name; or int variable name = value;
ตวั อย่างท่ี 2.2 โปรแกรมกำรกำหนดชนิดขอ้ มูลเลขจำนวนเตม็ แบบสั้น (short) http://gg.gg/gsg5j
1 #include <stdio.h>
2 void main()
3{
4 short int num1 = 25, num2 = 30;
5 int total;
6 total = num1+num2;
7 printf(“-----Answer-----\n”);
8 printf(“%d + %d = %d”,num1,num2,total);
9 getch();
10 }
ผลลัพธจ์ ากการรันโปรแกรม
76
http://gg.gg/gsg6j
2.2 รปู แบบกำรประกำศตวั แปรเลขจำนวนเต็มแบบยำว (long)
รูปแบบ or long int variable name = value;
long int variable name;
ตัวอยา่ งที่ 2.3 โปรแกรมกำรกำหนดชนดิ ข้อมลู เลขจำนวนเตม็ แบบยำว และตรวจสอบช่วงของข้อมลู
1 #include <stdio.h>
2 void main()
3{
4 long int number,count;
5 for (count=1; count<=5; count++)
6{ http://gg.gg/gsg7o
7 printf(“Enter number : ”);
8 scanf(“%d”,&number);
9 printf("%d.Input Number : %d\n",count,number);
10 }
11 getch();
12 }
ผลลพั ธจ์ ากการรันโปรแกรม
77
Overflow
http://gg.gg/gsg8d
จำกตัวอย่ำงโปรแกรมที่ 2.3 หำกมีกำรกรอกตัวเลขเกินช่วงของข้อมูลที่ค่ำ long จะรับได้ ก็จะส่งผล
ให้คำ่ ตัวเลขผดิ เพี้ยนจำกควำมเป็นจริง หรือทเี่ รียกว่ำ Overflow เนอ่ื งจำกชนิดข้อมลู แบบ long สำมำรถเก็บ
ค่ำตัวเลขได้ต้ังแต่ -2,147,483,648 ถึง 2,147,483,647 ในที่นี้อำจขึ้นอยู่กับคอมไพเลอร์ที่ใช้งำนด้วยว่ำเป็น
แบบ 16 บิต หรือ 32 บิตดว้ ยเชน่ กัน
3. ข้อมูลชนิดเลขจานวนจริง
ข้อมูลชนิดเลขจำนวนจริง หรือทศนิยม ได้แก่ ชนิดข้อมูล float, double และ long double คือ
คำ่ ตวั เลขทส่ี ำมำรถมีจุดทศนิยมตำมช่วงควำมกวำ้ งของค่ำตวั เลขแตล่ ะขนำดของข้อมูล ดังนี้
3.1 ขอ้ มลู ชนดิ เลขจำนวนจรงิ float (Single Precision Floating Point) มีขนำด 4 ไบต์ หรือ 32 บิต
สำมำรถจดั เก็บตำแหน่งทศนิยมได้ 6 ตำแหน่ง ช่วงขอ้ มลู ตั้งแต่ 1.2E-38 ถงึ 3.4E+38
รูปแบบ
float variable name; or float variable name = value;
3.2 ข้อมูลชนิดเลขจำนวนจริง double (Double Precision Floating Point) มีขนำด 8 ไบต์ หรือ
32 บิต สำมำรถจดั เกบ็ ตำแหน่งทศนิยมได้ 15 ตำแหนง่ ชว่ งข้อมูลต้งั แต่ 2.3E-308 ถึง 1.7E+308
รปู แบบ 78
double variable name; or double variable name = value;
3.3 ข้อมูลชนิดเลขจำนวนจริงแบบยำว long double (Long Double Precision Floating Point)
มขี นำด 10 ไบต์ หรอื 80 บิต สำมำรถจดั เก็บตำแหนง่ ทศนยิ มได้ 19 ตำแหน่ง ชว่ งข้อมลู ตงั้ แต่ 3.4E-4932 ถึง
1.1E+4932
รูปแบบ
long double variable name; or long double variable name = value;
ตวั อย่างท่ี 2.4 โปรแกรมทดสอบพ้ืนทเี่ ก็บข้อมลู และชว่ งขอ้ มลู เลขจำนวนจรงิ 79
1 #include <stdio.h>
2 #include <float.h>
3 #include <limits.h>
4 void main()
5{
6 printf("Storage size for float : %d\n",sizeof(float)); http://gg.gg/gsg93
7 printf("Maximum float positive value %e\n",FLT_MAX);
8 printf("Minimum float positive value %e",FLT_MIN);
9 printf("\nPrecision value %d\n",FLT_DIG);
10 printf("\nStorage size for double : %d\n",sizeof(double));
11 printf("Maximum double positive value %e\n",DBL_MAX);
12 printf("Minimum double positive value %e",DBL_MIN);
13 printf("\nPrecision value %d\n",DBL_DIG);
14 getch();
15 }
ผลลัพธ์จากการ รนั โปรแกรม
http://gg.gg/gsgai
ดังนั้น ข้อมูลชนิดเลขจำนวนจริง หรือเลขทศนิยม float, double หรือ long double มีควำม
แตกต่ำงกันของขนำด และหลักทศนิยม ซ่ึงข้ึนอยู่กับกำรนำไปใช้งำนว่ำต้องกำรควำมแม่นยำของหลักทศนิยม
มำกน้อยเพียงใด เช่น งำนทำงด้ำนวิทยำศำสตร์ ท่ีต้องกำรควำมแม่นยำสูง สำหรับงำนปกติท่ัวไป ชนิดข้อมูล
float หรอื double ก็เพยี งพอแลว้ สำหรับกำรนำไปใชง้ ำน
คา่ คงท่ี (Constant)
ค่ำคงท่ี (Constant) คือ ค่ำท่ีถูกเก็บไว้ในตัวแปร ที่ไม่สำมำรถเปล่ียนแปลงค่ำได้ตลอดทั้งโปรแกรม
ซ่ึงแตกต่ำงจำกค่ำท่ีถูกเก็บไว้ในตัวแปรแบบท่ัวไปนั้นสำมำรถเปลี่ยนแปลงได้เสมอในระหว่ำงกำรประมวลผล
กำรกำหนดค่ำคงที่ให้กับตัวแปรในภำษำซีนั้น ใช้หลักกำรต้ังชื่อตัวแปรตำมกฎเดียวกันกับกำรต้ังช่ือตัวแปรใน
ภำษำซี ส่วนใหญ่นิยมตั้งชื่อตัวแปรโดยใช้ตัวอักษรภำษำอังกฤษตัวพิมพ์ใหญ่ทั้งหมด เพื่อให้เกิดควำมแตกต่ำง
ระหว่ำงช่อื ตัวแปรกบั ช่อื ค่ำคงที่ คำสงั่ ที่ใชส้ ร้ำงค่ำคงท่ใี นภำษำซี มี 2 คำสงั่ ดังน้ี
คำส่ัง const
คำสง่ั #define
การใช้คาสงั่ const สร้างตัวแปรคา่ คงท่ี
คำสั่ง const เป็นคำสั่งที่ใช้สำหรับสร้ำงตัวแปรค่ำคงท่ี เพื่อใช้งำนตลอดท้ังโปรแกรม โดยวิธีกำร
ประกำศใช้งำนจะอยู่ในส่วนของโปรแกรม มิได้ประกำศไว้ท่ีส่วนหัวของโปรแกรมเหมือนกับ #define ซ่ึง
สำมำรถกำหนดคำ่ คงทโ่ี ดยมีรูปแบบดงั น้ี
รปู แบบ const data types variable name = value; 80
ตวั อย่าง กำรประกำรตัวแปรแบบคำ่ คงท่ี โดยใช้คำส่ัง const
const float PI = 3.141;
const char COMPANY [10] = “ADIDAS”;
การใชค้ าสง่ั #define สร้างตัวแปรคา่ คงที่
คำสั่ง #define เป็นคำส่ังที่ใช้สำหรับสร้ำงตัวแปรค่ำคงที่ เพ่ือใช้งำนตลอดท้ังโปรแกรมเช่นเดียวกับ
คำสั่ง const แต่จะประกำศไว้ท่ีส่วนหวั ของโปรแกรมโดยใช้ไดเรกทีฟ สำมำรถกำหนดค่ำคงโดยมีรปู แบบดงั น้ี
รปู แบบ #define variable name value;
ตัวอยา่ ง กำรประกำรตัวแปรแบบคำ่ คงที่ โดยใชค้ ำสงั่ #define
#define TAX 0.07
#define PI 3.141
#define COMPANY [10] “ADIDAS”
ตวั แปรแบบภายในและตัวแปรแบบภายนอก
กำรประกำศตัวแปรในภำษำซี สำมำรถแบ่งรปู แบบกำรประกำศตวั แปรเพ่ือใช้งำนภำยในฟังกช์ ัน และ 81
ประกำศตัวแปรเพือ่ ใช้งำนภำยนอกฟงั ก์ชนั ได้ดังนี้
1. ตัวแปรแบบภายใน (Local Variables)
ตัวแปรชนิดน้ี จะถูกประกำศไว้ภำยในฟังก์ชัน สำมำรถเรียกใช้งำนได้ภำยในฟังก์ชันเท่ำนั้น
ถึงแม้แต่ละฟงั ก์ชนั จะมกี ำรประกำศตวั แปรทเ่ี หมอื นกันกต็ ำม ก็ถือว่ำเป็นตัวแปรคนละตัวกนั ตัวอย่ำงเช่น
#include <stdio.h>
void main()
{
float vat = 0.07; //ตัวแปรภำยใน ฟงั ก์ชัน main
statement_1;
statement_2;
}
void funcl1 ()
{
float vat = 0.08; //ตวั แปรภำยใน ฟังกช์ ัน funcl1
statement_1;
statement_2;
}
2. ตัวแปรภายนอก (Global Variables)
ตัวแปรชนิดน้ี จะถูกประกำศไว้ภำยนอกฟังก์ชัน เป็นตัวแปรสำธำรณะสำมำรถเรียกใช้งำนได้ทุก
ฟังกช์ นั ตัวย่ำงเช่น
#include <stdio.h>
float ans = 0, r = 5, pi = 3.14;
void main()
{
ans = pi * r * r;
statement_1;
statement_2;
}
ใบแบบฝกึ หดั ระหวา่ งเรียนที่ 2.2
เรอ่ื ง ชนิดข้อมลู และการประกาศตัวแปรในภาษาซี
จุดประสงค์การเรียนรปู้ ระจาหนว่ ย
1. สำมำรถบอกรำยละเอยี ดของชนดิ ข้อมลู ในภำษำซีได้ถกู ตอ้ ง
2. สำมำรถเลือกชนดิ ข้อมลู ให้กับตัวแปรได้ถกู ต้อง
3. สำมำรถบอกควำมแตกต่ำงระหวำ่ งตัวแปรและคำ่ คงทใี่ นภำษำซไี ด้ถกู ต้อง
คาช้ีแจ้ง : ให้นักเรียนนำตวั เลอื กดงั ต่อไปนี้ ไปใช้เปน็ คำตอบข้อท่ี 1-3
int num1 = 50; char ch2 = ‘A’; int num2; long var1;
char ch1 = 66; float vat =0.07; double pi=3.14159
char name[5] = “Napa”; double num3= 5.9999090 float pi; 82
1. ขอ้ มลู ชนิดตวั อักษร ได้แก่ชนดิ ขอ้ มลู อะไรบ้ำง
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
2. ขอ้ มูลชนิดเลขจำนวนเตม็ ไดแ้ กช่ นิดข้อมลู อะไรบ้ำง
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
3. ข้อมลู ชนดิ เลขจำนวนจริง ได้แก่ชนดิ ข้อมลู อะไรบ้ำง
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
4. กำรกำหนดค่ำคงที่ให้กบั ตัวแปรโดยใช้คำสั่ง const หรอื #define กับกำรกำหนดคำ่ ให้กับตัวแปร
แบบทั่วไปแตกต่ำงกนั อย่ำงไร จงอธิบำย พร้อมยกตัวอยำ่ งประกอบ
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
ใบเนือ้ หาที่ 8
เร่ือง นพิ จน์ และตวั ดาเนินการ
นิพจน์ (Expression)
นิพจน์ คือ รูปแบบกำรเขียนคำส่ังท่ีประกอบด้วยตัวดำเนินกำร (Operators) และตัวถูกกระทำ
(Operand) ซ่ึงในทีน่ ้ี หมำยถึง นพิ จน์ทำงคณติ ศำสตร์ สำมำรถพบเห็นไดจ้ ำกสูตรกำรคำนวณตวั เลขต่ำง ๆ ดงั
ตวั อยำ่ ง เชน่
int ans, a = 80, b = 60;
ans = a + b;
ตัวแปร ตวั แปร คำ่ คงที่ คำ่ คงท่ี
ab 80 60
+ ตวั ดำเนินกำร 83
ตัวดำเนินกำร +
ผลลัพธ์ ans 140 ผลลัพธ์
จำกนิพจน์ข้ำงต้นตัวแปร ans จะเป็นตัวแปรที่ใช้สำหรับเก็บผลลัพธ์จำกกำรคำนวณ โดยท่ีตัวแปร a
เก็บข้อมูลตัวเลข 80 และตัวแปร b เก็บข้อมูลตัวเลข 60 ซึ่งมีเคร่ืองหมำย + เป็นตัวดำเนินกำร และตัวถูก
กระทำ คอื คำ่ ท่ีในตวั แปร a และ b จำกกำรคำนวณผลลัพธ์เท่ำกบั 140 ซึ่งถูกกำหนดค่ำใหก้ ับตัวแปร ans
ตวั ดาเนินการ (Operators)
ในกำรเขียนโปรแกรมภำษำซี จะมีตัวดำเนินกำรหลำกหลำยชนิด ซ่ึงจะนำมำใช้กับนิพจน์ในลักษณะ
ต่ำง ๆ ในที่น้ีจะกล่ำวถงึ ตวั ดำเนนิ กำรพ้ืนฐำนที่สำคญั ได้แก่
1. ตัวดำเนนิ กำรทำงคณิตศำสตร์ (Arithmetic Operators)
2. ตวั ดำเนนิ กำรยนู ำรี (Unary Operators)
3. ตัวดำเนินกำรควำมสัมพนั ธ์ (Relational Operators)
4. ตัวดำเนนิ กำรตรรกะ (Logical Operators)
5. ตวั ดำเนินกำรกำหนดค่ำแบบผสม (Compound Assignment Operators)
6. ตวั ดำเนนิ กำรเงือ่ นไข (Conditional Operators)
1. ตัวดาเนินการทางคณติ ศาสตร์ (Arithmetic Operators) 84
ตัวดำเนินกำรทำงคณิตศำสตร์ เป็นตัวดำเนินกำรพื้นฐำนใช้เพื่อคำนวณทำงด้ำนคณิตศำสตร์ให้มี
ค่ำออกมำมีชนิดสอดคล้องกับชนิดของตัวถูกกระทำ เช่น บวก ลบ คูณ หำร และหำรเอำเศษ (Modulus)
โดยมีสญั ลกั ษณต์ วั ดำเนนิ กำรทำงคณติ ศำสตรด์ ังน้ี
ตัวดำเนินกำร ควำมหมำย ตัวอย่ำง
+ กำรบวก (Addition) x+y
- กำรลบ (Subtraction) x-y
* กำรคูณ (Multiplication) x*y
/ กำรหำร (Division) x/y
% กำรหำรเอำเศษ (Modulus) x%y
กำหนดให้ x และ y เป็นตัวแปรชนดิ เลขจำนวนเตม็ (int) โดยที่ x =10, y=5 ดงั นน้ั
ตัวถกู กระทา ตวั ดาเนินการ ตวั ถกู กระทา ผลลพั ธ์
x + y 15
x - y 5
x * y 50
x / y 2
x % y 0
ตัวอยา่ งท่ี 2.5 โปรแกรมสงั่ พมิ พ์นิพจน์ออกทำงจอภำพ http://gg.gg/gsgbu
1 #include <stdio.h> 85
2 void main()
3{
4 int x =10, y=5;
5 printf("x is %d and y is %d \n",x,y);
6 printf(" Addition\n");
7 printf("x + y is %d\n\n",x+y);
8 printf(" Subtraction\n");
9 printf("x - y is %d\n\",x-y);
10 printf(" Multiplication\n");
11 printf("x * y is %d\n\n",x*y);
12 printf(" Division\n");
13 printf("x / y is %d\n\n",x/y);
14 printf(" Modulus\n");
15 printf("x % y is %d\n\n",x%y);
16 getch();
17 }
ผลลพั ธ์จากการรนั โปรแกรม
http://gg.gg/gsgcb
2. ตวั ดาเนนิ การยูนารี (Unary Operators)
ตัวดำเนินกำรยูนำรี คือ เคร่ืองหมำยลบท่ีนำหน้ำตัวเลข หรือตัวแปร ซ่ึงจะส่งผลให้ค่ำถูกเปล่ียน
จำกจำนวนบวกกลำยเปน็ ลบ และจำกลบกลำยเป็นบวก ตัวอย่ำงเช่น
กำหนดให้ a และ b เป็นตวั แปรชนดิ เลขจำนวนเตม็ (int) โดยท่ี a =10, b=5 ดังนน้ั
นิพจน์ ผลลัพธ์
a-b 5
a + (-b) 5
a – (-b) 15
ตวั อย่างท่ี 2.6 โปรแกรมสั่งพิมพ์นพิ จน์ 86
1 #include <stdio.h> http://gg.gg/gsgdk
2 void main()
3{
4 int a =10, b=5;
5 printf("----Unary Operators----\n\n");
6 printf("a is %d and b is %d \n\n",a,b);
7 printf("(a - b) = %d\n\n",a-b);
8 printf("(a + (-b)) = %d\n\n",a+(-b));
9 printf("a - (-b) = %d\n\n",(a-(-b)));
10 getch();
11 }
ผลลัพธ์จากการรนั โปรแกรม
http://gg.gg/gsge2
ตัวดำเนินกำรท่ีจะกล่ำวถึงตัวถัดไปสำหรับตวั ดำเนนิ กำรยูนำรี คือ ตัวดำเนินกำรเพ่ิมค่ำ (Increment)
และลดค่ำ (Decrement) ตัวดำเนนิ กำรสำหรบั เพ่ิมค่ำตวั แปร 1 ใช้เคร่อื งหมำย ++ และตัวดำเนนิ กำรสำหรับ
ลดค่ำตัวแปรลง 1 ใช้เคร่ืองหมำย -- โดยเขียนนำหน้ำตัวแปร (Prefix) หรือหลังตัวแปร (Postfix) ก็ได้
รำยละเอยี ดดงั น้ี
นิพจน์ ความหมาย
-- a ลดค่ำลงหนง่ึ ใหก้ บั ตัวแปร a ก่อนแล้วจึงนำค่ำใหม่ของตัวแปร a ไปใชง้ ำน
a-- นำคำ่ ท่ีอยใู่ นตวั แปร a ไปใชก้ ่อนแลว้ จึงลงค่ำท่ีอยู่ในตวั แปร a ลงอีกหน่ึง
++ a เพิม่ ค่ำหนงึ่ ใหก้ ับตวั แปร a กอ่ นแลว้ จงึ นำค่ำใหม่ของตวั แปร a ไปใช้งำน
a ++ นำค่ำท่ีอยู่ในตัวแปร a ไปใช้ก่อนแลว้ จึงเพิม่ ค่ำท่ีอยใู่ นตวั แปร a อีกหน่งึ
ตวั อยา่ งท่ี 2.7 โปรแกรมทดสอบตวั ดำเนนิ กำร Prefix และ Postfix increment 87
1 #include <stdio.h> http://gg.gg/gsgel
2 void main()
3{
4 int a,b =8;
5 printf("----Postfix increment----\n\n");
6 a = 2+b++*2;
7 printf("Q: a = 2 + b++ * 2\n");
8 printf("A: a is %d and b is %d\n\n",a,b);
9 b =8;
10 a = 2+ ++b*2;
11 printf("----Prefix increment----\n\n");
12 printf("Q: a = 2 + ++b* 2\n");
13 printf("A: a is %d and b is %d\n\n",a,b);
14 getch();
15 }
ผลลัพธ์จากการรันโปรแกรม
http://gg.gg/gsgfq
จำกตวั อย่ำง ผลลพั ธ์ของโปรแกรมสำมำรถอธิบำยได้ดงั น้ี
นพิ จน์ ผลลพั ธ์ คาอธบิ าย
b = 8; b=9 a=2+8*2
a = 2 + ((b++)*2); a = 18 b=8+1
b = 8; b=9 b=8+1
a = 2 + ((++b)*2); a = 20 a=2+9*2
3. ตัวดาเนินการความสมั พันธ์ (Relational Operators)
ตัวดำเนินกำรควำมสัมพันธ์เป็นตัวดำเนินกำรเปรียบเทียบค่ำนิพจน์ 2 นิพจน์ มักใช้กับคำสั่ง
ควบคมุ ซึง่ ประกอบด้วย
ตวั ดำเนินกำร ควำมหมำย
< นอ้ ยกว่ำ 88
<= น้อยกว่ำหรือเทำ่ กับ
> มำกกวำ่
>= มำกกวำ่ หรือเท่ำกับ
== เทำ่ กบั
!= ไม่เทำ่ กบั
ผลท่ีไดจ้ ำกกำรเปรียบเทียบ ซ่งึ ในภำษำซแี ทนดว้ ยเลขจำนวนเต็ม กลำ่ วคอื กรณีเง่ือนไขเปรยี บเทียบ
เป็นจรงิ (True) จะได้ค่ำเป็น 1 และกรณีเง่อื นไขเปรยี บเทียบเป็นเท็จ (False) จะได้ค่ำเป็น 0
ตัวอยา่ งที่ 2.8 โปรแกรมทดสอบกำรใช้ตวั ดำเนนิ กำรควำมสมั พนั ธ์เปรียบเทยี บค่ำนิพจน์ 2 นพิ จน์
1 #include <stdio.h>
2 void main()
3{
4 int res1,res2;
5 float num1=2.5,num2=4.0;
6 res1 = num1 <= num2; http://gg.gg/gsgh2
7 res2 = num2 < num1;
8 printf(“%.2f <= %.2f \nresult1 is %d\n\n",num1,num2,res1);
9 printf("%.2f < %.2f \nresult2 is %d\n\n",num2,num1,res2);
10 getch();
11 }
ผลลัพธ์จากการรนั โปรแกรม
http://gg.gg/gsghu
4. ตวั ดาเนนิ การตรรกะ (Logical Operators)
ตัวดำเนินกำรตรรกะ เป็นตัวดำเนินกำรที่ใช้คู่กับตัวดำเนินกำรเปรียบเทียบ ซึ่งมักใช้ร่วมกับคำสั่ง
ควบคุม ประกอบด้วย
ตวั ดำเนนิ กำร ควำมหมำย
&& และ (and) 89
|| หรอื (or)
! ไมใ่ ช่ (not)
โดยผลลพั ธ์จะเป็นไปตำมตำรำงค่ำควำมจริงของตวั ดำเนินกำรตรรกะ ดังนี้
ตวั เปรียบเทียบ P && Q ผลลัพธ์ !P
PQ True P || Q False
False False
True True False True True
True False False True True
False True True
False False False
ตวั ดำเนนิ กำร และ && (and) ตัวเปรยี บเทียบตอ้ งไม่มีคำ่ เป็น 0 ผลลัพธ์จะออกเป็นจริง
ตัวดำเนินกำร หรอื || (or) ตัวเปรียบเทยี บท้งั หมดต้องไมม่ ีคำ่ เปน็ 0 ผลลพั ธจ์ ะออกเป็นจริง
ตัวดำเนนิ กำร ไม่ใช่ ! (not) ให้ผลลัพธ์ตรงข้ำมกับตัวเปรยี บเทียบ
ตัวอยา่ งเช่น แทนคา่ ขอ้ มูล คา่ ตรรกะ ค่าทไ่ี ด้
สมมติให้ int a=40, b=30, c=80;
((80+30)>=40) && ((80-40)>30) True 1
นพิ จน์
((c+b)>=a) && ((c-a)>b) !((30<=80) || (40>30)) False 0
!((b<=c) || (a>b))
ตวั อยา่ งที่ 2.9 โปรแกรมทดสอบกำรใช้ตวั ดำเนนิ กำรเปรียบเทยี บกับตวั ดำเนินกำรตรรกะ
1 #include <stdio.h>
2 void main()
3{
4 int score = 60,res;
5 res = score<=60 && score>=65; is %d”,score,scorhet,treps:/);/gg.gg/gsgit
6 printf(“%d<=60 && %d>=65 condition
7 res = score<=60 || score>=65;
8 printf("%d<=60 || %d>=65 \ncondition is %d\n\n",score,score,res);
9 res = !(score<=60 && score>=65); 90
10 printf("!(%d<=60 && %d>=65) \ncondition is %d\n\n",score,score,res);
11 getch();
12 }
ผลลพั ธจ์ ากการรนั โปรแกรม
http://gg.gg/gsgjj
จำกตวั อย่ำง ผลลัพธ์ของโปรแกรมสำมำรถอธบิ ำยไดด้ งั นี้
60<=60 60>=65 60<=60 60>=65
Ture = 1 False = Ture = 1 False = 0
0
&& ||
False = !0=1 Ture = 1
0
5. ตวั ดาเนินการกาหนดคา่ แบบผสม (Compound Assignment Operators)
ตัวดำเนินกำรกำหนดค่ำแบบผสมในภำษำซี เป็นตัวดำเนินกำรที่ผสมระหว่ำงตัวดำเนินกำร
กำหนดค่ำ และตัวดำเนินกำรคณติ ศำสตร์ ซึง่ ประกอบด้วย +=, -=, *=, /=, %= แสดงดังตัวอยำ่ งตอ่ ไปนี้
ตัวดาเนนิ การ นพิ จนท์ ว่ั ไป นิพจนท์ ี่ใชต้ วั ดาเนินการกาหนดคา่ แบบผสม 91
+= a=a+b a += b
-= a=a-b a -= b
*= a=a*b a *= b
/= a=a/b a /= b
%= a=a%b a %= b
กำรแปลคำส่ังของตัวดำเนินกำรกำหนดค่ำแบบผสม จะทำคำส่ังที่อยู่ทำงขวำมือก่อนเสมอ เช่น
กำหนดให้ตัวแปร a เป็นเลขจำนวนเตม็ (int) มีค่ำเท่ำกับ 10
นิพจน์ a -= 5+2
จะเทำ่ กับ a = 10 – (5+2)
คำสง่ั a=3
ผลลัพธ์
6. ตัวเนนิ การเงื่อนไข (Conditional Operators)
ตวั ดำเนนิ กำรเงอ่ื นไข เป็นตัวดำเนินกำรท่ใี ชเ้ พ่อื ทดสอบเง่ือนไขคำ่ นิพจน์ทำงตรรกะวำ่ จริง (True)
หรอื เทจ็ (False)
รูปแบบ
นิพจนเ์ งื่อนไข ? นพิ จน์กรณีเป็นจริง : นพิ จนก์ รณีเปน็ เท็จ
ตัวอยา่ งเชน่
(a>=b) ? a : b
หมำยควำมว่ำ ถ้ำ a มีค่ำมำกกว่ำหรือเท่ำกับ b กรณีเป็นจริง จะถูกกำหนดให้เป็นค่ำ a และกรณี
ทเ่ี ปน็ เท็จจะถกู กำหนดใหเ้ ปน็ ค่ำ b ดังตัวอยำ่ งที่ 2.10
ตัวอยา่ งที่ 2.10 โปรแกรมทดสอบกำรใชต้ วั ดำเนนิ กำรเปรียบเทยี บกบั ตัวดำเนินกำรตรรกะ
1 #include <stdio.h>
2 void main()
3{
4 int a,b; 92
5 printf(“Input number : ”);
6 scanf(“%d”,&a);
7 printf(“Input number : ”); http://gg.gg/gsgjj
8 scanf(“%d”,&b);
9 (a>=b) ? printf(“%d more then %d”,a,b) : printf(“%d not more then %d”,a,b);
10 }
ผลลพั ธ์จากการรนั โปรแกรม
http://gg.gg/gsgky
ลาดบั ความสาคัญของตัวดาเนนิ การ
กำรประมวลผลตัวดำเนินกำรแต่ละตัวจะมีลำดับควำมสำคัญก่อนหลังที่แตกต่ำงกัน ตัวดำเนินกำรที่
อยู่ด้ำนบนจะมีควำมสำคัญกว่ำด้ำนล่ำง กล่ำวคือ หำกนิพจน์ประกอบด้วยตัวดำเนินกำรด้ำนบนจะมีกำรแปล
คำ่ ตัวดำเนนิ กำรน้ันก่อน แต่ถ้ำกรณีมลี ำดับควำมสำคัญเท่ำกัน จะทำกำรแปลควำมหมำยจำกซ้ำยไปขวำ หรือ
จะกระทำกับตัวดำเนินกำร ท่พี บกอ่ นน้นั เอง ตำมลำดบั ควำมสำคญั ของตวั ดำเนนิ กำรพื้นฐำนตอ่ ไปน้ี
ตวั ดำเนินกำร ควำมหมำย
() เครอ่ื งหมำยวงเล็บ
++, -- ตวั ดำเนินกำรเพ่ิมคำ่ และลดค่ำ
-, ! ยนู ำรลี บ และตรรกะ NOT
*, /, % เคร่ืองหมำยคณู หำร และโมดูลัส
+, - เครอ่ื งหมำยบวก และเคร่อื งหมำยลบ
ตัวอย่างนพิ จน์ เช่น 93
ans = 5 * (4 + 8) % 2 + 10 / 2
จะลำดบั กำรคำนวณในแตล่ ะนิพจน์ได้ดังนี้
ans = 5 * (4 + 8) % 2 + 10 / 2
5 * 12 % 2 + 10 / 2
60 % 2 + 10 / 2
60 % 2 + 5
0+5
5
ทบทวนความรูก้ นั หนอ่ ย
ไปทาแบบฝกึ หัดกนั เลย
ใบแบบฝึกหัดระหวา่ งเรียนท่ี 2.3
เรื่อง นพิ จน์ และตัวดาเนินการ
จดุ ประสงค์การเรยี นรู้ประจาหน่วย
1. สำมำรถอธิบำยตัวดำเนินกำรตำ่ ง ๆ ในภำษำซีได้ถูกตอ้ ง
2. สำมำรถเลอื กตัวดำเนนิ กำรชนดิ ตำ่ ง ๆ ได้ถูกต้อง
3. สำมำรถบอกลำดับควำมสำคญั ของตวั ดำเนินกำรได้ถูกต้อง
คาชแี้ จ้ง : จงตอบคำถำมต่อไปนี้
1. จงแปลงสมกำรต่อไปนีเ้ ปน็ นพิ จน์ทำงคณติ ศำสตร์
1) x = 3x2 + y x 3 …………………………………………………………………………………………………
2) 1 + 2−x …………………………………………………………………………………………………
2 2+y
2. จงเขยี นนิพจนต์ ำมโจทยร์ ะบุ
1) มีตัวแปร x y และ z ใหเ้ ขียนนพิ จน์เพ่ือหำคำ่ ของ x ซึง่ เกิดจำก x บวก y แลว้ คูณด้วย z 94
……………………………………………………………………………………………………………………………………………
2) มีตวั แปร x y และ z ใหเ้ ขยี นนิพจนเ์ พ่ือเปรียบเทยี บวำ่ x คณู z มีคำ่ มำกกว่ำ y คูณด้วย z
หรือไม่
……………………………………………………………………………………………………………………………………………
3) ให้ตวั แปร x เกบ็ คะแนนของนักเรยี น จำกนน้ั ตรวจสอบว่ำ x มคี ะแนนอยู่ในชว่ งตั้ง 50
คะแนนขนึ้ ไปแตไ่ ม่เกนิ 55 คะแนน
……………………………………………………………………………………………………………………………………………
3. กำหนดให้ int a = 2, b = 5, c = 3, ans; จงใหค้ ำตอบของนิพจน์ต่อไปนี้
1) ans = a + b * 3 …………..………………………………………………………….......………………..
2) ans = a + b * 2 / 5 ……………………………………………………………………………………………..
3) ans = a -= (c * b) …………….………………………………………………………………………………..
4. กำหนดให้ int a = 5 ,b= 6,d=8 จงหำผลลัพธ์ของนิพจน์ต่อไปน้ี
1) (a+5<=b+2) && (d>a) ………………………………………………………………………………………….
2) (a<=b) && (d>a) ………………………………………………………………………………………….
3) !(a+b<=20) || (d>a+2) ………………………………………………………………………………………….
แบบทดสอบหลังเรียน 95
คาชี้แจง้
1. แบบทดสอบฉบับน้ีมีจำนวน 10 ข้อ ข้อละ 1 คะแนน คะแนนเตม็ 10 คะแนน เวลำ 20 นำที
2. แบบทดสอบนี้เป็นแบบเลือกตอบ
3. จงทำเคร่อื งหมำย x ลงในกระดำษคำตอบท่ีถูกต้องท่สี ุดเพยี งข้อเดยี ว
1. ข้อใดบอกควำมหมำยของตวั แปรในภำษำซีได้ถกู ตอ้ ง
ก. ตวั แปร สรำ้ งข้ึนเพื่อใช้เกบ็ ข้อมลู และใช้งำนในโปรแกรม
ข. ตวั แปร ถกู นำไปใช้เพื่อกำรคำนวณทำงคณิตศำสตร์และลอจกิ
ค. ตัวแปร หมำยถึงชือ่ ตวั แปรท่ีตัง้ ข้ึนเพ่ือนำไปใชใ้ นกำรเขียนโปรแกรม
ง. ตวั แปร คอื ฟงั กช์ นั ในภำษำซีทสี่ ร้ำงข้นึ เพือ่ เก็บข้อมูล
2. ประกำศตวั แปร int score = 80 จำกนิพจน์ (score >=80) && (score <=100) ผลลัพธต์ ำมข้อใดถกู ต้อง
ก. 4
ข. 3
ค. 2
ง. 1
3. ข้อใดกล่ำวถกู ต้องเกย่ี วกบั ตัวดำเนินกำรเพ่ิมคำ่ และลดค่ำทลี ะหนึง่
ก. ตัวดำเนนิ กำรท้งั สอง จัดเป็นตวั ดำเนนิ กำรแบบเงื่อนไข
ข. a++ และ ++a มคี วำมหมำยเดียวกับ a = a+1
ค. ใช้เพือ่ กำรทดสอบคำ่ นิพจน์ทำงตรรกะว่ำจริงหรือเทจ็
ง. เป็นตัวดำเนนิ กำรเปรียบเทียบคำ่
4. ข้อใดต่อไปนี้ กลำ่ วถงึ ตัวแปรและคำ่ คงที่ ได้ถูกต้องท่สี ุด
ก. ข้อมลู ทเ่ี ก็บไว้ในตัวแปรน้ันไมส่ ำมำรถเปลี่ยนแปลงได้ แต่ ตัวแปรค่ำคงที่น้นั สำมำรถเปลี่ยนแปลง
คำ่ ไดเ้ สมอระหวำ่ งกำรประมวลผล
ข. ข้อมูลทเี่ ก็บไว้ในตวั แปรและตวั แปรค่ำคงทน่ี ้ันสำมำรถเปลี่ยนแปลงค่ำได้ตลอดกำรทำงำนของ
กำรประมวลผล
ค. ขอ้ มลู ทเี่ กบ็ ไว้ในตัวแปรน้นั สำมำรถเปลยี่ นแปลงไดเ้ สมอในระหว่ำงกำรประมวลผล แตต่ ัวแปร
ค่ำคงทน่ี นั้ ไม่สำมำรถเปลีย่ นแปลงได้
ง. ข้อมลู ทเี่ กบ็ ไว้ในตวั แปรและตัวแปรค่ำคงทน่ี ัน้ ไม่สำมำรถเปลีย่ นแปลงคำ่ ได้ตลอดกำรทำงำนของ
กำรประมวลผล
5. ขอ้ ใดต่อไปนี้ คอื ข้อห้ำมในกำรตั้งชอ่ื ตัวแปรในภำษำซี 96
ก. ตวั อกั ษรตำมดว้ ยเคร่ืองหมำย _ (underscore)
ข. ตวั อักษรตำมด้วยตวั เลข
ค. ตัวอกั ษร
ง. ตวั เลข
6. หำกต้องกำรกำหนดตวั แปรทเ่ี อำไวเ้ ก็บเลขจำนวนทศนิยม ไม่เกนิ 6 หลัก ควรกำหนดเป็นชนิดขอ้ มูลใด
ก. float
ข. long
ค. int
ง. double
7. ข้อใดต่อไปนี้กลำ่ วถูกต้องเกีย่ วชนดิ ข้อมลู integer
ก. ขอ้ มูลชนดิ ตวั อักษร
ข. ข้อมูลชนดิ เลขจำนวนเตม็
ค. ขอ้ มูลชนดิ เลขจำนวนจริง
ง. ขอ้ มูลชนิดเลขจำนวนจรงิ 2 เท่ำ
8. ชื่อตวั แปรในภำษำซขี ้อใดถูกต้อง
ก. variable_1
ข. variable 2
ค. 2varable
ง. variable!
9. ประกำศตัวแปร int a = 3, b = 9, c = 12; อยำกทรำบว่ำ ผลลัพธ์ตำมข้อใดถูกต้อง จำกนิพจน์
((b/a)+12)%a
ก. 0
ข. 3
ค. 5
ง. 15
10. ชนิดขอ้ มูลแบบ char จะตอ้ งอยู่ภำยในเคร่ืองหมำยใดตอ่ ไปน้ี
ก. “ ”
ข. & &
ค. ‘ ’
ง. /* */
ใบบันทกึ พฤตกิ รรมการเรยี นและการทางาน
ระดับช้ัน................. กล่มุ ....................... แผนกวิชา..................................................
คาชี้แจง ให้ผู้สอนทำเครื่องหมำย หรือ ตำมพฤติกรรมกำรเรียนและกำรทำงำนของผู้เรียน
ในใบประเมินพฤติกรรมกำรเรียน และกำรทำงำน
เกณฑ์การใหค้ ะแนน หมำยถงึ นักเรียนมพี ฤตกิ รรมตำมท่กี ำหนด
ปฏบิ ตั ิได้ () 1 คะแนน หมำยถงึ นกั เรยี นไม่มพี ฤติกรรมตำมท่ีกำหนด
ไม่ปฏบิ ตั ิ () 0 คะแนน
มีวนิ ยั ใฝเ่ รียนรู้ มีคณุ ธรรม มีจิตอำสำ
(3 คะแนน) (3 คะแนน) (2 คะแนน) (2 คะแนน)
ลำดบั ช่อื -สกลุ 1.1 เข้ำเรียนตรงเวลำ
ที่ 1.2 แ ่ตงกำยถูก ้ตองตำมระเ ีบยบ
1.3 ทำงำนเ ็ปนระเ ีบยบ 97
2.1 ีมควำมพร้อม ในกำรเ ีรยน
2.2 มีควำมกระตือรือร้น
2.3 ใฝ่หำควำมรู้
3.1 มีควำมซ่ือสัตย์
3.2 ีมระเบียบ ิว ันย
4.1 ีม ุอดมกำรณ์ในส่ิง ่ีทดีงำมเ ื่พอส่วนรวม
4.2 ่ชวยเหลือ ้ผูอ่ืนแสดง ึถงควำมมี ้นำใจ
รวมคะแนน (10 คะแนน)
แบบบันทึกหลงั สอน 98
1. ผลกำรใชแ้ ผนกำรสอนเป็นอย่ำงไร
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
2. ผลกำรเรียนของนักเรยี นเปน็ อย่ำงไร
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
3. ผลกำรสอนของครเู ป็นอย่ำงไร
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
ลงช่ือ...............................................................
(นำยพงศธร บำรุงบ้ำน)
ครผู สู้ อน
ลงชือ่ ...............................................................
(.....................................................)
รองผ้อู ำนวยกำร ฝำ่ ยวชิ ำกำร
ภาคผนวก 99
เฉลยหน่วยที่ 2 เร่ือง ตัวแปร ประเภทขอ้ มูล และตัวดาเนนิ การ
- กระดำษคำตอบแบบทดสอบก่อนเรียนและแบบทดสอบหลงั เรยี น
- เฉลยคำตอบแบบทดสอบก่อนเรียนและแบบทดสอบหลงั เรียน
- เฉลยใบแบบฝกึ หดั ระหว่ำงเรยี นที่ 2.1 เร่อื ง ตวั แปร (Variables)
- เฉลยใบแบบฝึกหัดระหว่ำงเรียนที่ท่ี 2.2 เรื่อง ชนิดข้อมูล และกำรกำหนดข้อมูลให้กับ
ตัวแปร
- เฉลยใบแบบฝกึ หดั ระหวำ่ งเรียนท่ี 2.3 เรอ่ื ง นิพจน์ และตวั ดำเนนิ กำร
- ใบบันทึกผลคะแนนแบบฝึกหัดระหว่ำงเรียนหน่วยท่ี 2 เร่ือง ตัวแปร ประเภทข้อมูล
และตัวดำเนินกำร
- ใบบันทึกผลคะแนนแบบทดสอบก่อนเรียนและแบบทดสอบหลังเรียนหน่วยที่ 2
เรือ่ ง ตัวแปร ประเภทขอ้ มูลและตวั ดำเนินกำร
กระดาษคาตอบ แบบทดสอบก่อนเรียน 100
หนว่ ยท่ี 2 เรอื่ ง ตวั แปร ประเภทขอ้ มลู และตวั ดาเนนิ การ
รหัสนักศึกษา.....................................ชอื่ – นามสกุล .................................................ระดบั .............กลมุ่ ......
แบบทดสอบก่อนเรยี น
ข้อ ก ข ค ง
1
2
3
4
5
6
7
8
9
10
เกณฑ์การประเมิน
คะแนน ระดบั คณุ ภาพ ผลการประเมิน
8-10 ดีมำก ระดับคุณภาพ คือ
5-7 พอใช้
0-4 ปรับปรงุ o ดีมำก
o พอใช้
คะแนนเต็ม 10 คะแนน o ปรบั ปรงุ
คะแนนที่ได้ คือ...........
กระดาษคาตอบ แบบทดสอบหลงั เรียน 101
หนว่ ยที่ 2 เรือ่ ง ตวั แปร ประเภทขอ้ มูล และตวั ดาเนนิ การ
รหสั นกั ศึกษา.....................................ช่อื – นามสกลุ .................................................ระดบั .............กลมุ่ ......
แบบทดสอบหลังเรยี น
ข้อ ก ข ค ง
1
2
3
4
5
6
7
8
9
10
เกณฑ์การประเมิน
คะแนน ระดบั คณุ ภาพ ผลการประเมิน
8-10 ดีมำก ระดับคุณภาพ คือ
5-7 พอใช้
0-4 ปรับปรุง o ดีมำก
o พอใช้
คะแนนเต็ม 10 คะแนน o ปรบั ปรงุ
คะแนนท่ีได้ คือ...........
เฉลยคาตอบแบบทดสอบกอ่ นเรียนและแบบทดสอบหลังเรยี น
หนว่ ยที่ 2 เรื่อง ตัวแปร ประเภทขอ้ มูล และตัวดาเนินการ
แบบทดสอบก่อนเรียน แบบทดสอบหลังเรยี น 102
ข้อ ก ข ค ง ขอ้ ก ข ค ง
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
เฉลยใบแบบฝึกหดั ระหวา่ งเรียนท่ี 2.1
เรอื่ ง ตัวแปร (Variables)
จดุ ประสงค์การเรียนรู้ประจาหน่วย
1. สำมำรถบอกควำมหมำยของตวั แปรไดถ้ กู ตอ้ ง
2. สำมำรถเขยี นชอ่ื ตัวแปรตำมกฎเกณฑ์ของภำษำซไี ด้ถกู ต้อง
คาชแ้ี จ้ง : จงตอบคำถำมต่อไปนใ้ี ห้ถกู ต้อง
1. ตวั แปร หมำยถงึ 103
สัญลักษณ์ที่ใช้ในกำรอ้ำงอิงถึงข้อมูล ณ ตำแหน่งต่ำง ๆ ในหน่วยควำมจำ ตัวแปรถูกสร้ำงเพื่อใช้
ในกำรจัดเก็บข้อมูล และเพ่ือใช้งำนภำยในโปรแกรม โดยข้อมูลท่ีจัดเก็บต้องสอดคล้องกับชนิดของข้อมูลที่
กำหนดให้กบั ตัวแปร
2. กฎกำรตงั้ ชอ่ื ตัวแปรในภำษำซี ประกอบด้วยอะไรบำ้ ง จงอธิบำย
กำรตัง้ ชอ่ื ตัวแปรในภำษำซีต้องประกอบดว้ ยตวั อักขระ A-Z หรอื a-z ,0-9 หรอื _ (Underscore)
เท่ำน้ัน อักขระตัวแรกตอ้ งเป็น A-Z หรือ a-z หรอื _ (Underscore) อยำ่ งใดอย่ำงหน่งึ เทำ่ นัน้ หำ้ มใช้ตวั เลข
นำหนำ้ ช่อื ตวั แปร ชอ่ื ตัวแปรมคี วำมยำว หรือจำนวนอักขระได้ถึง 31 ตวั (กรณเี ปน็ ANSI-C) และตอ้ งไมซ่ ้ำกบั
คำสงวน (Reserved Words) ของภำษำซี
3. จงยกตวั อยำ่ งกำรต้ังชื่อตวั แปรในภำษำซีอย่ำงถูกต้อง
ขึ้นอยู่กับดุลยพนิ ิจของผสู้ อน
4. กำรตง้ั ชอ่ื ตวั แปรต่อไปน้ี ถูกหรือผิด ตำมกฎกำรต้ังช่ือตัวแปรในภำษำซี พร้อมอธิบำย
ช่ือตัวแปร คำตอบ ช่อื ตัวแปร คำตอบ
1num ผดิ เพรำะขึน้ ตน้ ด้วยตัวเลข First name ผดิ เพรำะมชี ่องวำ่ ง
st_name ถูก int ผดิ เพรำะตรงกบั คำสงวนในภำษำซี
total ถกู Age ถูก
main ผิด เพรำะตรงกบั คำสงวนในภำษำซี person ถูก
เฉลยใบแบบฝกึ หดั ระหวา่ งเรียนที่ 2.2
เร่ือง ชนิดข้อมลู และการกาหนดข้อมลู ใหก้ ับตัวแปร
จุดประสงค์การเรียนรูป้ ระจาหน่วย
1. สำมำรถบอกชนดิ ข้อมลู ในภำษำซไี ด้ถกู ต้อง
2. สำมำรถเลือกชนิดข้อมูลให้กับตัวแปรได้ถกู ต้อง
3. สำมำรถบอกควำมแตกต่ำงระหวำ่ งตวั แปรและค่ำคงที่ในภำษำซีได้ถกู ต้อง
คาชแี้ จง้ : ใหน้ กั เรียนนำตัวเลอื กดังต่อไปน้ี ไปใช้เปน็ คำตอบข้อท่ี 1-3
int num1 = 50; char ch2 = ‘A’; int num2; long var1;
char ch1 = 66; float vat =0.07; double pi=3.14159
char name[5] = “Napa”; double num3= 5.9999090 float pi;
1. ขอ้ มูลชนิดตัวอักษร ได้แก่ชนดิ ขอ้ มลู อะไรบำ้ ง 104
………………c……ha……r……c……h……1 ……=……6……6……; …………………………ch……a……r ……ch……2……=…………‘A……’……; ……………………ch……a……r ……n……am……e……[……5]……=…………“N……a……p……a……”;……………………………………....……………………………………
2. ข้อมลู ชนิดเลขจำนวนเต็ม ได้แก่ชนิดข้อมูลอะไรบำ้ ง
………………in……t……n……um…………1……=……5……0……; ……………………………………in……t ……n……um…………2;…………………………………………lo……n……g……v……a……r1……; ……………………………………………………………..…..…………………………………………
3. ขอ้ มูลชนิดเลขจำนวนจรงิ ไดแ้ กช่ นดิ ข้อมลู อะไรบำ้ ง
…..……………………f…l…o……a…t……p……i;……………………….….……………f…l…o…a……t…v……a……t……=…0….…0……7…;……………………………………………………………………………………………………………………………………
……………………do……u……b……le…………nu……m……3……=……5……...9..……99……9……0……90…………………………………………d……o……u……b……le……p……i……=3…….……14……1……5……9 …………………………………………………………………………………………………………
………………..……………………
4. กำรกำหนดคำ่ คงท่ีให้กบั ตัวแปรโดยใช้คำสง่ั const หรอื #define กบั กำรกำหนดคำ่ ให้กบั ตัวแปรแบบปกติ
แตกตำ่ งกนั อย่ำงไร จงอธบิ ำย พร้อมยกตัวอยำ่ งประกอบ
กำรประกำศตัวแปรโดยปกติท่ัวไปนั้นค่ำที่อยู่ในตัวแปรสำมำรถเปลี่ยนแปลงได้เสมอในระหว่ำง
กำรประมวลผล แต่สำหรับกำรประตัวแปรแบบค่ำคงท่ีนั้น ค่ำดังกล่ำวจะไม่สำมำรถเปล่ียนแปลได้ตลอดใน
โปรแกรม ตัวอย่ำงกำรประกำศตัวแปรแบบค่ำคงที่ เช่น #define TXT “Error” const int MAX = 99;
และตัวอยำ่ งกำรประกำศตวั แปรแบบปกติ เชน่ int num_1 = 30; float vat = 0.07; เปน็ ตน้
เฉลยใบแบบฝึกหัดระหวา่ งเรียนท่ี 2.3
เรอ่ื ง นิพจน์ และตัวดาเนนิ การ
จุดประสงค์การเรยี นรู้ประจาหน่วย
1. สำมำรถอธิบำยตวั ดำเนนิ กำรต่ำง ๆ ในภำษำซีได้ถูกต้อง
2. สำมำรถเลอื กตวั ดำเนินกำรชนดิ ตำ่ ง ๆ ไดถ้ ูกต้อง
3. สำมำรถบอกลำดับควำมสำคัญของตวั ดำเนินกำรได้ถูกต้อง
คาชีแ้ จ้ง : จงตอบคำถำมต่อไปน้ี
1. จงแปลงสมกำรต่อไปนีเ้ ป็นนพิ จน์คณิตศำสตร์
1) x = 3x2 + y x 3
…………x= 3 * (x * x) + y * 3……………………………………...…………………………………...............………………………
2) 1 + 2−x
2 2+y
…………1/2 + (2 – x) / (2 + y)……………………..……………………………………………………..............……………………
2. จงเขียนนิพจน์ตำมโจทยร์ ะบุ
1) มีตัวแปร x y และ z ใหเ้ ขียนนิพจน์เพอ่ื หำค่ำของ x ซ่ึงเกิดจำก x บวก y แลว้ คูณดว้ ย z
…………x = (x + y) * z.…………………..…………………………………………………………………………...............…………… 105
2) มีตัวแปร x y และ z ใหเ้ ขยี นนิพจน์เพื่อเปรียบเทยี บว่ำ x คูณ z มีค่ำมำกกวำ่ y คูณด้วย z หรือไม่
…………(x * z) > (y * z)………………………………………………………………………………………………...............………….
3) ให้ตัวแปร x เกบ็ คะแนนของนักเรียน จำกน้นั ตรวจสอบว่ำ x มีคะแนนอยใู่ นชว่ งตั้ง 50 คะแนนข้นึ ไป
แต่ไมเ่ กนิ 55 คะแนน
…………(x >=50) && (x <=55)………………………..……………………………………………………................………………
3. กำหนดให้ int a = 2, b = 5, c = 3, ans; จงให้คำตอบของนิพจนต์ ่อไปนี้
1) ans = a + b * 3 ………ans = 17………………………………………………………...............……………..
2) ans = a + b * 2 / 5 ………ans = 4 ………………………………………………………...........………………..
3) a -= (c * b) ……...a = -13…..………………………………………………………………............……..
4. กำหนดให้ int a = 5 ,b= 6,d=8 จงหำผลลพั ธ์ของนิพจน์ต่อไปน้ี
1) (a+5<=b+2) && (d>a) ……………0 (เป็นเทจ็ ).....………………………………………………………………………….
2) (a<=b) && (d>a) …………….1 (เป็นจรงิ )……………………………………………………………………………….
3) !(a+b<=20) || (d>a+2) ……………1 (เป็นจริง)..…………………………………………………………………………….
ใบบันทึกผลคะแนน
แบบฝึกหดั ระหว่างเรียนหนว่ ยที่ 2 เรือ่ ง ตัวแปร ประเภทข้อมลู นิพนจแ์ ละตัวดาเนินการ
ระดับช้นั ................. กลุ่ม ....................... แผนกวิชา..................................................
ลาดบั รหสั นักศกึ ษา ชือ่ -สกุล แบบ ึฝกหัดระห ่วางเ ีรยนท่ี 2.1
ท่ี แบบ ึฝกหัดระห ่วางเ ีรยนที่ 2.2
แบบ ึฝกหัดระห ่วางเ ีรยนท่ี 2.3
คะแนนรวม
10 10 10 30
106
ลงชอื่ .....................................................ครผู ู้สอน
(นำยพงศธร บำรุงบำ้ น)