Includeใน dev c++ ให ม จ ดทศน ยม

  • 1. 1. ความรูเ บื้องตนเกี่ยวกับภาษาซี ภาษาซีเปนภาษาระดับสูง( High-Level-Language) และภาษาโปรแกรมที่โปรแกรมเมอรนิยม ใชกันมาก เนื่องจากเปนภาษาที่มีความเร็วในการทํางานสูงใกลเคียงกับภาษาเครื่อง มีโครงสรางที่ชัดเจน เขาใจงาย สามารถเขียนโปรแกรมเพื่อติดตอกับฮารดแวรของเครื่องคอมพิวเตอรไดอยางดี ภาษาซี เกิดขึ้นในป ค . ศ .1972 ผูคิดคนคือนายเดนนีส ริทชี (Dennis Ritchi) การศึกษาภาษาซีถือวาเปนพื้นฐาน ในการศึกษาภาษาใหม ๆ ได ขั้นตอนการพัฒนาโปรแกรมภาษาซี ขั้นตอนที่ 1 เขียนโปรแกรม (source code) ใช editor เขียนโปรแกรมภาษาซีและทําการบันทึกไฟลตนฉบับใหมีนามสกุลเปน .Cpp หรือ .C จากนั้นใหคอมไพลโปรแกรมก็จะไดไฟลออบเจ็กตโคดที่มีนามสกุลเปน .OBJ เมื่อทําการเชื่อมโยง ไฟลเขากับไลบรารีคําสั่งดวย Link ก็จะไดไฟลที่มีนามสกุลเปน .EXE ที่พรอมทํางานไดบนเครื่อง คอมพิวเตอร editor คือ โปรแกรมที่ใชสําหรับการเขียนโปรแกรม โดยตัวอยางของ editor ที่นิยมนํามาใชใน การเขียนโปรแกรมไดแก Notepad, Edit ของ Dos ,Text Pad และ Edit Plus เปนตน ผูเขียนโปรแกรม สามารถเลือกใชโปรแกรมใดในการเรียนโปรแกรมก็ได แลวแตความถนัดของแตละบุคคล ขั้นตอนที่ 2 คอมไพลโปรแกรม (compile) นํา source code จากขั้นตอนที่ 1 มาทําการคอมไพล เพื่อแปลจากภาษาซีที่มนุษยเขาใจไปเปน ภาษาเครื่องที่คอมพิวเตอรเขาใจได ในขั้นตอนนี้คอมไพเลอรจะทําการตรวจสอบ source code วาเกิด ขอผิดพลาดหรือไม • หากเกิดขอผิดพลาด จะแจงใหผูเขียนโปรแกรมทราบ ผูเขียนโปรแกรมจะตองกลับไปแกไข โปรแกรม และทําการคอมไพลโปรแกรมใหมอีกครั้ง • หากไมพบขอผิดพลาด คอมไพเลอรจะแปลไฟล source code จากภาษาซีไปเปนภาษาเครื่อง ( ไฟลนามสกุล .obj) เชนถาไฟล source code ชื่อ work.c ก็จะถูกแปลไปเปนไฟล work.obj ซึ่งเก็บ ภาษาเครื่องไวเปนตน compile เปนตัวแปลภาษารูปแบบหนึ่ง มีหนาที่หลักคือการแปลภาษาโปรแกรมที่มนุษยเขียน ขึ้นไปเปนภาษาเครื่อง โดยคอมไพเลอรของภาษาซี คือ C Compiler ซึ่งหลักการที่คอมไพเลอรใช เรียกวา คอมไพล (compile) โดยจะทําการอานโปรแกรมภาษาซีทั้งหมดตั้งแตตนจนจบ แลวทําการ แปล ผลทีเดียว จัดทําโดยครูเนาวรัตน ใจการุณ
  • 2. นอกจากคอมไพเลอรแลว ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียกวา อินเตอรพรีเตอร การอาน และ แปลโปรแกรมทีละบรรทัด เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทํางานตามคําสั่งในบรรทัดนั้น แลว จึงทําการแปลผลตามคําสั่งในบรรทัดถัดไป หลักการที่อินเตอรพรีเตอรใชเรียกวา อินเตอรเพรต (interpret ) ขอดีและขอเสียของตัวแปลภาษาทั้งสองแบบมีดังนี้ ขอดี ขอเสีย คอมไพเลอร • ทํางานไดเร็ว เนื่องจากทําการแปลผล • เมื่อเกิดขอผิดพลาด ทีเดียว แลวจึงทํางานตามคําสั่งของ ขึ้นกับโปรแกรมจะ โปรแกรมในภายหลัง ตรวจสอบหาขอผิดพลาด • เมื่อทําการแปลผลแลว ในครั้งตอไปไม ไดยาก เพราะทําการแปล จําเปนตองทําการแปลผลใหมอีก เนื่องจาก ผลทีเดียวทั้งโปรแกรม ภาษาเครื่องที่แปลไดจะถูกเก็บไวที่ หนวยความจํา สามารถเรียกใชงานไดทันที อินเตอรพรีเตอร • หาขอผิดพลาดของโปรแกรมไดงาย • ชา เนื่องจากที่ทํางานทีละ เนื่องจากทําการแปลผลทีละบรรทัด บรรทัด • เนื่องจากทํางานทีละบรรทัดดังนั้นจึงสั่ง ใหโปรแกรมทํางานตามคําสั่งเฉพาะจุดที่ ตองการได • ไมเสียเวลารอการแปลโปรแกรมเปน เวลานาน ขั้นตอนที่ 3 เชื่อมโยงโปรแกรม (link) การเขียนโปรแกรมภาษาซีนั้นผูเขียนโปรแกรมไมจําเปนตองเขียนคําสั่งตาง ๆ ขึ้นใชงานเอง เนื่องจากภาษาซีมีฟงกชั่นมาตรฐานใหผูเขียนโปรแกรมสามารถเรียกใชงานได เชน การเขียนโปรแกรม แสดงขอความ “Lampangkanlayanee” ออกทางหนาจอ ผูเขียนโปรแกรมสามารถเรียกใชฟงกชั่น printf() ซึ่งเปนฟงกชั่นมาตรฐานของภาษาซีมาใชงานได โดยสวนการประกาศ (declaration) ของ ฟงกชั่นมาตรฐานตาง ๆ จะถูกจัดเก็บอยูในเฮดเดอรไฟลแตละตัว แตกตางกันไปตามลักษณะการใชงาน ดวยเหตุนี้ภาษาเครื่องที่ไดจากขั้นตอนที่ 2 จึงยังไมสามารถนําไปใชงานได แตตองนํามา เชื่อมโยงเขากับ library กอน ซึ่งผลจากการเชื่อมโยงจะทําใหได executable program ( ไฟลนามสกุล .exe เชน work.exe) ที่สามารถนําไปใชงานได จัดทําโดยครูเนาวรัตน ใจการุณ
  • 3. 4 ประมวลผล (run) เมื่อนํา executable program จากขั้นตอนที่ 3 มาประมวลผลก็จะไดผลลัพธ (output) ของ โปรแกรมออกมา ( ถามี ) จัดทําโดยครูเนาวรัตน ใจการุณ
  • 4. กิจกรรมที่ 1 ขั้นตอนการพัฒนาโปรแกรมภาษาซี คําชี้แจง จงเติมคําตอบใหถูกตองและสมบูรณ 1. จงพิจารณาขอความตอไปนี้ จัดอยูในขั้นตอนการทํางานอะไร # include <stdio.h> # include <conio.h> main() { printf(“Hello! This is my first program.n”); printf(“I love C programming.n”); getch(); } .................................................................................................................................................................. .................................................................................................................................................................. 2. ภาพตอไปนี้ จัดอยูในขั้นตอนการทํางานใด ................................................................................................................................................................ ................................................................................................................................................................ 3. การทํางานในขั้นตอนใดเมื่อเสร็จสิ้นการทํางานจะไดไฟลที่มีนามสกุล .OBJ ............................................................................................................................................................... ............................................................................................................................................................... 4. การทํางานในขั้นตอนใดเมื่อเสร็จสิ้นการทํางานจะไดไฟลที่มีนามสกุล .cpp ............................................................................................................................................................... ............................................................................................................................................................... 5. การทํางานในขั้นตอนใดเมื่อเสร็จสิ้นการทํางานจะไดไฟลที่มีนามสกุล .EXE ............................................................................................................................................................... ............................................................................................................................................................... จัดทําโดยครูเนาวรัตน ใจการุณ
  • 5. 2. การใชโปรแกรม Bloodshed Dev-C++ การเรียกโปรแกรมภาษาซี ชุดพัฒนาหรือเครื่องมือที่ชวยในการพัฒนาโปรแกรม ภาษาอังกฤษเรียกวา IDE (Intregal Devenlopment Environment) เปนโปรแกรมที่ออกแบบมาเพื่อชวยใหผูที่ทําการเขียนโปรแกรมใชในการ สรางโปรแกรม โดยจะมี อีดิเตอร (Editor) สําหรับเขียนโคดของโปรแกรมและมีตัวแปลภาษามาใหพรอม ปจจุบันมีการออกชุดพัฒนามาหลายรุน และเปลี่ยนแปลงรวดเร็วมาก เชน Turbo C++ , Borland C++ , Microsoft C/C++ , Microsoft Visual C++ , Microsoft Visual C# , Microsoft Visual C++ .NET ซึ่งชุด พัฒนาแตละตัวมีวิธีการนําไปใชงานที่แตกตางกัน เพราะมันเปนผลิตภัณฑที่พัฒนามาจากบริษัทตางกัน แตอยางไรก็ตามการเขียนโปรแกรมภาษาซีไมวาจะเปน IDE ใด ก็มีหลักการและวิธีการในการเขียนที่ คลายคลึงกัน จะตางกันบางตรงรายละเอียดบางอยางที่เพิ่มขึ้น หรือพัฒนาใหงายในการเขียนโปรแกรม ที่จะกลาวถึงตอไปนี้ เปน IDE ของ Bloodshed Dev-C++ ซึ่งเปนชุดพัฒนาขึ้นมาเพื่อใชเปน ฟรีแวรและทํางานภายใตระบบปฏิบัติการ Windows ใชไดกับ Windows ทุกรุน ซึ่งมีวิธีการเรียก โปรแกรมขึ้นมาใชงานไดดังนี้ 1. คลิกที่ Start 2. เลื่อนเมาสไปที่ Bloodshed Dev-C++ 3. คลิกที่ Dev-C++ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 6. Bloodshed Dev-C++ เมื่อเรียกโปรแกรม Bloodshed Dev-C++ ขึ้นมาใชงานแลวจะมาหนาตาดังรูป ซึ่งโปรแกรมจะมีสวนประกอบดังนี้ 1. Titlebar คือ แถบที่อยูบนสุดของโปรแกรม มีสีน้ําเงิน และจะมีชื่อของชุดพัฒนาโปรแกรมภาษาซี คือ Dev-C++ 2. Menubar ประกอบดวยเมนูตาง ๆ 11 รายการคือ File Edit Search View Project Execute Debug Tools CVS Window Help 3. Tool bars เปนสวนของเครื่องมือ ที่ชวยอํานวยความสะดวกในการเขียนและพัฒนาโปรแกรม 4. Project/Class Browser เปนสวนที่อยูทางดานซายของโปรแกรม ใชเพื่อแสดง Project หรือ Class ตางๆ ของโปรแกรม 5. Editor สวนที่อยูทางดานขวา ใชเพื่อเขียนโคดภาษาซี 6. Statusbar สวนที่อยูลางสุด ใชเพื่อบอกสถานะตาง ๆ ในขณะที่กําลังพัฒนาโปรแกรม เชน จํานวน บรรทัดมั้งหมด หรือสถานะการพิมพแทรก/พิมพทับ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 7. เมนูของโปรแกรม Bloodshed Dev-C++ เมนู File มีเมนูยอยที่ควรรูดังนี้ New เพื่อสรางไฟลใหม Open Project or File เพื่อเปดไฟลหรือโปรเจ็กซที่ไดทํางาน และบันทึกไวแลว Save เพื่อบันทึกไฟล Save As เพื่อบันทึกไฟลเปนชื่อใหม หรือเพื่อบันทึกลงในโฟลเดอรอื่น Save All เพื่อบันทึกไฟลหรือโปรเจ็กซทั้งหมด ที่เปดทํางานอยู Close เพื่อปดไฟลที่กําลัง Active อยู Close All เพื่อปดไฟลหรือ โปรเจ็กซทั้งหมด ที่เปดอยู Exit เพื่อปดโปรแกรม Bloodshed Dev-C++ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 8. Edit มีเมนูยอยที่ควรรูดังนี้ Undo เลิกทําหรือยกเลิกการทํางาน Redu ใหทําซ้ํางานที่เพิ่งทําผานไป Cut ตัดขอความที่ทําแถบสีนําไปไวใน คลิปบอรด Copy คัดลอกขอความที่ทําแถบสีนําไปไวใน คลิปบอรด Paste ใหวาง ปะ หรือ แปะ ขอความที่ได Cut หรือ Copy ไวแลว มาวางลงในตําแหนงของ เคอรเซอร Insert ทําการแทรก 1. วันที่ (Date/Time) ลงใน Editor 2. Comment header สวนที่เปน หมายเหตุในการพัฒนาโปรแกรมลงบนสวนหัวของ Editor Select All เลือกโคด หรือขอความทั้งหมด ที่อยูใน Editor จัดทําโดยครูเนาวรัตน ใจการุณ
  • 9. Search มีเมนูยอยที่ควรรูดังนี้ Find คนหาคํา หรือขอความใน Editor Search Again ใหคนซ้ํา หรือคนหาตอไปอีก Replace ใหแทนที่คําที่คนหา ดวยคําใหม จัดทําโดยครูเนาวรัตน ใจการุณ
  • 10. View มีเมนูยอยที่ควรรูดังนี้ Project/Class Browser เพื่อแสดงหรือไมแสดง Project/Class Browser Statusbar เพื่อแสดงหรือไมแสดง Statusbar Toolbars เพื่อแสดงหรือไมแสดง Toolbars ตาง ๆ ซึ่งประกอบดวย Main Toolbar Edit Toolbar Search Toolbar Compile and run Toolbar Project Toolbar Options Toolbar Special Toolbar Class Toolbar จัดทําโดยครูเนาวรัตน ใจการุณ
  • 11. Project จัดทําโดยครูเนาวรัตน ใจการุณ
  • 12. Execute มีเมนูยอยที่ควรรูดังนี้ Compile (Ctrl+F9) สั่งใหทําการ Compile ซอรสโคด เมื่อ Compile แลวจะไดไฟลใหมที่มีสวนขยายเปน .exe Run (Ctrl+F10) สั่งใหโปรแกรมทํางาน Compile & Run (F9) ใหทําการ Compile และ Run โปรแกรม Rebuild All (Ctrl+F11) ใหสรางไฟล .exe ใหม แทนที่ไฟลเดิม จัดทําโดยครูเนาวรัตน ใจการุณ
  • 13. Debug จัดทําโดยครูเนาวรัตน ใจการุณ
  • 14. Tools มีเมนูยอยที่ควรรูดังนี้ Editor Options เปนการตั้งคาสภาพแวดลอมใหกับ Editor เชน ใหมีหมายเลขบรรทัดเปนตน จัดทําโดยครูเนาวรัตน ใจการุณ
  • 15. CVS จัดทําโดยครูเนาวรัตน ใจการุณ
  • 16. Windows มีเมนูยอยที่ควรรูดังนี้ Close All ปดวินโดวส ของ Editor ทั้งหมด Full Screen Mode ใหวินโดวสแสดงแบบเต็มจอ ถาตองการยกเลิกแบบ Full Screen ให click ที่ เพื่อปดวินโดวส Next ใหแสดงวินโดวสของ Editor ถัดไป Previous ใหแสดงวินโดวสของ Editor กอนหนา จัดทําโดยครูเนาวรัตน ใจการุณ
  • 17. Help สวนใหญเปนเมนูเกี่ยวกับการขอความชวยเหลีอ การสรางแฟมโปรแกรม การสรางแฟมโปรแกรม ทําไดโดยเลือกเมนู File -> Source File หรือกด Ctrl + N การปอนโปรแกรมภาษาซี การปอนโปรแกรมในหนาตาง Editor สามารถทําไดเชนเดียวกับการปอนขอความใน โปรแกรมจัดพิมพเอกสารทั่วไป จัดทําโดยครูเนาวรัตน ใจการุณ
  • 18. แบบฝกกิจกรรมที่ 1 1. ใหเรียกเขาสูโปรแกรม Dev-C++ และปอนโปรแกรมตอไปนี้

    include <stdio.h> ผลการรัน

    include <conio.h> ……………………………………………. main() ……………………………………………. ……………………………………………. { ……………………………………………. printf("Hello world"); ……………………………………………. getch(); ……………………………………………. } ……………………………………………. การบันทึกโปรแกรม (Save) ในการบันทึกโปรแกรมใหม ทําไดโดยเลือกเมนู File -> Save หรือกด Ctrl + S จะได หนาตางดังรูป 1 3 2 1. เปลี่ยนไดรฟ เปลี่ยนโฟลเดอร 2. พิมพชื่อไฟล 3. คลิกปุม Save จัดทําโดยครูเนาวรัตน ใจการุณ

  • 19. (Compile) การเรียกใชคอมไพลเลอร ทําไดโดยเลือกเมนู Execute -> Compile หรือกด Ctrl + F9 รูป แสดงหนาตาง Compiling ที่ทํางานเสร็จสมบูรณ ในกรณีที่พิมพโปรแกรมผิดจะแสดงรายการขอผิดพลาดที่ตรวจพบ ดังรูป สวนที่บอกวาผิดอะไรบาง รูป แสดงโปรแกรมที่ผิดพลาด จัดทําโดยครูเนาวรัตน ใจการุณ
  • 20. (Run) เมื่อโปรแกรมไดถูกแปลเปนโปรแกรมภาษาเครื่องเรียบรอยแลว ผูใชสามารถสั่งใหโปรแกรม ที่แปลแลวกระทําการ โดยเลือกคําสั่ง Execute -> Run หรือกด Ctrl + F10 การเปดแฟมโปรแกรม ผูใชสามารถเปดแฟมโปรแกรมขึ้นมาแสดงบนหนาตางโปรแกรมเพื่อแกไข แปลหรือสั่งให กระทําการ โดยเลือกคําสั่ง File -> Open Projector or File จะไดหนาตางดังรูป 1 3 2 1. เปลี่ยนไดรฟ เปลี่ยนโฟลเดอร 2. พิมพชื่อไฟล หรือคลิกเลือกชื่อไฟล 3. คลิกปุม Open จัดทําโดยครูเนาวรัตน ใจการุณ
  • 21. กิจกรรมที่ 2 การใชโปรแกรม Bloodshed Dev-C++ คําชี้แจง เขียนตอบลงในชองที่เวนไว 1. จงบอกวิธีการเรียกโปรแกรม Bloodshed Dev-C++ ......................................................................... .......................................................................................................................................................... 2. จงบอกชื่อสวนตาง ๆ ของโปรแกรม Bloodshed Dev-C++ 2.1 หมายเลข 1 คือ .......................................................................................................................... 2.2 หมายเลข 2 คือ ......................................................................................................................... 2.3 หมายเลข 3 คือ .......................................................................................................................... 2.4 หมายเลข 4 คือ .......................................................................................................................... 2.5 หมายเลข 5 คือ .......................................................................................................................... 2.6 หมายเลข 6 คือ .......................................................................................................................... 3. การเขียนโคดภาษาซีตองเขียนลงในสวนใด ....................................................................................... 4. การสรางไฟลใหม(Source file) ตองทําอยางไร ................................................................................. 5. จงบอกขั้นตอนการบันทึกโปรแกรม.................................................................................................. 6. จงบอกขั้นตอนการคอมไพลโปรแกรม .............................................................................................. 7. จงบอกขั้นตอนการสั่งใหโปรแกรมทํางาน......................................................................................... 8. จงบอกขั้นตอนการเปดแฟมโปรแกรม................................................................................................ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 22. 3. โครงสรางของภาษาซี โครงสรางของโปรแกรมภาษาซีแบงออกเปน 2 สวน 1. สวนหัวของโปรแกรม (Head) สวนหัวของโปรแกรมนี้เรียกวา Preprocessing Directive ใชระบุเพื่อบอกใหคอมไพเลอร กระทําการใด ๆ กอนการแปลผลโปรแกรมในที่นี่คําสั่ง

    include <stdio.h> ใชบอกกับคอมไพเลอรให นําเฮดเดอรไฟลที่ระบุคือ stdio.h เขารวมในการแปลโปรแกรมดวย โดยการกําหนด preprocessing directives นี้จะตองขึ้นตนดวยเครื่องหมาย # เสมอ คําสั่งที่ใชระบุใหคอมไพเลอรนําเฮดเดอรไฟลเขารวมในการแปลโปรแกรม สามารถเขียนได 2 รูปแบบ คือ

    include < ชื่อเฮดเดอรไฟล > คอมไพเลอรจะทําการคนหาเฮดเดอรไฟลที่ระบุจากไดเรกทอรีที่ ใชสําหรับเก็บเฮดเดอรไฟลโดยเฉพาะ ( ปกติคือไดเรกทอรีชื่อ include)

    include “ ชื่อเฮดเดอรไฟล ” คอมไพเลอรจะทําการคนหาเฮดเดอรไฟที่ระบุ จากไดเร็คทอรี เดียวกันกับไฟล source code นั้น แตถาไมพบก็จะไปคนหาไดเร็คทอรีที่ใชเก็บ เฮดเดอรไฟลโดยเฉพาะ 2. สวนของฟงกชั่นหลัก (Main Function) ฟงกชั่นหลักของภาษาซี คือ ฟงกชั่น main( ) ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะตองมีฟงกชั่นนี้ อยูในโปรแกรมเสมอ จะเห็นไดจากชื่อฟงกชั่นคือ main แปลวา “ หลัก ” ดังนั้น การเขียนโปรแกรม ภาษาซีจึงขาดฟงกชั่นนี้ไปไมได โดยขอบเขตของฟงกชั่นจะถูกกําหนดดวยเครื่องหมาย { และ } กลาวคือ การทํางานของฟงกชั่นจะเริ่มตนที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟงกชัน main() จะตองเขียนในรูปของ int main() ซึ่งเปนรูปแบบตามมาตรฐานของ Ansi standard C ซึ่งหมายความวาฟงกชัน main() จะไมมีการรับคาใด ๆ เขามาประมวลผล แตจะสงคา int จัดทําโดยครูเนาวรัตน ใจการุณ

  • 23. ( int หมายถึง integer ซึ่งเปนเลขจํานวนเต็มที่ไมมีทศนิยม) ดังจะเห็นวา บรรทัดรองสุดทาย กอนจบ จะเขียนวา return 0; การสงคากลับใหฟงกชัน main() ถา return 0; หมายความวา โปรแกรมทํางานเสร็จสิ้นสมบูรณ ไมมีขอผิดพลาดใด ๆ เกิดขึ้น แตถา return 1; หรือ return <คาอื่น ๆ ที่ไมใช 0>; หมายความวาโปรแกรม จบไมสมบูรณ มีการขามการทํางานบางขั้นตอนเพื่อใหโปรแกรมสิ้นสุดลง พรีโพรเซสเซอร ไดเร็กทีฟ (Preprocessor directive) สวนนี้ทุกโปรแกรมตองมี จะใชสําหรับเรียกคําสั่งหรือฟงกชันที่โปรแกรมตองการในการ ทํางานและกําหนดคาตาง ๆ โดยคอมไพเลอรจะกระทําตามคําสั่ง กอนที่จะคอมไพลโปรแกรม ซึ่ง จะตองเริ่มตนดวยเครื่องหมาย ไดเร็กทีฟ (#) และตามดวยชื่อโปรแกรมหรือชื่อตัวแปรที่ตองกําหนดคา ดังตัวอยางตามตาราง Directive การใชงาน

    include Include text from a file

    define Define a macro

    undef Undefine a macro

    if Test if a compile-time condition holde

    ifdef Test if a simple is defined

    ifndef Test if a simple is not defined

    else Indicate alternatives if a test fails

    elif Combination of

    if and

    else

    endif End a preprocessor condition

    line Give a line number for compiler messages

    error Terminate processing early

    pragma Implementation dependent directive สําหรับ directive ที่ใชบอย ๆ ไดแก

    include เปนการแจงใหคอมไพเลอรอานไฟลอื่นเขามาคอมไพลรวมดวย รูปแบบการใชจะทําโดยเขียน

    include แลวตามดวยชื่อไฟล เชน

    include <stdio.h> หมายความวา อานไฟล stdio.h เขามาดวย

    include "mypro.h" หมายความวา อานไฟล mypro.h จาก folder หรือ directory ที่กําลังทํางานเขามาดวย จัดทําโดยครูเนาวรัตน ใจการุณ

  • 24. การกําหนดชื่อไฟลตามหลัง

    include นั้นจะใชเครื่องหมาย < > ครอมชื่อไฟลก็ได ซึ่งจะเปนการ อานไฟลจากไดเร็กทอรี หรือโฟลเดอรที่กําหนดไวกอนแลว โดยปกติจะเปนโฟลเดอร include แตถาใช เครื่องหมาย " " เปนการอานไฟลจาก folder หรือ directory ที่กําลังติดตออยู และไฟลที่จะinclude เขามานี้ จะตองไมมีฟงกชัน main() โดยมากแลวจะประกอบดวยโปรแกรมยอย คาคงที่ หรือขอความตางๆ

    define เปนการกําหนดคานิพจนตาง ๆ ใหกับชื่อของตัวคงที่ โดยมีรูปแบบดังนี้

    define NAME VALUE เชน

    define SCHOOL thungsoung //กําหนดชื่อ SCHOOL ใหเก็บคําวา thungsoung เอาไว

    define PROVINCE nakornsitammarat //กําหนดชื่อ PROVINCE ใหเก็บคําวา nakornsitammarat เอาไว Statement หรือคําสั่ง คําสั่ง (Statement) หมายถึงประโยคที่เขียนขึ้นเพื่อใหโปรแกรมทํางาน ประกอดวยตัวแปร หรือนิพจนตาง ๆ เพื่อใชประกาศตัวแปร กําหนดคาเริ่มตน กําหนดเงื่อนไข และใชในคําสั่งควบคุม นิพจนหรือตัวแปรที่เขียนขึ้นเปนประโยคคําสั่งในภาษาซีจะใชเครื่องหมาย ; (Semicolon) ปดทายคําสั่ง คําสั่งในภาษาซีสามารถแยกใหเห็นชัดเจนได 5 กลุม คือ 1) คําสั่งสําหรับอธิบาย (Comment Statements) 2) คําสั่งกําหนดชนิดตัวแปร (Declaration Statements) 3) คําสั่งกําหนดคา (Assignment Statements) 4) คําสั่งควบคุม (Control Statements) 5) คําสั่งที่อยูในรูปฟงกชัน เชน คําสั่งรับขอมูล คําสั่งแสดงผลขอมูล เปนตน ในโปรแกรมภาษาซีโปรแกรมหนึ่งๆอาจประกอบดวยคําสั่งทั้ง 5 กลุมหรือมากกวากันก็ได เพื่อ ความเขาใจคําสั่งแตละกลุมในหัวขอนี้ จะขออธิบายเฉพาะคําสั่งสําหรับอธิบาย คําสั่งกําหนดชนิดตัวแปร และ คําสั่งกําหนดคาใหกับตัวแปรเทานั้น 1) คําสั่งสําหรับอธิบาย (Comment Statements) คําสั่งสําหรับอธิบายหรือคอมเมนต (comment) ในภาษาซี คือสวนที่เปนหมายเหตุของ โปรแกรม มีไวเพื่อใหผูเขียนโปรแกรมใสขอความอธิบายกํากับลงไปใน source code ซึ่งคอมไพเลอรจะ ขามการแปลผลในสวนที่เปนคอมเมนตนี้ คอมเมนตในภาษาซีมี 2 แบบคือ • คอมเมนตแบบบรรทัดเดียว ใชเครื่องหมาย // • คอมเมนตแบบหลายบรรทัด ใชเครื่องหมาย /* และ */ จัดทําโดยครูเนาวรัตน ใจการุณ

  • 25. ตัวอยาง การคอมเมนตในภาษาซี //Comment only one line คอมเมนตแบบบรรทัดเดียว

    include <stdio.h> ไมแปลผลในสวนนี้

    include <conio.h> main() { /*comment คอมเมนตแบบหลายบรรทัด many ไมแปลผลในสวนนี้ line*/ } 2) คําสั่งกําหนดชนิดตัวแปร (Declaration Statements) คําสั่งกําหนดชนิดตัวแปรนี้มักจะอยูในสวนตนของโปรแกรม ตัวแปรทุกตัวแปรกอนนําไปใช ตองประกาศตัวแปร พรอมชนิดขอมูลของตัวแปรนั้น และอาจกําหนดคาเริ่มตนใหกับตัวแปรนั้นๆดวย ดังรูปแบบตอไปนี้ รูปแบบ <Type> <var1> [=const1][,<var2>[=conts2]]. . . ; Type หมายถึง ชนิดตัวแปร เชน int float char long double เปนตน var1,var2 หมายถึง ชื่อตัวแปร ซึ่งตองตั้งตามกฏการตั้งชื่อ const1,const2 หมายถึง คาคงที่ ที่กําหนดคาใหกับตัวแปร ตัวอยาง int value , count , x ; char more ; หมายถึง มีการประกาศตัวแปรจํานวน 4 ตัว โดยใหตัวแปร 3 ตัวแรกคือ value count และ x เปนชนิด จํานวนเต็ม สวนประกาศตัวแปร more ใหเปนตัวแปรชนิดตัวอักขระ จัดทําโดยครูเนาวรัตน ใจการุณ

  • 26. คําสั่งกําหนดคา (Assignment Statements) คําสั่งกําหนดคาในภาษาซีจะใชตัวดําเนินการ " = " เพื่อกําหนดคาใหกับตัวแปร คําสั่ง กําหนดคานี้อาจใชในการกําหนดคาเริ่มตนใหกับตัวแปร หรือใชในการคํานวณนิพจนดานขวาของตัว ดําเนินการ " = " แลวนําคาที่ไดไปกําหนดคาใหกับตัวแปรดานซายของตัวดําเนินการ "= " หรืออาจใช ในการคัดลอกคาของตัวแปรหนึ่งไปใหกับอีกตัวแปรหนึ่ง โดยรูปแบบคําสั่งดังนี้ รูปแบบ <var1> [ = <var2>]. . . = <expression> ; var1,var2 หมายถึง ชื่อตัวแปรที่จะถูกกําหนดคา expression หมายถึง นิพจน ซึ่งอาจเปนตัวแปร คาคงที่ หรือเปนการดําเนินการระหวาง ตัวแปร หรือ คาคงที่ = หมายถึง ตัวดําเนินการกําหนดคา โดยใหนําคานิพจนดวยขวาของตัว ดําเนินการ " = " ไปกําหนดคาใหกับตัวแปร ที่อยูดานซาย ของตัวดํา เนินการ " = " หมายเหตุ คําสั่งทุกคําสั่งจะตองปดดวเครื่องหมาย ; (อานวา Semicolon) ตัวอยาง value = 0; count = 1; x = 100; more = 'y'; หมายถึง ใหตัวแปร value มีคา = 0 count มีคา = 1 x มีคา = 100 และ more มีคา = y 4) คําสั่งควบคุม (Control Statements) คําสั่งควบคุมเปนคําสั่งที่เขียนขึ้นมาเพื่อควบคุมการทํางานของโปรแกรม ไดแกคําสั่ง If, switch, while, for ซึ่งจะอธิบายในรายละเอียด ในเรื่องของคําสั่งโครงสรางหรือคําสั่งควบคุม 5) คําสั่งที่อยูในรูปฟงกชัน (Control Statements) เปนการนําฟงกชันมาตรฐานของภาษาซีมีใชในการเขียนโปรแกรมเชนคําสั่ง printf , scanf โดย จะกลาวถึงเฉพาะคําสั่งประเภทนี้ในหัวขอ การรับและการแสดงผลขอมูล จัดทําโดยครูเนาวรัตน ใจการุณ
  • 27. กิจกรรม 3 โครงสรางภาษาซี ตอนที่ 1 จงเติมคําถามตอไปนี้ ใหถูกตองสมบูรณ 1. โครงสรางของภาษาซีในสวนของคําสั่งพรีโพรเซสเซอร ทําหนาที่อะไร ............................................................................................................................................................... ............................................................................................................................................................... 2. ในภาษาซี ฟงกชันหลักที่ทุกโปรแกรมตองมี คือฟงกชันอะไร ............................................................................................................................................................... 3. การเขียนคําสั่งพรีโพรเซสเซอร ตองเริ่มตนดวยเครื่องหมายอะไร ............................................................................................................................................................... 4. คําสั่งพรีโพรเซสเซอร

    include ทําหนาที่อะไร ............................................................................................................................................................... ............................................................................................................................................................... 5. คําสั่งพรีโพรเซสเซอร

    define ทําหนาที่อะไร ............................................................................................................................................................... ............................................................................................................................................................... 6. ประโยคคําสั่งในภาษาซี ตองจบดวยเครื่องหมายอะไร ............................................................................................................................................................... 7. ประโยชนของการเขียนหมายเหตุไวในโปรแกรม คืออะไร ............................................................................................................................................................... ............................................................................................................................................................... 8. การเขียนหมายเหตุในภาษาซี มีหลักการเขียนอยางไร ............................................................................................................................................................... ............................................................................................................................................................... 9. รูปแบบการเขียนคําสั่ง

    include<ชื่อไฟล> มีความหมายอยางไร ............................................................................................................................................................... ............................................................................................................................................................... 10. รูปแบบการเขียนคําสั่ง

    include “ชื่อไฟล” มีความหมายอยางไร ............................................................................................................................................................... ............................................................................................................................................................... จัดทําโดยครูเนาวรัตน ใจการุณ

  • 28. 4. กฏการตั้งชื่อ (Identifier) ชื่อ หรือ Identifier คือการประกาศ หรือการตั้งชื่อใหกับตัวแปร คาคงที่ ฟงกชัน หรือ class ซึ่ง จะอยูภายในสวนตาง ๆของโปรแกรม สําหรับในภาษาซีมีหลักเกณฑในการตั้งชื่อดังนี้ 1. ตองขึ้นตนดวยตัวอักษรในภาษาอังกฤษ หรือเครื่องหมาย _ (Underscore) 2. ตองไมเปนชื่อเดียวกับคําสงวน (Reserve word) หรือคํามาตรฐานที่คอมไพเลอรรูจัก 3. ชื่ออาจตามดวยตัวเลขได แตหามขึ้นตนดวยตัวเลข 4. หามใชเครื่องหมายพิเศษตาง ๆ ในการตั้งชื่อ เชน @ ! # $ ^ & * + - / 5. หามเวนชองวาง 6. ชื่อในภาษาซี มีความแตกตางกันระหวางตัวพิมพเล็กและตัวพิมพใหญ เชน Name จะไม เหมือนกับ name คําสงวน (Reserve word) คําสงวน หมายถึง ชื่อหรือคําที่คอมไพเลอร สงวนไวเพื่อเปนคําเฉพาะในภาษาซี หามนําคํา สงวนนี้ไปใชในการตั้งชื่อ ประกอบดวยคําตาง ๆ ดังตอไปนี้ asm default for pascal switch _ds auto do goto register typedef _es break double huge return union _ss case else if short unsigned cdecl enum int signed void char extern interrupt sizeof volatile const far long static while continue float near struct _cs ตัวอยางการตั้งชื่อ ชื่อที่ถูก ชื่อที่ผิด เหตุที่ผิด StudentName Student Name มีเครื่องหมายวรรค Part_Number Part-Number มีเครื่องหมาย – firstNAME 1stName เริ่มดวยตัวเลข NumberOfPage

    Ofpage มีเครื่องหมาย # จัดทําโดยครูเนาวรัตน ใจการุณ

  • 29. ควรตั้งชื่อใหมีความหมายและเขาใจไดงาย ดังตัวอยางตอไปนี้ Length มีความหมายและเขาใจไดงายกวา L 2. ควรตั้งใหเห็นสวนประกอบตาง ๆ ไดงาย ดังตัวอยางตอไปนี้ StudentName เห็นสวนประกอบตาง ๆ ไดงายกวา studentname Part_Number เห็นสวนประกอบตาง ๆ ไดงายกวา PARTNUMBER 3. เนื่องจากชื่อสวนมากที่มีอยูในคอมไพเลอรมักนิยมเริ่มดวยเครื่องหมายขีดเสนใต ( _ ) ดังที่เราไดเห็น ตัวอยางมาแลวจากคําสงวน (Reserve word) เพราะฉะนั้นถาเปนไปได เราควรหลีกเลี่ยงการตั้งชื่อที่ เริ่มตนดวยเครื่องหมายขีดเสนใต จัดทําโดยครูเนาวรัตน ใจการุณ
  • 30. กิจกรรมที่ 4 ชื่อ (Identifiers) และคําสงวน (Reserved Word) คําสั่ง จงพิจารณาวา ชื่อ (Identifier) ตอไปนี้ ถูกหรือผิดโดยการทําเครื่องหมาย  ลงในชองถูก และ กา  ลงในชอง ผิด และบอกเหตุผลดวยวาผิดเพราะเหตุใด ชื่อ (Identifier) ถูก ผิด สาเหตุที่ผิด %employee birth date studentname long number 1 student

    id const chr’s 5march base r*r int จัดทําโดยครูเนาวรัตน ใจการุณ

  • 31. 5. ชนิดของขอมูลและตัวแปร ชนิดของขอมูล ในการเขียนโปรแกรมคอมพิวเตอร หากมีการประกาศตัวแปรขึ้นมา ใชงานแลว ผูเขียน โปรแกรมตองกําหนดชนิดของขอมูลใหกับตัวแปรนั้น ในแตละภาษาก็จะมีชนิดของขอมูลที่ไมคอย แตกตางกันมากนัก สําหรับในภาษาซีมี 4 ชนิดคือ 1. ขอมูลชนิดซิมเพิล (simple type) 2. ขอมูลชนิดสตริง (string type) 3. ขอมูลประเภทโครงสราง (structure type) 4. ขอมูลประเภทพอยเตอร (pointer type) ในการเขียนโปรแกรมภาษาซีเบื้องตนนี้จะกลาวถึงขอมูลชนิดซิมเพิล และขอมูลชนิดสตริงเทานั้น ขอมูลชนิดซิมเพิล (simple type) ขอมูลชนิดซิมเพิล แบงไดเปนขอมูลประเภทที่มีลําดับ (ordinal type) และขอมูลประเภท จํานวนจริง (real data type) โดยขอมูลประเภทมีลําดับเปนขอมูลที่มีคาลําดับที่แนนอน เชนตัวอักษร A B C ... Z ตัวเลขที่ใชในการนับ ซึ่งในภาษาซียังแบงขอมูลประเภทลําดับ ออกไดหลายประเภท ไดแก 1. ขอมูลประเภทจํานวนเต็ม (Integer data type) 2. ขอมูลประเภทจํานวนจริง (Real data type) 3. ขอมูลประเภทตัวอักขระ (Character data type) 4. ขอมูลประเภทตรรกะ (ฺBoolean data type) ขอมูลประเภทจํานวนเต็ม (Integer data type) ขอมูลประเภทนี้ใชเก็บตัวเลขที่เปนจํานวนเต็ม โดยคอมพิวเตอรจะใชหนวยความจําในการเก็บ ขอมูล ในรูปของเลขฐานสอง เชนถาหากคอมพิวเตอร ใชหนวยความจํา ในการเก็บขอมูล จํานวน 8 บิต หรือ 1 ไบต จะแทนคาขอมูลได เทากับ 2^ 8 (2 ยกกําลัง 8) หรือเทากับ 256 คา ซึ่งถาเขียนอยูในรูป เลขฐานสิบ จะแทนคาไดตั้งแต 0 ถึง 255 ขอมูลชนิดจํานวนเต็ม ยังแบงออกไดเปนหลายประเภท ขึ้นอยู กับขนาดของหนวยความจําที่คอมพิวเตอรใชเก็บขอมูล โดยขอมูลประเภทตาง ๆ แสดงไดดังตาราง ตอไปนี้ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 32. ขนาด (bit) ชวงของขอมูลที่เก็บได การใชงาน short 16 -32,768 ถึง 32,767 เก็บขอมูลชนิดจํานวนเต็มแบบสั้น ติด เครื่องหมาย + - โดยใชพื้นที่หนวยความจํา 16 bit ( 2 Byte) unsigned short 16 0 ถึง 65,535 เก็บขอมูลชนิดจํานวนเต็มแบบสั้น ไมติด เครื่องหมาย + - โดยใชพื้นที่หนวยความจํา 16 bit ( 2 Byte) int 32 -2,147,483,648 ถึง เก็บขอมูลชนิดจํานวนเต็มแบบติดเครื่องหมาย 2,147,483,648 + - โดยใชพื้นที่หนวยความจํา 32 bit ( 4 Byte) unsigned int 32 0 ถึง 4,294,967,296 เก็บขอมูลชนิดจํานวนเต็มแบบไมติด เครื่องหมาย + - โดยใชพื้นที่หนวยความจํา 32 bit ( 4 Byte) long 32 -2,147,483,648 ถึง เก็บขอมูลชนิดจํานวนเต็มแบบยาว ติด 2,147,483,648 เครื่องหมาย + - โดยใชพื้นที่หนวยความจํา 32 bit ( 4 Byte) unsigned long 32 0 ถึง 4,294,967,296 เก็บขอมูลชนิดจํานวนเต็มแบบยาว ไมติด เครื่องหมาย + - โดยใชพื้นที่หนวยความจํา 32 bit ( 4 Byte) การประกาศตัวแปรชนิดจํานวนเต็ม ขอมูลชนิด int รูปแบบ int <ชื่อตัวแปร> [= คาที่กําหนด] , [<ชื่อตัวแปร> = คาที่กําหนด]... ; ตัวอยาง int a , b ; // ประกาศตัวแปรชื่อ a และ b โดยไมกําหนดคาเริ่มตน int x=5 , b=10 ; // ประกาศตัวแปรชื่อ x และ b โดยมีคาเริ่มตนเปน 5 และ 10 int c=10.5 ; // ประกาศตัวแปรชื่อ c โดยมีคาเริ่มตนเปน 10 (ไมเอาทศนิยม) ขอมูลชนิด long รูปแบบ long <ชื่อตัวแปร> [= คาที่กําหนด] , [<ชื่อตัวแปร> = คาที่กําหนด]... ; ตัวอยาง long p , q ; // ประกาศตัวแปรชื่อ p และ q โดยไมกําหนดคาเริ่มตน int e=50000 , f=100000 ; // ประกาศตัวแปรชื่อ e และ f โดยมีคาเริ่มตนเปน 50000 และ 100000 จัดทําโดยครูเนาวรัตน ใจการุณ
  • 33. (Real data type) ขอมูลประเภทนี้จะเปนจํานวนจริงหรือทศนิยม ขอมูลประเภทนี้จัดลําดับกอนหลังไดยาก จึงไม จัดเปนขอมูลประเภทที่มีลําดับ เนื่องจากทศนิยม มีไดหลายตําแหนง ขอมูลชนิดจํานวนจริงนี้ยังแบง ออกไดเปนหลายประเภท โดยแตละประเภท จะใชหนวยความจํา ในการเก็บแตกตางกัน ทําใหเก็บ ขอมูล ไดแตกตางกัน ดังตารางตอไปนี้ ตารางขอมูลชนิดจํานวนจริงและชวงขอมูลที่เก็บได ชนิดของ ขนาด ชวงของขอมูลที่เก็บได การใชงาน ตัวแปร (bit) float 32 1.754 E -38 ถึง 3.402 E +38 เก็บขอมูลชนิดจํานวนทศนิยม ใชพื้นที่ หนวยความจํา 32 bit (4 Byte) โดยเก็บคา ทศนิยม 6 ตําแหนง double 64 2.225 E -308 ถึง 1.797 E เก็บขอมูลชนิดจํานวนทศนิยม ใชพื้นที่ +308 หนวยความจํา 64 bit (8 Byte) โดยเก็บคา ทศนิยม 12 ตําแหนง long double 96 3.4 E -4923 ถึง 1.1 E +4923 เก็บขอมูลชนิดจํานวนทศนิยม ใชพื้นที่ หนวยความจํา 96 bit (16 Byte) โดยเก็บคา ทศนิยม 24 ตําแหนง หมายเหตุ 3.4 E -38 มีคาเทากับ และ 3.4 E +38 มีคาเทากับ การประกาศตัวแปรชนิดจํานวนจริง (เลขทศนิยม) ขอมูลชนิด float รูปแบบ float <ชื่อตัวแปร> [= คาที่กําหนด] , [<ชื่อตัวแปร> = คาที่กําหนด]... ; ตัวอยาง float r , s ; // ประกาศตัวแปรชื่อ r และ s โดยไมกําหนดคาเริ่มตน float x=5.5 , y=100.0 ; // ประกาศตัวแปรชื่อ x และ y โดยมีคาเริ่มตนเปน 5.5 และ 100.0 ขอมูลประเภทตัวอักขระ (Character data type) ขอมูลประเภทนี้จะเปนอักขระหนึ่งตัว ซึ่งเปนไปตามตารางรหัส ASCII ประกอบดวยขอมูลที่ เปนตัวอักษร ตัวเลข และอักขระพิเศษ ขอมูลประภทนี้จะเปนขอมูลประเภทที่มีลําดับ เนื่องจากเรียง ตามลําดับตามตาราง ASCII ขอมูลประเภทนี้จะใชเนื้อที่หนวยความจําในการเก็บขอมูล 1 Byte และตอง เขียนใหอยูในเครื่องหมาย ' ' (single quotation) เชน ‘A’ , ‘b’ จัดทําโดยครูเนาวรัตน ใจการุณ
  • 34. char ขอมูลชนิด char รูปแบบ char <ชื่อตัวแปร> [= คาที่กําหนด] , [<ชื่อตัวแปร> = คาที่กําหนด]... ; ตัวอยาง char ch1 , ch2; // ประกาศตัวแปรชื่อ ch1 และ ch2 โดยไมกําหนดคาเริ่มตน char ans='y' , more = 'n'; // ประกาศตัวแปรชื่อ ans และ more โดยมีคาเริ่มตนเปน 'y' และ 'n' ขอมูลประเภทตรรกะ (Boolean data type) ฺ จะเปนคาทางลอจิก ไดแก จริง (true) กับเท็จ (false ) จะใชในคําสั่งควบคุมเพื่อตัดสินใจการ ทํางาน ในการเรียงลําดับจะใหคาที่เปนเท็จ มากอนคาที่เปนจริง ซึ่งในการเขียนโปรแกรมดวยภาษาซี จะ แทนคาที่เปนเท็จดวย 0 และ แทนคาที่เปนจริงดวย 1 การประกาศตัวแปร ใชการประกาศแบบจํานวนเต็ม (int) หรือ อักขระ (char) เพื่อใหไดคา 0 ซึ่งก็คือ เปนเท็จ ขอมูลชนิดสตริง (string type) ขอมูลประเภทนี้ไมเปนชนิดขอมูลในภาษาซีโดยตรง แตเปนการนําขอมูลชนิดอักขระ (char data type) มาเรียงตอกันในลักษณะของตัวแปรลําดับ (array) ตั้งแตหนึ่งตัวขึ้นไป จนถึง 255 ตัวอักษร โดยอักขระตองอยูในเครื่องหมาย " " (double quotation) ในการเขียนโปรแกรมภาษาซี จะมีการเติม ตัวอักษรวาง (0) เปนตัวสุดทายของสตริงโดยอัตโนมัติ เชน การเก็บสตริงคําวา "C COMPILER" จะ ใชเนื้อที่หนวยความจํา ในการเก็บจํานวน 11 Byte โดยแตละ Byte เปนดังนี้ การประกาศขอมูลชนิด string รูปแบบ char <ชื่อตัวแปร> [เลขจํานวนเต็ม] [= คาเริ่มตนที่กําหนด] , [<ชื่อตัวแปร> [เลขจํานวนเต็ม] [= คาเริ่มตนที่กําหนด] ; ตัวอยาง char st1[15] , st2[20] ; // ประกาศตัวแปรชื่อ st1 และ st2 โดยไมกําหนดคาเริ่มตน char name[15]="Prapan" ; // ประกาศตัวแปรชื่อ name โดยมีคาเริ่มตนเปน "Prapan" ขอมูลชนิดโครงสราง (structure type) ขอมูลชนิดโครงสราง (structure type) คือ โครงสรางขอมูลที่ประกอบดวยสมาชิก หรือตัว แปรที่มีชนิดขอมูลที่แตกตางกัน เก็บรวมกันไวภายใตชื่อของตัวแปรเดียว โดยขอมูลที่เก็บนั้น จะตองมี ความเกี่ยวเนื่องและสัมพันธกัน เชน โครงสราง นักเรียนจะประกอบดวย เลขประจําตัวนักเรียน ชื่อ นามสกุล เพศ วันเดือนปเกิด เปนตน จัดทําโดยครูเนาวรัตน ใจการุณ
  • 35. (pointer type) พอยเตอรเปนชนิดขอมูลประเภทหนึ่ง ที่สรางขึ้นจากชนิดขอมูลแบบพื้นฐานทั่วไป โดยชนิด ขอมูลแบบพอยเตอร จะแตกตางจากขอมูลชนิดพื้นฐานตรงที่ ชนิดขอมูลพื้นฐาน จะเก็บและดึงคาขอมูล จากตัวแปรโดยตรง แตขอมูลชนิดพอยเตอร จะเก็บคาที่อยู (Address) ของตัวแปร และใชคาที่อยูนี้ ชี้ อางอิงไปยังขอมูล ที่เก็บอยูในตัวแปรนั้น อีกที่หนึ่ง เพื่อทําการเก็บและดึงคาขอมูลของตัวแปรโดยอาศัย ที่อยูนั้น ซึ่งอาจสรุปไดวา ขอมูลพื้นฐาน จะเก็บและดึงขอมูลจากตัวแปรโดยตรง แตพอยเตอร จะทํางาน กับตัวแปรโดยออม คือทํางานผานตําแหนงที่อยูของตัวแปรที่มันชี้อยูนั้นเอง จัดทําโดยครูเนาวรัตน ใจการุณ
  • 36. กิจกรรมที่ 5 ชนิดของขอมูล ตอนที่ 1 เขียนตอบลงในชองที่เวนไว 1. ขอมูลชนิด Simple แบงเปนกี่ประเภทอะไรบาง แบงเปน ............ ประเภท คือ ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... 2. ขอมูลชนิดจํานวนเต็ม หมายความวาอะไร ...................................................................................... ......................................................................................................................................................... 3. ขอมูลชนิดจํานวนเต็มแบงออกเปนกี่ชนิด อะไรบาง แบงออกเปน ............ ชนิด คือ ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... ................................................................................................................................................................... 4. จงอธิบายวาทําไมขอมูลชนิด short ที่ใชหนวยความจําขนาด 8 bit จึงเก็บขอมูลได 256 คา ................................................................................................................................................................... .................................................................................................................................................................... .................................................................................................................................................................. 5. ขอมูลตอไปนี้ ใชหนวยความจําขนาดเทาไร และเก็บขอมูลไดในชวงใด ชนิดขอมูล ขนาดหนวยความจํา ชวงขอมูล int short long unsigned int unsigned short unsigned long char จัดทําโดยครูเนาวรัตน ใจการุณ
  • 37. ขอมูลชนิดจํานวนจริง มีลักษณะเดนอยางไร ..................................................................................... 7. จงบอกขนาดหนวยความจําและชวงของขอมูลชนิดจํานวนจริงตามตารางตอไปนี้ ชนิดของขอมูล ขนาดหนวยความจํา ชวงของขอมูล ตําแหนงของทศนิยม float double long double 8. จงเขียนเลขตอไปนี้ใหอยูในรูปของเลขฐานสิบ 8.1. 2.13E+03 เทากับ .......................................................................................................... 8.2. 52.42E-02 เทากับ .......................................................................................................... 8.3. 1.25E+00 เทากับ .......................................................................................................... 9. ขอมูลชนิด char นิยมใชเก็บขอมูลลักษณะใด ................................................................................................................................................................... 10. ขอมูลชนิด char เก็บตัวเลขจํานวนเต็มไดหรือไม อยางไร ................................................................................................................................................................... ................................................................................................................................................................... 11. ขอมูลชนิด boolean เปนขอมูลที่มีลักษณะอยางไร ................................................................................................................................................................... 12. คา 1 และ 0 ของขอมูลชนิด boolean หมายถึงอะไร ................................................................................................................................................................... ................................................................................................................................................................... 13. ขอมูลชนิด string มีลักษณะเดนอยางไร ................................................................................................................................................................... ................................................................................................................................................................... 14. ขอมูลชนิด string ตองเขียนอยูในเครื่องหมาย ...........................อานวา ............................................. สวนขอมูลชนิด char ตองเขียนอยูในเครื่องหมาย ......................อานวา ............................................. ตอนที่ 2 จงบอกชนิดของขอมูลที่กําหนดตอไปนี้ 1. “computer” เปนขอมูลชนิด ....................................................................................... 2. ความจริง/เท็จ เปนขอมูลชนิด ....................................................................................... 3. เกรดเฉลี่ย เปนขอมูลชนิด ....................................................................................... 4. จํานวนนักเรียน เปนขอมูลชนิด ....................................................................................... 5. ‘y’ เปนขอมูลชนิด ....................................................................................... จัดทําโดยครูเนาวรัตน ใจการุณ

Toplist

โพสต์ล่าสุด

แท็ก

แปลภาษาไทย ไทยแปลอังกฤษ โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน lmyour แปลภาษา ห่อหมกฮวกไปฝากป้าmv แปลภาษาอาหรับ-ไทย แปลภาษาอังกฤษเป็นไทย pantip แอพแปลภาษาอาหรับเป็นไทย ค้นหา ประวัติ นามสกุล ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง ไทยแปลอังกฤษ ประโยค Terjemahan เมอร์ซี่ อาร์สยาม ล่าสุด แปลภาษาจีน กรมส่งเสริมการปกครองท้องถิ่น ่้แปลภาษา Google Translate ข้อสอบคณิตศาสตร์ พร้อมเฉลย พร บ ระเบียบบริหารราชการแผ่นดิน ระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 วิธีใช้มิเตอร์วัดไฟดิจิตอล สหกรณ์ออมทรัพย์กรมส่งเสริมการปกครอง ส่วนท้องถิ่น ห่อหมกฮวก แปลว่า Bahasa Thailand Thailand translate mu-x มือสอง รถบ้าน การวัดกระแสไฟฟ้า ด้วย แอมมิเตอร์ การ์ดแคปเตอร์ซากุระ ภาค 4 ก่อนจะนิ่งก็ต้องกลิ้งมาก่อน เนื้อเพลง ก่อนจะนิ่งก็ต้องกลิ้งมาก่อน แคปชั่น พจนานุกรมศัพท์ทหาร ภูมิอากาศ มีอะไรบ้าง สถาบันพัฒนาบุคลากรท้องถิ่น อาจารย์ ตจต อเวนเจอร์ส ทั้งหมด เขียน อาหรับ แปลไทย ใบรับรอง กรมพัฒนาฝีมือแรงงาน Google map Spirited Away 2 spirited away ดูได้ที่ไหน tor คือ จัดซื้อจัดจ้าง กินยาคุมกี่วัน ถึง ปล่อยในได้ ธาตุทองซาวด์เนื้อเพลง บช.สอท.ตำรวจไซเบอร์ ล่าสุด บบบย มิติวิญญาณมหัศจรรย์ ตอนจบ รหัสจังหวัด อําเภอ ตําบล ศัพท์ทางทหาร military words สอบ O หยน