42

Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

Page 2: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

ชดกจกรรมการเรยนร โดยใชเทคนค STAD เรอง การเขยนโปรแกรมภาษาขนพนฐาน

รายวชา เทคโนโลยสารสนเทศ 3 รหสวชา ง23102 กลมสาระการเรยนรการงานอาชพและเทคโนโลย

สาระท 3 เทคโนโลยสารสนเทศและการสอสาร ระดบชนมธยมศกษาปท 3 จดท าขนเพอเปนเครองมอ

ในการพฒนาการเรยนการสอนกลมสาระการเรยนรการงานอาชพและเทคโนโลย นวตกรรมนจะชวย

สงเสรมผลสมฤทธทางการเรยนของนกเรยนไดเปนอยางด ชดกจกรรมการเรยนร เรอง การเขยน

โปรแกรมภาษาขนพนฐาน ประกอบไปดวยเนอหา 8 เลม รวมเวลาทงหมด 16 ชวโมง ดงน

เลมท 1 เรอง หลกการและแนวคดการเขยนโปรแกรม

เลมท 2 เรอง แนะน าภาษาซ และการใชงานโปรแกรม Dev-C++

เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

เลมท 4 เรอง นพจนและตวด าเนนการ

เลมท 5 เรอง การรบและการแสดงผลขอมล

เลมท 6 เรอง ค าสงควบคมแบบเงอนไข

เลมท 7 เรอง ค าสงควบคมแบบการท างานเปนรอบ

เลมท 8 เรอง ความรเบองตนเกยวกบจาวาสครปต

ผจดท าหวงเปนอยางยงวาชดกจกรรมการเรยนร โดยใชเทคนค STAD ทสงเสรมผลสมฤทธ

ทางการเรยน ส าหรบนกเรยนชนมธยมศกษาปท 3 เรอง การเขยนโปรแกรมภาษาขนพนฐาน จะชวยให

ผเรยนมความร ความเขาใจ และสามารถพฒนาผลสมฤทธทางการเรยนของนกเรยนเปนอยางด เพราะใน

ชดกจกรรมการเรยนร โดยใชเทคนค STAD ทสงเสรมผลสมฤทธทางการเรยน ส าหรบนกเรยน

ชนมธยมศกษาปท 3 เรอง การเขยนโปรแกรมภาษาขนพนฐาน มเนอหาและสสนเหมาะส าหรบนกเรยน

อกทงการใชเทคนค STAD เปนเทคนคทท าใหนกเรยนไดเกดการเรยนรไดดวยตนเอง และมการท างาน

เปนกลมชวยเหลอกนภายในกลม ท าใหผเรยนเกดความสนกสนานและเกดการเรยนรตามทคาดหวง ใน

เลมท 3 เปนการจดการเรยนการสอนเกยวกบเรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล ซงจะ

ท าใหนกเรยนมความรความเขาใจเกยวกบ เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล ไดด

ยงขน

ดารน อนทรแพง

ค าน า

Page 3: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

เรอง หนา ค าน า ก สารบญ ข คมอคร ค คมอนกเรยน ง สาระส าคญและจดประสงคการเรยนร จ แบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1 บตรค าสงท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 4 บตรเนอหาท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 5 บตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 20 บตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 21 แบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 22 บรรณานกรม 25 ภาคผนวก 26

- กระดาษค าตอบแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

27

- เฉลยแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 28 - เฉลยบตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 29 - เฉลยบตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 30 - กระดาษค าตอบแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

31

- เฉลยแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 32

สารบญ

Page 4: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

ประกอบดวยขอแนะน าส าหรบครผใช ชดกจกรรมการเรยนร เรอง การเขยนโปรแกรมภาษา ขนพนฐาน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1. เตรยมเอกสารและวสดใหครบ ดงน

1.1 คมอคร จ านวน 1 ชด 1.2 แผนการจดการเรยนร จ านวน 1 ชด 1.3 คมอนกเรยน จ านวน 1 ชด

1.3.1 คมอนกเรยน 1.3.2 แบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล 1.3.3 บตรค าสงท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.4 บตรเนอหาท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.5 บตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.6 บตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.7 แบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล 1.3.8 กระดาษค าตอบแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ

ตวแปร และชนดของขอมล 1.3.9 เฉลยแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล 1.3.10 เฉลยบตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.11 เฉลยบตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 1.3.12 กระดาษค าตอบแบบทดสอบหลงเรยน เลมท 3 เรองโครงสรางภาษาซ

ตวแปร และชนดของขอมล 1.3.13 เฉลยแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล

คมอ

Page 5: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

2. ครผสอนจะตองศกษารายละเอยดของชดกจกรรมการเรยนร เรอง การเขยนโปรแกรมภาษาขนพนฐาน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล ดงน 2.1 ศกษาคมอและแผนการจดการเรยนร 2.2 ศกษากจกรรมจากคมอนกเรยน 3. บทบาทครผสอน มดงน 3.1 เตรยมเอกสารและอปกรณประกอบการจดการเรยนรลวงหนาใหครบตามรายการ 3.2 จดชนเรยนใหเปนกลม 3.3 การจดชนเรยนใหแบงนกเรยนออกเปนกลมๆ ละ 4 - 5 คน โดยจดใหมนกเรยน เกง ปานกลาง และออน คละกนภายในกลม (ในเลมนใหยดตามกลมทไดแบงไวแลว ในเลมท 1) และชแจงเกยวกบการจดการเรยนการสอน โดยใชเทคนค STAD ดงน 3.3.1 ขนเตรยม ครเปนผกระตนใหนกเรยนเกดความสนใจทจะเรยนและคนหาความร เพอจะเชอมโยงไปสขนตอไป 3.3.2 ขนเรยนกลมยอย เปนขนทนกเรยนฝกท างานเปนทม เพอส ารวจหรอคนหาความจรง ความรใดๆ 3.3.3 ขนทดสอบยอย ขนตอนนเปนขนทนกเรยนตองทดสอบความรความเขาใจของนกเรยนและสามารถสรปขอเทจจรงทไดจากการเรยนร 3.3.4 ขนคดคะแนนพฒนาการ เปนขนทนกเรยนในกลมน าคะแนนทไดมาท าการเปรยบเทยบกบคะแนนฐานทครมใหและรวมกนหาแนวทางในการพฒนาคะแนนของตนเองในครงตอไป วธการคดคะแนนพฒนาการ

3.3.4.1 น าคะแนนแบบทดสอบหลงเรยน เลมท 3 ของสมาชกแตละคนมาคด

เปนคารอยละ (เนองจากคะแนนฐานมคะแนนเตมเปน 100 จงตองน าคะแนนแบบทดสอบหลงเรยน

เลมท 3 มาคดเปนคารอยละ เพอใหสามารถเปรยบเทยบหาคาคะแนนพฒนาการได)

3.3.4.2 แตละกลมหาคาคะแนนพฒนาการของสมาชกแตละคน โดยการน า

คารอยละของสมาชกทไดจากขอ 3.3.4.1 มาเปรยบเทยบกบคะแนนฐานของแตละคนทครแจกให และให

คะแนนพฒนาการตามเกณฑการคดคะแนนพฒนาการ (นกเรยนแตละคนจะมคะแนนฐาน ซงคะแนนฐาน

คดมาจากการน าคะแนนแบบทดสอบหลงเรยน เลมท 2 มาคดเปนรอยละ)

Page 6: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

เกณฑการคดคะแนนพฒนาการ

คะแนนทดสอบยอย คะแนนพฒนาการ ไดคะแนนต ากวาคะแนนฐานเกน 10 คะแนน 5 ไดคะแนนต ากวาคะแนนฐาน 1 – 10 คะแนน 10 ไดคะแนนเทากบคะแนนฐานหรอสงกวาคะแนนฐานไมเกน 10 คะแนน 20 ไดคะแนนสงกวาคะแนนฐานเกน 10 คะแนน 30 ไดคะแนนเตม 30

** คะแนนทดสอบยอย หมายถง คะแนนรอยละทไดจากขอ 3.3.4.1

3.3.4.3 ครน าคะแนนพฒนาการของสมาชกของแตละกลมมาคดเปนคะแนน

พฒนาการกลม หาคาเฉลยของคะแนนพฒนาการ และน าไปเปรยบเทยบกบเกณฑการยกยองชมเชยหรอ

การใหรางวล มวธการดงน

- คดคะแนนพฒนาการของแตละกลม โดยน าคะแนนพฒนาการของสมาชกแต

ละกลมมาหาผลรวม

- หาคาเฉลยของคะแนนพฒนาการแตละกลม โดยการน าผลรวมของแตละกลม

ทไดมาหารดวยจ านวนสมาชกของแตละกลม

- น าคาเฉลยของคะแนนพฒนาการทไดไปเปรยบเทยบกบเกณฑการยกยองหรอ

การใหรางวล

เกณฑการยกยองหรอการใหรางวล

คะแนนเฉลยของกลม รางวล 15 – 19 คะแนน กลมเกง (Good Team) 20 – 24 คะแนน กลมเกงมาก (Great Team) 25 – 30 คะแนน กลมยอดเยยม (Super Team)

3.3.5 ขนยกยองชมเชย เปนขนทครตองใหค าชมเชยและมอบรางวลใหกบนกเรยน

3.4 กอนเรมกจกรรมครควรชแจงใหนกเรยนทราบบทบาทของนกเรยนในการเรยนดวย ชดกจกรรมการเรยนรและนกเรยนควรชวยเหลอกนภายในกลม

3.5 จดกจกรรมการเรยนการสอนใหเปนไปตามล าดบขนตอน 3.6 ใหค าแนะน า และเปนทปรกษาแกนกเรยนในขณะทท ากจกรรม

Page 7: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

3.7 รวมเฉลยและตรวจค าตอบการท ากจกรรมตางๆ รวมกบนกเรยน 3.8 ประเมนผลการเรยนรของนกเรยน

Page 8: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

ค าชแจงส าหรบนกเรยน

1. การเรยนดวยชดกจกรรมการเรยนร เรอง การเขยนโปรแกรมภาษาขนพนฐาน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล ใชเวลา 2 ชวโมง

2. นกเรยนจะไดรบเอกสารจากคร จ านวน 13 ชด ดงน 2.1 คมอนกเรยน 2.2 แบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.3 บตรค าสงท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.4 บตรเนอหาท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.5 บตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.6 บตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.7 แบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.8 กระดาษค าตอบแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล 2.9 เฉลยแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของ

ขอมล 2.10 เฉลยบตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.11 เฉลยบตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล 2.12 กระดาษค าตอบแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล 2.13 เฉลยแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร

และชนดของขอมล

บทบาทของนกเรยน 1. กอนเรมบทเรยน นกเรยนควรศกษาคมอนกเรยนอยางละเอยดและใหนกเรยนปฏบต

กจกรรมตามล าดบขนตอน 2. ท าแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

จ านวน 10 ขอ เวลาในการท าขอสอบ 10 นาท

เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

คมอนกเรยน

Page 9: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

3. ท ากจกรรมแบงกลม กลมละ 4 - 5 คน ซงประกอบดวย คนเกง ปานกลาง และออน

ตามทครแบง (ในเลมนใหยดกลมทไดแบงไวแลว ในเลมท 1) พรอมทงใหนกเรยนแตละกลมเลอกประธาน รองประธาน และเลขานการกลม

4. ท ากจกรรมตามบตรค าสง โดยสมาชกตองมสวนรวมในการปฏบตกจกรรม ภายในเวลาทก าหนด

5. รวมกนปฏบตกจกรรมและบนทกผลการปฏบตกจกรรม ตรวจค าตอบและแกไขใหถกตอง

6. นกเรยนทกคนท าแบบทดสอบหลงเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล จ านวน 10 ขอ เวลา 10 นาท และแลกเปลยนกนตรวจใหคะแนนกบกลมอน

7. รวบรวมผลงานทไดจากกการปฏบตกจกรรมสงคร เพอเปนการประเมนผลตอไปเมอสนสด การปฏบตกจกรรม ใหนกเรยนตรวจสอบและเกบสอใหเรยบรอย เพอสะดวกในการใชครงตอไป

Page 10: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

ง 3.1 ม.3/2 เขยนโปรแกรมภาษาขนพนฐาน

หลกการพนฐานในการเขยนโปรแกรม

- แนวคดและหลกการโปรแกรม โครงสรางโปรแกรม ตวแปร การล าดบค าสง การตรวจสอบ

เงอนไข การควบคมโปรแกรม ค าสงแสดงผล และรบขอมล การเขยนโปรแกรมอยางงายๆ

2 ชวโมง

1. สามารถอธบายโครงสรางโปรแกรมภาษาซได

2. สามารถบอกกฎเกณฑการเขยนโปรแกรมภาษาซได

3. สามารถตงชอตวแปรเพอใชงานไดอยางถกตอง

4. สามารถประกาศตวแปรและคาคงทไดอยางถกตอง

5. สามารถก าหนดชนดขอมลใหกบตวแปรเพอใชงานในโปรแกรมไดอยางถกตอง

การเขยนโปรแกรมนนไมวาจะเปนภาษาใด กจ าเปนทจะตองศกษาเกยวกบโครงสราง

ของภาษา เพอใหสามารถเขยนโปรแกรมไดอยางถกตองตามโครงสรางของภาษานน ภาษาซก

เชนเดยวกน และนอกจากทจะตองศกษาเกยวกบโครงสรางของภาษาแลว ในการเรมตนฝกหด

เขยนโปรแกรมภาษาซ จ าเปนตองเขาใจกบกฎเกณฑการเขยนโปรแกรมของภาษาซ ตวแปร

และชนดของขอมลอกดวย

สาระส าคญ

มาตรฐานการเรยนร/ตวชวด

สาระการเรยนรแกนกลาง

จดประสงคการเรยนร

เวลาในการเรยนร

Page 11: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

1

ค าชแจง ใหนกเรยนเลอกค าตอบทถกตองทสดเพยงขอเดยว แลวท าเครองหมายกากบาท (X) ลงใน

กระดาษค าตอบ (เวลา 10 นาท)

1. สวนใดของโปรแกรมภาษาซตอไปน ทจะถกประมวลผลกอน

ก. #include <stdio.h>

ข. main()

ค. {

ง. /*comment*/

2. เฮดเดอรไฟล จะถกเขยนไวอยสวนใดของโปรแกรม

ก. สวนชดค าสง

ข. ภายในบลอก { }

ค. สวนหวของโปรแกรม

ง. เขยนไวทสวนใดกได

3. ขอใดคอฟงกชนหลกในการเขยนโปรแกรมภาษาซ

ก. menu()

ข. main()

ค. #include()

ง. #endit

4. เมอเขยนชดค าสงเสรจแลว ตองจบดวยเครองหมายใด

ก. เครองหมาย :

ข. เครองหมาย ,

ค. เครองหมาย ;

ง. เครองหมาย //

แบบทดสอบกอนเรยน เลมท 3

เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 12: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

2

5. ชอตวแปรตอไปน ขอใดผด

ก. AAA

ข. 4_You

ค. v_a_r_i_a_b_l_e

ง. INCLUDE

6. ก าหนดใหตวแปร number = 496 ตวแปร number จะถกก าหนดชนดของขอมลตามขอใด

ก. int

ข. unsigned int

ค. char

ง. เปนไปไดทงขอ ก. และ ข.

7. การประกาศคาตวแปรตามขอใด ไมถกตอง

ก. char txt=”Q”;

ข. int k = 0;

ค. float n = -0.8E+3;

ง. ผดทงขอ ก. และ ค.

8. ชนดขอมลแบบอกขระ 1 ตว (char) จะตองอยภายในเครองหมายใด

ก. “”

ข. ‘’

ค. #

ง. $

9. ขอใดตอไปนไมสามารถน ามาใชเปนตวขนตนในการตงชอตวแปร

ก. ตวอกษร A ถง Z

ข. ตวอกษร a - z

ค. ตวเลข 0 - 9

ง. ถกทงขอ ก. และ ข.

Page 13: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

3

10. หากตองการก าหนดตวแปรทเอาไวเกบเลขจ านวนเตม ทมคาไมเกนหลกหมน ควรก าหนดเปนขอมล

ชนดใด

ก. char

ข. double

ค. float

ง. int

Page 14: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

4

ใหนกเรยนปฏบตตามขนตอนตอไปน

1. นกเรยนแตละกลมรวมกนศกษาบตรเนอหาท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

2. นกเรยนแตละกลมรวมกนปฏบตตามบตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

3. นกเรยนแตละกลมรวมกนตรวจสอบความถกตองของงานและตรวจสอบความเขาใจของสมาชกในกลม หากมสมาชกในกลมยงไมเขาใจ ใหสมาชกในกลมชวยกนอธบายเพอใหไดขอสรปทชดเจน และน าไฟลงานทแกไขสมบรณแลวสงครผสอน

4. นกเรยนแตละกลมสงตวแทนน าเสนอผลงานหนาชนเรยน โดยผานจอโปรเจคเตอร 5. นกเรยนทกคนตอบค าถามตามบตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนด

ของขอมล 6. นกเรยนตรวจค าตอบตามบตรเฉลยค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนด

ของขอมล โดยครรวมเฉลยค าตอบ 7. ครและนกเรยนรวมกนอภปรายใหไดขอสรปทชดเจน

บตรค าสงท 3.1

เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 15: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

5

1. โครงสรางโปรแกรมภาษาซ

ในการเขยนโปรแกรมภาษาระดบสงโดยทวไป จ าเปนตองท าความเขาใจกบโครงสรางโปรแกรม

ภาษานนๆ กอน ในท านองเดยวกน เมอตองการฝกหดเขยนโปรแกรมภาษาซ จงตองเรยนรถงโครงสราง

โปรแกรมภาษาซ ซงโครงสรางโปรแกรมในภาษาซ สามารถแบงออกเปนสวนตางๆ ไดดงตอไปน

1.1 ตวประมวลผลกอน (Preprocessor Directive)

1.2 ฟงกชนหลก (Main Function)

1.3 ชดค าสง

1.4 ค าอธบายโปรแกรม

ส าหรบรายละเอยดในโครงสรางของโปรแกรมภาษาซ สามารถแสดงไดดงภาพ

ภาพแสดงโครงสรางของโปรแกรมภาษาซ

ค าอธบายจดส าคญในการเขยนโปรแกรม

เพอชวยใหผอานเกดความเขาใจ

ตวประมวลผลกอน (Preprocessor Directive)

ทแจงใหคอมไพเลอรทราบวา ไดมการน าฟงกชน

มาตรฐานดงกลาวเขามารวมคอมไพลดวย

ฟงกชน

main()

ชดค าสง

บตรเนอหาท 3.1

เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 16: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

6

1.1 ตวประมวลผลกอน (Preprocessor Directive) เปนสวนทคอมไพเลอรจะประมวลผล

ค าสงนกอนทจะคอมไพลตวโปรแกรม ในสวนนเปนสวนหวของโปรแกรม ทจ าเปนตองถกก าหนดไวใน

โปรแกรมเสมอ โดยจะขนตนดวยเครองหมาย # แลวตามดวยค าสงไดเรกทฟทตองการ เชน #include

<stdio.h> หรอ #include “stdio.h” ซงหมายถงการผนวกเฮดเดอรไฟลชอ stdio.h เขามาใชงาน

ทงนเฮดเดอรไฟล stdio.h นน จะเปนเทกซไฟล ทภายในโปรแกรมจะมการประกาศคาตวแปร และ

คาคงทตางๆ บรรจฟงกชนมาตรฐานตางๆ รวมเขาดวยกนตามหมวดหมเดยวกนไว และจดเกบลงใน

ไลบราร โดยจะถกน าเขามาอานรวมกนกบชดค าสงในโปรแกรมขณะทคอมไพลโปรแกรม

เฮดเดอรไฟล stdio.h จดเปนเฮดเดอรไฟลหนงในไลบรารมาตรฐานทงหมด ทมกถกเรยกใชงาน

อยเสมอ ทงนเฮดเดอรไฟลนจะเกยวของจะเกยวของกบการอนพต และเอาตพต เชน

ฟงกชน printf() ทน ามาใชส าหรบสงพมพขอความหรอคาตวแปร

ฟงกชน scanf() ทน ามาใชส าหรบรบคาผานทางแปนพมพ เพอจดเกบไวในตวแปร

ดงนน เมอโปรแกรมทเขยน มการสงงานใหรบคาและพมพขอความดวยฟงกชนทงสอง ทสวนหว

โปรแกรมกจะตองผนวกเฮดเดอรไฟล stdio.h เขาไปดวย และตอไปนเปนตวอยางไดเรกทฟในภาษาซ

1.2 ฟงกชนหลก (Main Function) ในภาษาซจะมอยฟงกชนหนง ซงถอเปนสวนโปรแกรมหลก

ทท าหนาทสงใหชดค าสงตางๆ หรอฟงกชนอนๆ ท างาน เรยกวา ฟงกชน main()

1.3 ชดค าสง (Source Code) คอ ชดค าสงในภาษาซจะถกบรรจอยภายในเครองหมาย { ท

บอกถงจดเรมตนการท างานและเครองหมาย } เพอบอกจดสนสดการท างาน นอกจากน ภายใน

เครองหมาย { ยงสามารถมบลอก { } ซอนยอยเขาไปไดอก และทส าคญเมอสนสดประโยคค าสงจะตอง

ลงทายดวย เครองหมาย ; (Semicolon) เสมอ

1.4 ค าอธบายโปรแกรม (Comment) คอ สวนทเปนหมายเหตของโปรแกรม มไวเพอใหผเขยน

โปรแกรมใสขอความอธบายก ากบลงไปใน source code ซงคอมไพเลอรจะขามการแปลผลในสวนทเปน

Page 17: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

7

ค าอธบายน ซงรปแบบของการใสค าอธบายในภาษาซ ม 2 แบบ คอ ค าอธบายแบบบรรทดเดยว และ

ค าอธบายแบบหลายบรรทด

1.4.1 ค าอธบายแบบบรรทดเดยว สามารถท าไดดงน 2 แบบ

- ใชเครองหมาย // หนาขอความค าอธบายโปรแกรม

- ใชเครองหมาย /* ตามดวยค าอธบาย และตามดวย */ เพอบอกจดสนสดของ

ค าอธบาย

ตวอยางการก าหนดค าอธบายแบบบรรทดเดยว

1 .4 .2 ค าอธ บายแบบหลายบรร ทด สามารถท า ไ ด โดย ใ ช เคร อ งหมาย / * ไ ว ท

ต าแหนงบรรทดเรมตน และ */ ไวทต าแหนงบรรทดสดทาย

ตวอยางการก าหนดค าอธบายแบบหลายบรรทด

2. กฎเกณฑการเขยนโปรแกรมภาษาซ

ในการเรมตนฝกหดเขยนโปรแกรมภาษาซ จ าเปนตองเขาใจกบกฎเกณฑดงตอไปน

2.1 สวนหวโปรแกรม จะตองก าหนดตวประมวลผลกอนเสมอ ตวอยางเชน การผนวกเฮดเดอร

ไฟลตวอยาง #include <stdio.h> เพอใชงานฟงกชนเกยวกบการเกยวกบการอนพตหรอเอาตพตขอมล

2.2 ชดค าสงในภาษาซ จะใชอกษรตวพมพเลกทงหมด

2.3 ตวแปรทใชงานจะตองถกประกาศชนดขอมลไวเสมอ

2.4 ภายในโปรแกรม จะตองมอยางนอยหนงฟงกชนเสมอ ซงกคอ ฟงกชน main() นนเอง

สวนทเปนค าอธบายจะ

ไมไดรบการแปลผล

สวนทเปนค าอธบายจะ

ไมไดรบการแปลผล

Page 18: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

8

2.5 สามารถใชเครองหมายปกกาเปด { เพอบอกจดเรมตนของชดค าสง และเครองหมายปกกา

ปด } เพอบอกจดสนสดของชดค าสง โดยสามารถมเครองหมายปกกาซอนยอยอยภายในได

2.6 เมอเขยนชดค าสงเสรจแลว ตองจบดวยเครองหมาย ;

2.7 สามารถอธบายโปรแกรมตามความจ าเปนดวยการใชเครองหมาย /*….*/ หรอ //

3. ตวแปร (Variables)

ตวแปร คอ ชอทก าหนดขนเพอใชจดเกบขอมล และเพอใชงานโปรแกรม โดยคาขอมลทบนทก

อยในตวแปรนน จะถกจดเกบไวในหนวยความจ าหลกทสามารถน าไปประมวลผล และอางองภายใน

โปรแกรมได อยางไรกตาม ตวแปรทใชงานในภาษาซ จ าเปนตองไดรบการก าหนดชนดขอมลวาใชจดเกบ

ขอมลชนดใด เชน

ตวแปรชอ char1 น าไปใชจดเกบอกขระ 1 ตว

ตวแปรชอ name น าไปใชจดเกบขอมลชนดขอความ

ตวแปรชอ number น าไปใชจดเกบขอมลเลขจ านวนเตมบวก

ตวแปรชอ total น าไปใชจดเกบขอมลเลขจ านวนจรงมทศนยม

อยางไรกตามการตงชอตวแปรเพอใชงานโปรแกรม จะตองเปนไปตามกฎเกณฑการตงชอของ

ภาษานนๆ ดวย ส าหรบการตงชอตวแปรในภาษาซ ประกอบดวย

3.1 สามารถใชตวอกษร A ถง Z หรอ a ถง z รวมทง ตวเลข 0 ถง 9 และเครองหมาย _

(Underscore) มาใชเพอการตงชอตวแปรได แตมเงอนไขวา หามใชตวเลขน าหนาชอตวแปร ตวอยาง

เชน 1digit ถอวาผด แตถาตงชอใหมเปน digit1 หรอ digit_1 ถอวา ถกตอง

3.2 ชอตวแปรสามารถมความยาวไดถง 31 ตวอกษร (กรณเปน ANSI-C)

3.3 ชอตวแปร จะตองไมตรงกบค าสงวน (Reserved Words) ซงกคอ ชดค าสงทใชในภาษาซ

นนเอง แตอยางไรกตามหากมความจ าเปนตองตงชอตรงกบค าสงวนกสามารถท าไดไมยาก เนองจาก

ชดค าสงในภาษาซ มกจะเปนตวอกษรพมพเลก ดงนน การตงชอตวแปรชอวา Auto จงสามารถใชงานได

และถอวาไมตรงกบค าสงวนของค าวา auto ส าหรบตวอยางค าสงวนทใชในภาษาซ เชน

Page 19: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

9

4. รปแบบของการประกาศตวแปร

จากเนอหาขางตนทผานมา ไดกลาวถงการประกาศตวแปรมาบางแลว แตในภาษาซยงสามารถ

แบงรปแบบของตวแปรทประกาศใชงานในโปรแกรมออกเปน 2 ประเภทดวยกนคอ

4.1 ตวแปรแบบภายนอก (Global Variables)

ตวแปรชนดน จะประกาศอยภายนอกฟงกชน และจะเปนตวแปรสาธารณะททกๆ ฟงกชนภายใน

โปรแกรมสามารถน ามาเรยกใชงานได ตวอยางการประกาศตวแปรแบบภายนอก เชน

auto break case char const

continue default do double else

enum extern float for goto

if int long register return

short signed sizeof static struct

switch typedef union unsigned void

volatile while

// ตวแปรภายนอก

// อางองตวแปรภายนอก ชดค าสง 2; ชดค าสง 1;

Page 20: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

10

ชดค าสง 1; ชดค าสง 2;

// ตวแปรภายใน

// ตวแปรภายใน ชดค าสง 1; ชดค าสง 2;

4.2 ตวแปรแบบภายใน (Local Variables)

ตวแปรชนดนจะถกก าหนดอยภายในฟงกชน ถงแมแตละฟงกชนจะมการก าหนดชอตวแปรท

เหมอนกนกตาม แตจะถอวาเปนตวแปรคนละตวกน เนองจากถกใชงานภายในขอบเขตของฟงกชนนนๆ

ตวอยางการประกาศตวแปรแบบภายใน เชน

จากตวอยางขางตน ตวแปรชอ var1 ทประกาศใชงานอยในฟงกชน main() และตวแปรชอ

var1 เหมอนกบทประกาศใชงานอยในฟงกชน func1() แตจะถอวาเปนคนละตวแปรกน ซงจะถกอางอง

ใชงานเฉพาะขอบเขตภายในฟงกชนนนเทานน

ตวอยางโปรแกรมท 3.1 พสจนการท างานของตวแปรแบบภายใน

// ฟงกชนหลก

// ฟงกชนทสรางขนเอง

Page 21: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

11

ค าอธบายโปรแกรม ตวอยางโปรแกรมท 3.1

บรรทดท ความหมาย

1 ผนวกเฮดเดอรไฟล <stdio.h> 2 ผนวกเฮดเดอรไฟล <conio.h> 4 ฟงกชน func1() ซงเปนฟงกชนทสรางขนเอง 6 ประกาศตวแปร var1ใหมชนดขอมลเปน int มคาเรมตนเทากบ

999 7 บลอก } เพอแสดงจดสนสดของฟงกชน func1()

8 ฟงกชน main() ซงเปนฟงกชนหลก 11 ประกาศตวแปร var1 ใหมชนดขอมลเปน int มคาเรมตนเทากบ

555 12 เรยกใชงาน func1() 13 พมพคาตวแปร var1

ผลลพธจากการรนโปรแกรม ตวอยางโปรแกรมท 3.1

จากโปรแกรมจะพบวา ในบรรทดท 12 ทมการเรยกใชงานฟงก ชน func1() ซงจะมการ

ก าหนดคาใหกบตวแปร var1 ซ าอกครง คอ 999 แตในบรรทดท 14 เมอสงพมพคา var1 กลบมคา

เปน 555 ซงเปนการพสจนถงตวแปรแบบภายใน ทจะถกใชงานภายในฟงกชนเทานน ถงแมวาใน

ฟงกชนอนๆ จะมการตงชอตวแปรทเหมอนกนกตาม แตจะถอวาเปนตวแปรคนละตวกน

Page 22: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

12

5. คาคงท (Constant)

ปกตคาทถกจดเกบไวในตวแปรนน สามารถเปลยนแปลงไดเสมอในระหวางการประมวลผล แต

ส าหรบตวแปรอกประเภทหนงเรยกวา คาคงท จะเปนตวแปรทเมอถก าหนดขนมาแลว คาดงกลาวจะเปน

คานนๆ ตลอดในโปรแกรม ไมสามารถเปลยนแปลงได โดยการก าหนดคาคงทในภาษาซ จะใชไดเรกทพ

#define ซงจะประกาศไวทสวนหวโปรแกรม ดงตวอยางตอไปน

หากสงเกตใหดๆ จะพบวา การประกาศคาคงทดวย #define นน จะไมมเครองหมาย ; ปด

ทาย และไมตองใชเครองหมาย = เพอก าหนดคา ทส าคญตวแปรทน ามาใชเปนคาคงทมกถกก าหนดให

เปนอกษรพมพใหญ

อยางไรกตาม คาคงทดงกลาว ยงสามารถประกาศดวยค าสง const ทประกาศใชงานอยในสวน

ของตวโปรแกรม (มใชประกาศไวทสวนหวเหมอนกบ #define) ซงวธนสามารถระบชนดขอมลใหกบ

ตวแปรทเปนคาคงทนนได ตวอยาง เชน

และถาในเวลาตอมาไดมการก าหนดคาใหกบ TAX_RATE ในโปรแกรมวา

การกระท าดงกลาว เมอคอมไพลโปรแกรมแลวจะเกดขอผดพลาดขน วาไมสามารถก าหนดคา

ใหมใหกบตวแปรทเปนคาคงทได อยางไรกตามการสรางคาคงทดวย const นนจะตองลงทายดวย

เครองหมาย ; ทกครง เนองจากเปนสวนทเขยนอยในพนทของชดค าสงนนเอง

Page 23: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

13

6. ชนดขอมล

ภาษาซจะมชนดขอมลตางๆ ใหเลอกใชงานตามความเหมาะสม โดยขอมลแตละชนดนอกจากจะ

ใชเกบขอมลทแตกตางกนไดแลว ยงมขนาดทแตกตางกนดวย ดงนนจงจ าเปนตองประกาศชนดขอมลให

ถกตองตามความตองการ ทงนการก าหนดชนดขอมลทมขนาดใหญเกนไป ยอมสงผลใหสนเปลองความจ า

โดยใชเหต ในภาษาซจะมชนดขอมลหลกๆ ตอไปน ดงตาราง

ตารางแสดงชนดขอมลพนฐานของภาษาซ

ชนดขอมล ความหมาย ไบต (bytes)

พสย (range)

char int float double void

อกษรหรออกขระ จ านวนเตม จ านวนจรง (เลขทศนยม) จ านวนจรงละเอยด 2 เทา ไมใหคาใด ๆ

1 2 4 8 0

-128 ถง 127 -32,768 ถง 32,767 3.4E + 38(7 ต าแหนง) 1.7E + 308 (15 ต าแหนง) ไมใหคา

และยงสามารถปรบปรงดวยการเพมค าสงน าหนาไดอก ซงประกอบดวย

โดยทค าสงน าหนา มการใชดงน

- signed จะก าหนดใหชนดขอมลนน ใหสามารถมคาทงคาบวกและคาลบ อยางไรกตามค าวา

signed อาจไมตองระบหนาชนดขอมลกได เพราะวาถาไมระบภาษาซจะถอวาเปนชนดขอมลทม

เครองหมายอยแลว

- unsigned จะก าหนดใหชนดขอมลทระบนนมเฉพาะคาบวกเทานน ซงสงผลใหชวงของคา

ตวเลขกวางขน (เนองจากไมตองเสยพนทเพอรองรบคาตดลบ)

- long จะก าหนดใหชนดขอมลทระบนน เปนแบบขนาดยาว เพอรองรบชวงขอมลกวางมากขน

- short จะก าหนดใหชนดขอมลทระบนน เปนแบบชนดสน

signed unsigned long

short

Page 24: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

14

ตารางแสดงชนดของขอมล

ชนดขอมล ความหมาย ขนาด (bytes)

ชวงขอมล (range)

char ตวอกขระ 1 -128 ถง 127 unsigned char ตวอกขระ

ไมรวมเครองหมาย 1 0 ถง 255

signed char ตวอกขระ รวมเครองหมาย

1 -128 ถง 127

int เลขจ านวนเตม 2 4

-32,768 ถง 32,767 -2,147,483,648 ถง 2,147,483,647

unsigned int เลขจ านวนเตม ไมรวมเครองหมาย

2 4

0 ถง 65,535 0 ถง 4,294,967,295

unsigned long int

เลขจ านวนเตมแบบยาว ไมรวมเครองหมาย

4 เหมอนกบ unsigned int

unsigned short int

เลขจ านวนเตมแบบสน ไมรวมเครองหมาย

2 0 ถง 65,535

signed int เลขจ านวนเตม รวมเครองหมาย

2 -32,768 ถง 32,767

short int เลขจ านวนเตมแบบสน 2 -32,768 ถง 32,767 signed short int

เลขจ านวนเตมแบบสน รวมเครองหมาย

2 -32,768 ถง 32,767

long int เลขจ านวนเตมแบบยาว

4 -2,147,483,648 ถง 2,147,483,647

singned long int

เลขจ านวนเตมแบบยาว รวมเครองหมาย

4 -2,147,483,648 ถง 2,147,483,647

unsigned long int

เลขจ านวนเตมแบบยาว ไมรวมเครองหมาย

4 0 ถง 4,294,967,295

Page 25: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

15

ชนดขอมล ความหมาย ขนาด (bytes)

ชวงขอมล (range)

float

เลขจ านวนจรง มทศนยม

4 1.2E-38 ถง 3.4E+38 (6 decimal places)

doubled เลขจ านวนจรง 2 เทา 8 2.3E-308 ถง 1.7E+308 (15 decimal places)

long doubled เลขจ านวนจรง 2 เทา แบบยาว

10 3.4E-4932 ถง 1.1E+4932 (18 decimal places)

6.1 ชนดขอมลตวอกษร เปนชนดขอมลทจดเกบตวอกษรหรอตวอกขระเพยง 1 ตวเทานน แต

ถาตองการจดเกบตวอกขระหลายๆ ตว หรอกลมขอความทเรยกวา สตรง (String) กสามารถกระท าได

6.1.1 รปแบบการประกาศชนดขอมลแบบอกขระ 1 ตวใหกบตวแปร

รปแบบ

ตวอยาง เชน

- ประกาศชนดตวแปรใหกบตวแปรทละตว

- กรณตวแปรมชนดขอมลเดยวกน สามารถก าหนดภายในบรรทดเดยวกนกได

Page 26: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

16

- การประกาศตวแปร และการก าหนดคา

- การประกาศตวแปร พรอมก าหนดคา ภายในบรรทดเดยว

- การประกาศตวแปร พรอมก าหนดคาเดยวกนใหกบหลายๆ ตวแปร ในคราวเดยวกน

6.1.2 รปแบบการประกาศชนดขอมลแบบสตรง

รปแบบ

ตวอยางเชน

- การประกาศตวแปรแบบสตรงขนาด 10 ตวอกขระ

- การประกาศตวแปรแบบสตรงพรอมก าหนดคา

ขอสงเกตทส าคญคอ ขอมลทเปนอกขระ 1 ตว จะอยภายในเครองหมาย ‘ ’ ในขณะทขอมลท

เปนกลมขอความจะอยภายในเครองหมาย “”

Page 27: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

17

6.2 ชนดขอมลเลขจ านวนเตม

ชนดขอมลแบบเลขจ านวนเตม หมายถง คาตวเลขจ านวนเตม แบบไมมทศนยม นอกจากนยง

สามารถใชค าเพมเตมน าหนาชนดขอมลอยาง short หรอ long กได

6.2.1 เลขจ านวนเตมแบบสน ชนดขอมลเลขจ านวนเตมแบบสน อาจระบ short น าหนา

หรอไมกได ซงตางกมความหมายเดยวกน โดยขอมลชนดน จะใชพนทหนวยความจ าขนาด 2 ไบต หรอ

16 บต เพอจดเกบชดตวเลขทมทงคาบวกและคาลบ

รปแบบ

ตวอยางเชน

ชวงขอมลแบบเลขจ านวนเตม i n t นน จะมชวงคาตวเลขจ านวนเตมทมคาตงแต -32 ,768 ถง

3 2 , 7 6 7 ดงนน คาขอมลทจดเกบลงในขอมลชนดน ควรอยในชวงดงกลาวดวย กลาวคอ จะตองไมนอย

หรอเกนไปกวาชวงของคาดงกลาว มฉะนนจะไดคาทผดเพยนไปเนองจากเกดโอเวอรโฟลว (Ove r f l ow )

6.2.2 เลขแบบจ านวนเตมแบบยาว จะใชพนทหนวยความจ าขนาด 4 ไบต หรอ 32 บต

ดงนน จงสามารถจดเกบชดตวเลขทม ชวงกวางกวาเปนสองเทา โดยจะม คาตวเลขภายในชวง

-2,147,483,648 ถง 2,147,483,647

รปแบบ

ดงนนหากตองการเกบคาเลขจ านวนเตมทมคามากๆ จงจ าเปนตองก าหนดชนดขอมลประเภทน

เพอจะไดสามารถจดเกบคาตวเลขทมคาสงๆ ไดโดยจะพบวาชวงขอมลของเลขจ านวนเตมแบบยาวจะม

ขนาดชวงขอมลมากกวาสองพนลานทเดยว และหากมการใช unsigned น าหนาชนดขอมลอก ซงจะม

Page 28: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

18

เฉพาะคาบวก ท าใหมขนาดชวงขอมลมากกวา สพนลาน ดงนน กรณทตองการเกบคาตวเลขทมคาไมมาก

หากก าหนดเปนชนดขอมลแบบ long int กยอมสนเปลองหนวยความจ า

6.3 ชนดขอมลทศนยม

ชนดขอมลแบบทศนยม หรอเลขจ านวนจรง คอคาตวเลขทสามารถมจดทศนยม ซงสามารถ

ประกาศใชงานตามชวงความกวางของคาตวเลขแตละขนาด เชน float, double หรอ long double

6.3.1 เลขทศนยมแบบ float (Single Precisions Floating Point) ชนดของขอมล

ประเภทน จะมขนาด 4 ไบต หรอ 32 บต ท าใหสามารถจดเกบชวงขอมลตงแต 1.1x10-38 ถง

3.4x1038 และสามารถจดเกบต าแหนงทศนยมไดถง 67 ต าแหนง

รปแบบ

6.3.2 เลขทศนยมแบบ double (Double Precisions Floating Point) ชนดของขอมล

ประเภทน จะมขนาด 8 ไบต หรอ 64 บต ท าใหสามารถจดเกบชวงขอมลไดตงแต 2.2x10-308 ถง

1.7x10308 และสามารถจดเกบต าแหนงทศนยมได 15 ต าแหนง

รปแบบ

6 .3 .3 เลขทศนยมแบบ long double (Long Double Precision Floating Point)

ชนดขอมลประเภทน จะมขนาด 10 ไบต หรอ 80 บต โดยมชวงของขอมลตงแต 3.3x10-4932 ถง

1.1x104932 และสามารถเกบต าแหนงทศนยมได 18 ต าแหนง (1.2E+/-4932)

รปแบบ

Page 29: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

19

ดงนน จะพบวาชนดขอมลทศนยม ไมวาจะเปน float, double หรอ long double นน จะ

ตางกนในเรองของขนาด รวมไปถงความละเอยดของทศนยม โดยเลขทศนยมทมหลกมากๆ อาจมความ

จ าเปนส าหรบงานวทยาศาสตรทตองใชความแมนย า และความละเอยดสง แตส าหรบงานปกตทวไป ชนด

ขอมลแบบ float หรอ double กเพยงพอตอการใชงานแลว

Page 30: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

20

ค าชแจง ใหนกเรยนแตละกลมน าตวอยางโปรแกรมท 3.1 ในบตรเนอหาท 3.1 มาเขยนโปรแกรมและ

ท าการแกไข ดงน

1. ก าหนดชอตวแปรใหมตามหลกการตงชอตวแปร

2. ก าหนดใหชนดขอมลของตวแปรเปนทศนยม

3. ก าหนดคาคงทใหกบตวแปรภายนอก = 99.000000

ก าหนดคาคงทใหกบตวแปรภายใน = 55.000000

4. แกไขการแสดงผล printf(“Value of var1 is %d\n”,var1);

ชอตวแปรทตงขนใหม ชอตวแปรทตงขนใหม

%f

ใหนกเรยนบนทกไฟลโปรแกรมทสรางขนสงครผสอน โดยตงชอ quiz3_เลขทกลม เชน กลม1 =

quiz3_1

บตรกจกรรมท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 31: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

21

ค าชแจง ใหนกเรยนตอบค าถามตอไปนใหถกตอง (10 คะแนน)

1. จงอธบายโครงสรางภาษาซ โดยสงเขป (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

2. จงบอกกฎเกณฑการเขยนโปรแกรมภาษาซ (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

3. จงตงชอตวแปรทถกตองตามหลกการตงชอตวแปร จ านวน 4 ชอ (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

4. จงประกาศตวแปร ชอ number ก าหนดชนดขอมลเปนจ านวนเตมแบบสน (2 คะแนน)

.........................................................................................................................................................................

5. จงประกาศตวแปรพรอมก าหนดคาคงทใหกบตวแปร จ านวน 2 ตวแปร (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

บตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 32: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

22

ค าชแจง ใหนกเรยนเลอกค าตอบทถกตองทสดเพยงขอเดยว แลวท าเครองหมายกากบาท (X) ลงใน

กระดาษค าตอบ (เวลา 10 นาท)

1. ขอใดตอไปนไมสามารถน ามาใชเปนตวขนตนในการตงชอตวแปร

ก. ตวอกษร A ถง Z

ข. ตวอกษร a - z

ค. ตวเลข 0 - 9

ง. ถกทงขอ ก. และ ข.

2. ขอใดคอฟงกชนหลกในการเขยนโปรแกรมภาษาซ

ก. menu()

ข. main()

ค. #include()

ง. #endit

3. สวนใดของโปรแกรมภาษาซตอไปน ทจะถกประมวลผลกอน

ก. #include <stdio.h>

ข. main()

ค. {

ง. /*comment*/

4. ชอตวแปรตอไปน ขอใดผด

ก. AAA

ข. 4_You

ค. v_a_r_i_a_b_l_e

ง. INCLUDE

แบบทดสอบหลงเรยน เลมท 3

เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 33: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

23

5. การประกาศคาตวแปรตามขอใด ไมถกตอง

ก. char txt=”Q”;

ข. int k = 0;

ค. float n = -0.8E+3;

ง. ผดทงขอ ก. และ ค.

6. เมอเขยนชดค าสงเสรจแลว ตองจบดวยเครองหมายใด

ก. เครองหมาย :

ข. เครองหมาย ,

ค. เครองหมาย ;

ง. เครองหมาย //

7. หากตองการก าหนดตวแปรทเอาไวเกบเลขจ านวนเตม ทมคาไมเกนหลกหมนควรก าหนดเปนขอมล

ชนดใด

ก. char

ข. double

ค. float

ง. int

8. เฮดเดอรไฟล จะถกเขยนไวอยสวนใดของโปรแกรม

ก. สวนชดค าสง

ข. ภายในบลอก { }

ค. สวนหวของโปรแกรม

ง. เขยนไวทสวนใดกได

Page 34: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

24

9. ก าหนดใหตวแปร number = 496 ตวแปร number จะถกก าหนดชนดของขอมลตามขอใด

ก. int

ข. unsigned int

ค. char

ง. เปนไปไดทงขอ ก. และ ข.

10. ชนดขอมลแบบอกขระ 1 ตว (char) จะตองอยภายในเครองหมายใด

ก. “”

ข. ‘’

ค. #

ง. $

Page 35: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

25

กรกนก ศลปกอบ. (2555). ภาษาซ. สบคนเมอวนท 25 เมษายน 2556,

จาก http://kornkanokteerawat.blogspot.com.

ดรณ บญวงค. (2553). การเขยนโปรแกรม 2. สบคนเมอวนท 25 เมษายน 2556,

จาก https://sites.google.com/site/programingmpp/home.

ดารณย พฒนศรเรอง นร ธารจรต และวราห อภยสวรรณ. (2548). การเขยนโปรแกรม

คอมพวเตอร. พมพครงท 1. กรงเทพฯ: ศนยหนงสอเมองไทย จ ากด.

ณชพล กาฬภกด. (2554). การเขยนโปรแกรมเบองตนดวยภาษาซ. สบคนเมอวนท 25 เมษายน

2556, จาก http://krunatchaphon.wikispaces.com/Programs+Dev+C.

ธรวฒน ประกอบผล. (2555). คมอการใชเขยนโปรแกรมภาษา C ส าหรบผเรมตน. พมพครงท 1.

กรงเทพฯ: ซมพลฟาย.

บญสบ โพธศร และชยธร ฉตรสวรรณ. (2546). การเขยนโปรแกรมคอมพวเตอร 1. พมพครงท 1.

กรงเทพฯ: ศนยสงเสรมอาชวะ.

ประภาพร ชางไม. (2551). คมอเขยนโปรแกรมภาษา C ฉบบผเรมตน. พมพครงท 1. กรงเทพฯ:

ไอดซ.

ฝายต าราวชาการคอมพวเตอร. (2553). การเขยนโปรแกรมเบองตน (ภาษาซ). กรงเทพฯ:

ซเอดยเคชน.

สมโภชน ชนเอยม และคณะ. (2555). หลกการออกแบบและการเขยนโปรแกรมเบองตน.

กรงเทพฯ: ซเอดยเคชน.

สามารถ พรพลประชาสทธ. (2553). การเรยนรพนฐานภาษาซ สการเปนมอโปร. สบคนเมอวนท

25 เมษายน 2556, จาก http://kanokwan.sru.ac.th/e-learning/history.php.

เอกพนธ ค าปญโญ และธรวฒน ประกอบผล. (2551). การเขยนโปรแกรมคอมพวเตอร.

กรงเทพฯ: ซคเซส มเดย.

ไมปรากฏชอผแตง. (2554). การเขยนโปรแกรมภาษาซ ดวย Dev C ++. สบคนเมอวนท

25 เมษายน 2556, จาก http://prog.hatyaiwit.ac.th/kar-kheiyn-porkaerm-dev-c-1.

บรรณานกรม

Page 36: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

26

ภาคผนวก

Page 37: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

27

กระดาษค าตอบแบบทดสอบกอนเรยน เลมท 3

เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

ชอ-นามสกล__________________________________

เลขท_________ชน____________________________

ขอ ก ข ค ง คะแนน

1

2

3

4

5

6

7

8

9

10

คะแนนรวมทงหมด

Page 38: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

28

ขอ ค าตอบ

1. ก 2. ค

3. ข 4. ค 5. ข

6. ง 7. ก 8. ข 9. ค 10. ง

เฉลยแบบทดสอบกอนเรยน เลมท 3 เรอง โครงสรางภาษาซ ตวแปร ชนดของขอมล

Page 39: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

29

ค าชแจง ใหนกเรยนแตละกลมน าตวอยางโปรแกรมท 3.1 ในบตรเนอหาท 3.1 มาเขยนโปรแกรมและ

ท าการแกไข ดงน

1. ก าหนดชอตวแปรใหมตามหลกการตงชอตวแปร

2. ก าหนดใหชนดขอมลของตวแปรเปนทศนยม

3. ก าหนดคาคงทใหกบตวแปรภายนอก = 99.000000

ก าหนดคาคงทใหกบตวแปรภายใน = 55.000000

4. แกไขการแสดงผล printf(“Value of var1 is %d\n”,var1);

ชอตวแปรทตงขนใหม ชอตวแปรทตงขนใหม

%f

ใหนกเรยนบนทกไฟลโปรแกรมทสรางขนสงครผสอน โดยตงชอ quiz3_เลขทกลม เชน กลม1 =

quiz3_1

แนวค าตอบ ครผสอนตรวจโปรแกรม และผลการรนโปรแกรม (อยในดลพนจของครผสอน)

โปรแกรม

ผลลพธการรนโปรแกรม

เฉลยบตรกจกรรมท 7.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

Page 40: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

30

ค าชแจง ใหนกเรยนตอบค าถามตอไปนใหถกตอง (10 คะแนน)

1. จงอธบายโครงสรางภาษาซ โดยสงเขป (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

2. จงบอกกฎเกณฑการเขยนโปรแกรมภาษาซ (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

3. จงตงชอตวแปรทถกตองตามหลกการตงชอตวแปร จ านวน 4 ชอ (2 คะแนน)

.........................................................................................................................................................................

4. จงประกาศตวแปร ชอ number ก าหนดชนดขอมลเปนจ านวนเตมแบบสน (2 คะแนน)

.........................................................................................................................................................................

5. จงประกาศตวแปรพรอมก าหนดคาคงทใหกบตวแปร จ านวน 2 ตวแปร (2 คะแนน)

.........................................................................................................................................................................

.........................................................................................................................................................................

เฉลยบตรค าถามท 3.1 เรอง โครงสรางภาษาซ ตวแปร และชนดของขอมล

ตอบ แนวค าตอบ โครงสรางภาษาซ ประกอบดวย 1. ตวประมวลผลกอน เปนสวนทคอมไพเลอร

จะประมวลผลค าสงนกอนทจะคอมไพลตวโปรแกรม 2. ฟงกชนหลก ฟงกชนหนง เปนสวน

โปรแกรมหลกทท าหนาทสงใหชดค าสงตางๆ หรอฟงกชนอนๆ ท างาน 3. ชดค าสง (Source Code)

คอ ชดค าสงในภาษาซจะถกบรรจอยภายในเครองหมาย { ทบอกถงจดเรมตนการท างานและ

เครองหมาย } เพอบอกจดสนสดการท างาน 4. ค าอธบายโปรแกรม (Comment) คอ สวนทเปน

หมายเหตของโปรแกรม มไวเพอใหผเขยนโปรแกรมใสขอความอธบายก ากบลงไปใน source code

ตอบ แนวค าตอบ 1. สวนหวโปรแกรม จะตองก าหนดตวประมวลผลกอนเสมอ

2. ชดค าสงในภาษาซ จะใชอกษรตวพมพเลกทงหมด

3. ตวแปรทใชงานจะตองถกประกาศชนดขอมลไวเสมอ

4. ภายในโปรแกรม จะตองมอยางนอยหนงฟงกชนเสมอ ซงกคอ ฟงกชน main() นนเอง

5. ใชเครองหมาย { เพอบอกจดเรมตน และเครองหมายปกกาปด } เพอบอกจดสนสดของชดค าสง

6. เมอเขยนชดค าสงเสรจแลว ตองจบดวยเครองหมาย ;

7. สามารถอธบายโปรแกรมตามความจ าเปนดวยการใชเครองหมาย /*….*/ หรอ //

ตอบ แนวค าตอบ อยในดลพนจของครผสอน โดยยดหลกการตงชอตวแปร

ตอบ แนวค าตอบ short int number;

ตอบ แนวค าตอบ อยในดลพนจของครผสอน โดยยดหลกการประกาศตวแปร และการก าหนดคาคงท

ใหกบตวแปร ตวอยางเชน 1. #define number 50 2. const float number = 0.05;

Page 41: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

31

กระดาษค าตอบแบบทดสอบหลงเรยน เลมท 3

เรอง โครงสรางโปรแกรม ตวแปร และชนดของขอมล

ชอ-นามสกล__________________________________

เลขท_________ชน____________________________

ขอ ก ข ค ง คะแนน

1

2

3

4

5

6

7

8

9

10

คะแนนรวมทงหมด

Page 42: Dev-C++ - kroobannok.comเล่มที่ 1 เรื่อง หลักการและแนวคิดการเขียนโปรแกรม เล่มที่

32

ขอ ค าตอบ

1. ค 2. ข 3. ก 4. ข 5. ก

6. ค 7. ง 8. ค 9. ง 10. ข

เฉลยแบบทดสอบหลงเรยนเลมท 3 เรอง โครงสรางโปรแกรม ตวแปร และชนดของขอมล