SlideShare a Scribd company logo
1 of 21
Download to read offline
!
                                       บทที่ 1
                               แนะนําภาษา C++ เบองตน
                                                ้ื 

♦!ประวตภาษา C , C++
      ั ิ
         ค.ศ. 1970 มีการพัฒนาภาษา B โดย Ken Thompson ซึ่งทางานบนเครือง DEC PDP-7 ซึ่ง
                                                                         ํ           ่
ทางานบนเครืองไมโครคอมพิวเตอรไมได และยังมีขอจํากัดในการใชงานอยู (ภาษา B สืบทอดมาจาก
   ํ             ่
ภาษา BCPL ซงเขยนโดย Marth Richards)
                     ่ึ ี
         ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ไดสรางภาษา C เพื่อเพิ่มประสิทธิภาพ
ภาษา B ใหดียิ่งขึ้น ในระยะแรกภาษา C ไมเ ปนทนยมแกนกโปรแกรมเมอรโดยทวไปนก
                                                ่ี ิ           ั               ่ั   ั
         ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ไดเ ขยนหนงสอเลมหนงชอวา The C
                                                                       ี        ั ื  ่ึ ่ื 
Programming Language และหนังสือเลมนี้ทาใหบุคคลทั่วไปรูจักและนิยมใชภาษา C ในการเขียน
                                                  ํ
โปรแกรมมากขน           ้ึ
         แตเ ดมภาษา C ใช Run บนเครืองคอมพิวเตอร 8 bit ภายใตระบบปฏิบัติการ CP/M ของ IBM
               ิ                        ่
PC ซึ่งในชวงป ค. ศ. 1981 เปนชวงของการพัฒนาเครืองไมโครคอมพิวเตอร ภาษา C จึงมี
                                                                   ่
บทบาทสําคัญในการนํามาใชบนเครอง PC ตังแตนนเปนตนมา และมีการพัฒนาตอมาอีกหลาย ๆ คาย
                                    ่ื         ้     ้ั
ดงนนเพอกาหนดทิศทางการใชภาษา C ใหเปนไปแนวทางเดียวกัน ANSI (American National Standard
  ั ้ั ่ื ํ
Institute) ไดกาหนดขอตกลงทเ่ี รยกวา 3J11 เพื่อสรางภาษา C มาตรฐานขนมา เรียนวา ANSI C
                   ํ              ี                                      ้ึ
         ค.ศ. 1983 Bjarne Stroustrup แหงหองปฏบตการเบล (Bell Laboratories) ไดพัฒนาภาษา C++
                                                       ิ ั ิ
ขึ้นรายละเอียดและความสามารถของ C++ มีสวนขยายเพิ่มจาก C ที่สาคัญ ๆ ไดแก แนวความคิดของการ
                                                                     ํ
เขียนโปรแกรมแบบกําหนดวตถเุ ปาหมายหรอแบบ OOP (Object Oriented Programming) ซงเปนแนว
                                ั           ื                                              ่ึ 
การเขียนโปรแกรมที่เหมาะกับการพัฒนาโปรแกรมขนาดใหญที่มีความสลับซับซอนมาก มีขอมูลที่ใชใน
โปรแกรมจํานวนมาก จงนยมใชเ ทคนคของการเขยนโปรแกรมแบบ OOP ในการพัฒนาโปรแกรมขนาด
                            ึ ิ           ิ         ี
ใหญในปจจบนน้ี
            ุ ั


♦! อดของภาษา C และ C++
 ข ี
           โปรแกรมเมอรโดยทวไปในปจจบนนยมพัฒนาโปรแกรมดวยภาษา C และ C++ ดวยเหตผล
                         ่ั     ุ ั ิ                                  ุ
ดังนี้
       1. โปรแกรมเมอรสามารถสรางโปรแกรมทีควบคุมการทํางานของคอมพิวเตอรและการโตตอบ
                                                  ่
ระหวางผูใชกับคอมพิวเตอรไดอยางเต็มประสิทธิภาพ เชน การเขียนโปรแกรมในลักษณะที่ผูใชควบคุม
                                                     
โปรแกรมในสภาพแวดลอม ที่เปน Event-Driven คือ ผูใชสามารถควบคุมเหตุการณตาง ๆ ของโปรแกรม

ศิริชัย นามบุรี                                                           แนะนําภาษา C++ เบืองตน
                                                                                            ้
!
!                                              2
ในขณะทํางานไดไมใชผูใชถูกควบคุมโดยโปรแกรม ลักษณะการทางานแบบ Event-Driven ไดแก
                                                               ํ
โปรแกรมททางานในสภาพแวดลอมภายใตระบบปฏิบัติการวินโดวส เปนตน
             ่ี ํ
          2. ภาษา C และ C++ มีประสิทธิภาพของภาษาอยูในระดับที่ใกลเคียงกับภาษา Assembly มากที่
สุด แตมความยดหยนในยดตดกบฮารดแวรคอมพวเตอรหรอ Microprocessor รุนใดรุนหนึง ทาใหสามารถ
       ี         ื ุ   ึ ิ ั           ิ         ื                     ่ ํ
นําโปรแกรมที่สรางขึ้นไปทํางานไดกบเครองคอมพวเตอรไดทกรน
                                  ั ่ื      ิ          ุ ุ
          4. ภาษา C++ สนับสนุนการเขียนโปรแกรมในลักษณะเชิงวัตถุหรือ OOP (Object Oriented
Programming) ซงเปนเทคนคการเขยนโปรแกรมทนยมใชเ ขยนโปรแกรมขนาดใหญทมจํานวนขอมูลใน
                    ่ึ      ิ      ี          ่ี ิ       ี                    ่ี ี
โปรแกรมมาก
          5. โปรแกรมเมอรสวนใหญจะนยมใชภาษา C, C++ พฒนาโปรแกรมประยกตในงานดานตาง ๆ
                                   ิ                     ั                ุ       
เปนจํานวนมากในปจจุบัน เพราะประสิทธิภาพของภาษาที่ไดเปรียบภาษาอื่น ๆ
   


♦!ขนตอนการพฒนาโปรแกรมดวย C++
   ้ั      ั          
           การพฒนาโปรแกรมดวยภาษา C++ มีขั้นตอนในการสรางคลายกับภาษาระดับสูงทั่วไป แตภาษา
                      ั                                                                         
C++ ไดจดเตรียมเครืองมือในการพัฒนาโปรแกรมในสภาพแวดลอมทีรวมไวดวยกันแบบเบ็ดเสร็จ ที่เรียก
             ั                   ่                                           ่    
วา IDE (Integrated Development Environment) คือ ไดนาเครืองมือทีจาเปนทงหมดในการพฒนา
                                                                      ํ ่       ่ ํ  ้ั          ั
โปรแกรมมารวมไว ดวยกัน ทั้ง Editor, Compiler, Link Library และ Help เพื่อความสะดวกของผูใชใน
ขณะทาการพฒนาโปรแกรม
         ํ       ั
           การพฒนาโปรแกรมดวยภาษา C++ มีขั้นตอนตามลําดบ ดังนี้
                        ั                                         ั
           1. ขนตอนการสราง Source File หรอแฟมตนฉบบเปน Text File โดยการใชสวน Editor ของ
                   ้ั                              ื   ั 
IDE (หรอสรางจาก Editor ของโปรแกรมอืน ๆ ก็ได) เมอสรางเสรจ แลวจึงบันทึก Source File ไว โดย
            ื                                   ่              ่ื        ็
กําหนดสวนขยายเปน CPP เชน TEST.CPP (C Plus Plus) โดย Source File นจะตองสรางใหถกตองตาม
                                                                                   ้ี    ู 
โครงสรางและไวยากรณของภาษา C++ ทั้งหมดกอน
           2. การคอมไพล (Compile) คือการใชตวโปรแกรมหรือ Compiler ของ C++ ในการแปล Source
                                                     ั
File ใหเปนไฟลภาษาเครื่องที่เรียกวา Object File หรือ Object Code จะไดไฟลที่มีสวนขยายเปน OBJ
เพิ่มขึ้นมาอีกหนึ่งไฟล เชน TEST.OBJ
                                   
           3. การเชอมโยง (Linking) เปนขนตอนการเชอมโยงไฟลประเภท OBJ เขากับแฟมจากคลัง
                              ่ื                ้ั          ่ื          
(Library) ของภาษา C++ จํานวน 1 แฟมหรือมากกวา ซึ่งไฟลใน Library นจดเตรยมไวโดยผสรางภาษา
                                                                               ้ี ั ี  ู 
C++ ผลก็คือจะไดผลลัพธเปนไฟลที่สามารถนําไปทางาน หรือ Run ไดโดยอสระ หรือทีเ่ รียกวา
                                                           ํ                           ิ
Executable File มีสวนขยายเปน EXE เชน TEST.EXE เปนตน
                                             
           ขันตอนของการสราง Source File , การ Compile และการ Link ทั้งหมดจะดําเนนการไดใน
               ้                                                                            ิ  
IDE ของ C++ ทจดเตรยมไวใหแลวอยางอตโนมติ ทาใหผูเขียนโปรแกรมสามารถทําสรางโปรแกรมดวย
                          ่ี ั ี     ั             ั ํ                                          
ภาษา C++ สะดวกยิ่งขึ้น


ศิริชัย นามบุรี                                                               แนะนําภาษา C++ เบืองตน
                                                                                                ้
!                                                     3
              ! Source File
                                                      C++ Library File
              ! TEST.CPP
                                                  !   iostream.h, conio.h
                    ! Compile

                  ! Object File                                             ! Executable File
                                                          Link
                  ! TEST.OBJ                                                  ! TEST.EXE

                                  ! รูปแสดง ขันตอนการพัฒนาโปรแกรมดวย C++
                                              ้

♦!การใช IDE ของ C++
        ในการพฒนาโปรแกรมดวยภาษา C++ โดยใช Turbo C++ Version 3.0 มี ซงไดจดเตรยมเครอง
              ั                                                     ่ึ  ั ี       ่ื
มือในการพัฒนาโปรแกรมทีเ่ รียกวา IDE มาใหแลว ลักษณะการใชงานใน IDE มีความคลายคลึงกับ
Editor ของภาษาระดับสูงอื่น ๆ เชน BASIC, PASCAL
                               

           การเรยกใช IDE ของ C++ ใหเขาเรียกใชไฟล TC.EXE ดังนี้
                ี
           C:TC>TC            แลวกดแปน Enter หรือ
           C:TCBIN>TC        แลวกดแปน Enter (กรณี TC.EXE อยูใน path C:TCBIN)

           โปรแกรมสภาพแวดลอมของ IDE ดังนี้จอภาพตอไปนี้
                          




ศิริชัย นามบุรี                                                             แนะนําภาษา C++ เบืองตน
                                                                                              ้
!                                               4




       การเปด IDE ของ TURBO C++ version 3.0 ในระบบปฏิบัติการ Windows'95 ในลักษณะหนา
ตางแบบ Graphic ก็สามารถทํางานไดเชนเดียวกัน โดยการเลอกโปรแกรม MS-DOS Prompt จากเมนู
                                                      ื
ของ Windows'95 เมอเครองหมาย prompt ของ DOS ปรากฏขึ้นแลว ก็ใหเปลี่ยน directory ไปยัง path
                   ่ื ่ื
ของ Turbo C++ ดังนี้

           C:>cdtc   [enter]
           C:TC>TC     [enter] เพื่อ run program

       จะปรากฎ IDE ของ Turbo C++ ดังภาพขางลางในรูปแบบ Graphic windows (ถาไมเปนดังภาพ
ให กดแปน Alt+Enter เพื่อสลับการแสดงผลระหวาง Graphic window กับ IDE แบบเดม
                                                                           ิ


ศิริชัย นามบุรี                                                      แนะนําภาษา C++ เบืองตน
                                                                                       ้
!                                                 5




                            ! พิมพ Code ของภาษา C++ ใน
                                     ! Editor นี้




♦!ตัวอยางวิธการเขียนโปรแกรมและ Compile ดวย C++
              ี
       จากตวอยาง Source File ตอไปน้ี ใหทดลองสรางโปรแกรมภาษา C++ โดยใช IDE ของ
           ั                 
Turbo C++ 3.0 ของบรษท Borland International, Inc. (หรออาจใช C++ ของบริษทอืน ๆ )
                    ิ ั                              ื                  ั ่

/*Program : First.CPP
 Written by: Mr.Sirichai
 Date : 10/1997 */
 #include <iostream.h>
 void main(void)
 {
   cout << "My name is Mr.Sirichai Namburi n";
   cout << "Office : Computer Department,RIPA";
 }



ศิริชัย นามบุรี                                                  แนะนําภาษา C++ เบืองตน
                                                                                   ้
!                                                  6
         ขนท่ี 1 สราง Source File ใน Editor โดยการ Click Mouse ในหนาตาง Editor แลวพิมพ รหัส
          ้ั                                                            
คําสั่งของภาษา C++ ตามตัวอยางใหถูกตอง
         ขนท่ี 2 บันทึกแฟม Source File โดยใชคาสั่งเมนู File, Save เลือกหรือพิมพชื่อไดรฟและ
          ้ั                                    ํ
ไดเรกทอรี่ จากนั้นพิมพชื่อไฟล First.CPP แลว Click ปุมคาสั่ง OK หรือใชฟงกชันคีย F2 เพื่อสั่ง
                                                               ํ
บันทึกแฟมก็ได (ถาตองการเขยนเปนภาษา C ใหบันทึกเปนไฟลเปนประเภท C เชน First.C)
                             ี                                              
         ขนท่ี 3 ใชคาสั่งสั่ง Run, Run หรือ Ctrl+F9 เพอทาการ Compile , Link และทดลอง Run
          ้ั          ํ                                   ่ื ํ
โปรแกรมทีสรางขึนเพือทํางาน จากนั้นกดแปน Alt+F5 เพอดผลการทํางานของโปรแกรมในหนาตาง
             ่     ้ ่                                       ่ื ู                              
ผลลัพธ (User Screen)
         ผลการทํางานจากโปรแกรม หรอผลการ RUN ไดดงน้ี
                                       ื               ั

           My name is Mr.Sirichai Namburi
           Office : Computer Department,RIPA

       ขนท่ี 4 กรณีมีขอผิดพลาด IDE ของ C++ จะไมสามารถทําการ Compile ได จะแจงขาวสารขอผด
        ้ั                                                                            ิ
พลาดไวในกรอบหนาตาง Message จะตองแกไขใหถูกตองกอน แลวจึงดําเนนการในขนท่ี 3 ใหม
                                                                    ิ       ้ั


♦!ครงสรางของโปรแกรม C++
 โ
           การเขียนโปรแกรมดวย C++ มีโครงสรางของโปรแกรมพืนฐานดังตัวอยาง
                                                          ้

/*Program : First.CPP
 Written by: Mr.Sirichai                                1. หมายเหตุหรือคําอธิบาย (comments)
 Date : 10/1997 */
 #include <iostream.h>                                  2. Preprocessor, Directive, header file
 void main()                                                     3. Function main()
 {
   cout << "My name is Mr.Sirichai Namburi n";           4. Statement ของคําสั่งอยูใน block ของ
   cout << "Office : Computer Department,RIPA";     เครืองหมาย{ …. }แตละ Statement จบดวย ;
                                                        ่                                     
 }

       สวนประกอบเบื้องตนของ C++ มีดังนี้
       1. Comments or Remark หมายถงสวนทเ่ี ปนการอธบายหรอหมายเหตในโปรแกรม เขียน
                                           ึ      ิ       ื        ุ
อธิบายไวในเครื่องหมาย /* ………*/ หรอเขยนตามหลงเครองหมาย // ก็ได ในขณะที่แปล Compiler
                                    ื ี        ั ่ื
ของ C++ จะไมนาไปแปลดวย แตตองเขยน Comments อยูภายในเครื่องหมายใหถูกตอง โดยที่ /*…..*/
                 ํ              ี

ศิริชัย นามบุรี                                                               แนะนําภาษา C++ เบืองตน
                                                                                                ้
!                                          7
มักใชกับ Comment หลาย ๆ บรรทด สวน // ใชกับการ Comments ตามหลัง Statement เปนสวนใหญ
                                  ั                                            
เชน
  
         /*Program : First.CPP
          Written by: Mr.Sirichai                               หมายเหตุหรือคําอธิบาย
         Date : 10/1997 */
           หรือ
           cout << "My name is Mr.Sirichai Namburi n";      // display text to screen

           2. #include <iostream.h> บรรทัดทีขนตนดวย # นีจะตองมีเสมอในทุกโปรแกรม เรยกวา
                                            ่ ้ึ          ้                          ี 
preprocessor เรยกคําวา include ทตามเครองหมาย # นีวา directive และชื่อไฟลที่อยูในเครื่องหมาย
                    ี                                  ่ี  ่ื         ้
<…..> (จะใชเ ครองหมาย “……” แทนก็ได) เรยกวา header file หรือ include file ซึ่งเปนไฟลที่เก็บไว
                        ่ื                                      ี 
ในคลังคาสั่ง (Library File) ของ C++
          ํ
                    ขอสงเกต การเขียน preprocessor directive จะตองเขยนรายการละ 1 บรรทด และไมตอง
                            ั                                             ี               ั
          มเี ครองหมาย ; ที่ทายประโยค
                 ่ื
                    #include <iostream.h> หมายถึง การสั่งให Compiler นําสิ่งที่อยูในไฟลที่กําหนดชือมา
                                                                                                     ่
ให คือไฟล iostream.h มารวมกับ source file ขณะทาการ link เพอใหได Executable file นนหมาย
                                                                    ํ        ่ื                ่ั
ความวา ในโปรแกรมทเ่ี ราสรางขน ไดมีการเรียกใชฟงกชันที่ถูกเก็บไวใน Header File นัน
                                          ้ึ                                           ้
          3. void main() เปนการเรยกใชฟงกชนหลักของโปรแกรมคอ ฟงกชัน main() ซึ่งจะตองมีชื่อ
                                                     ี   ั                   ื
ฟงกชันนี้เสมอ ฟงกชัน main() เปนฟงกชันหลัก จะประกอบไปดวยวงเล็บเปด { เปนการเริมตนภายในมี
                                                                                              ่
การประกาศตัวแปร มีประโยคคําสั่งของภาษา C++ มีชื่อฟงกชันอื่น ๆ ที่ผูเขียนสรางขึ้นแลวเรียกใชภาย
ในฟงกชัน main() แลวจบฟงกชันดวยวงเล็บปด }
                    คําวา void เปนชอ ประเภทขอมล(data type) ที่ใหคาวาง จะทําใหฟงกชันไมมีการสงคา
                                               ่ื             ู
ใด ๆ กลับไปยังชื่อฟงกชันที่ถูกเรียกใช ทั้งนี้ เนื่องจากใน C++ เมื่อมีการเรียกใชฟงกชันใดฟงกชันหนึ่ง
เมื่อฟงกชันทํางานเสรจแลว จะตองสงคาคืนกลับมายังจุดที่เรียกใชชื่อฟงกชันเสมอ เพื่อไมใหสงคืนคาใด
                               ็ 
ๆ กลับมา จึงใชคาวา void เพื่อกําหนด main() ใหเปนฟงกชันที่ไมตองคืนคากลับมา ณ จุดเรียกใชหรือ
                      ํ
เปนฟงกชนประเภทไมมคานนเอง
       ั                      ี  ่ั
          4. cout << "My name is Mr.Sirichai Namburi n";
               cout << "Office : Computer Department,RIPA";
          เปนสวนของประโยคคาสั่งหรือ Statement ในภาษา C++ ซึ่งตองเขียนใหถูกตองตามไวยากรณ
                                             ํ
ของภาษา ทกประโยคตองจบดวยเครอง semicolon (;) เสมอ สําหรบคําวา cout เปน object ซึ่งถูกเก็บไว
               ุ                                 ่ื                      ั         
ในไฟล iostream.h ดงนนจงตองกาหนดชื่อไฟล iostream.h ไวในสวนของ preprocessor directive ดวย
                             ั ้ั ึ  ํ                                   



ศิริชัย นามบุรี                                                                  แนะนําภาษา C++ เบืองตน
                                                                                                   ้
!                                                   8
           header file ที่สามารถใชรวมกับ #include ใน C++ เพื่อใหสามารถเรียกใชคาสั่งหรือฟงกชันตาง
                                                                                  ํ
ๆ ทผใชตองการได ไดแกรายชื่อไฟลในตารางตอไปนี้ โดยกอนที่จะเรียกใช header file ใดนน ผูใชจะ
    ่ี ู                                                                                  ้ั
ตองตรวจสอบกอนวาฟงกชันที่ตองเรียกใชถูกสรางไวใน header file ใด เชน ถามีการเรียกใชฟงกชัน
                                                                            
getch() ในโปรแกรม จะตองเขียน preprocessor directive เรียกใช header file ที่ชื่อ conio.h เนืองจาก
                                                                                                ่
ฟงกชัน getch() ถูกเก็บไวในไฟล conio.h ซึ่งเปนคลังคําสั่ง (Library) ของ C++ มีรูปแบบการเรียกใช
ดังนี้
           #include <conio.h>

ตาราง แสดงรายชื่อ Header file ใน C++ และรายละเอียดกลุมฟงกชันที่เรียกใชไดในแตละ herder file
  Header File                       Groups of Functions in Header file
    alloc.h         Declares memory management functions (allocation, deallocation, etc.).
    assert.h        Defines the assert debugging macro.
    Bcd.h           Declares the C++ class bcd and the overloaded operators for bcd and bcd
                    math functions.
    Bios.h          Declares various functions used in calling IBM-PC ROM BIOS routines.
    complex.h       Declares the C++ complex math functions.
    Conio.h         Declares various functions used in calling the DOS console I/O routines.
    ctype.h         Contains information used by the character classification and character
                    conversion macros.
    Dir.h           Contains structures, macros, and functions for working with directories
                    and path names.
    Direct.h        Defines structures, macros, and functions for working with directories and
                    path names.
    Dirent.h        Declares functions and structures for POSIX directory operations.
    Dos.h           Defines various constants and gives declarations needed for DOS and
                    8086-specific calls.
    Errno.h         Defines constant mnemonics for the error codes.
    Fcntl.h         Defines symbolic constants used in connection with the library routine
                    open.
    Float.h         Contains parameters for floating-point routines.
    fstream.h       Declares the C++ stream classes that support file input and output.

ศิริชัย นามบุรี                                                                แนะนําภาษา C++ เบืองตน
                                                                                                 ้
!                                                9
     Header File                      Groups of Functions in Header file
    generic.h      Contains macros for generic class declarations.
    graphics.h     Declares prototypes for the graphics functions.
     io.h          Contains structures and declarations for low-level input/output routines.
    iomanip.h      Declares the C++ streams I/O manipulators and contains macros for
                   creating parameterized manipulators.
    iostream.h     Declares the basic C++ (version 2.0) streams (I/O) routines.
    Limits.h       Contains environmental parameters, information about compile-time
                   limitations, and ranges of integral quantities.
    locale.h       Declares functions that provide country- and language-specific
                   information.
    malloc.h       Memory management functions and variables.
    math.h         Declares prototypes for the math functions, defines the macro
                   HUGE_VAL, and declares the exception structure used by matherr.
    mem.h          Declares the memory-manipulation functions. (Many of these are also
                   defined in string.h.)
    memory.h       Memory manipulation functions.
    new.h          Access to operator new and newhandler.
    process.h      Contains structures and declarations for the spawn... and exec... functions.
    search.h       Declares functions for searching and sorting.
    setjmp.h       Defines a type used by longjmp and setjmp.
    share.h        Defines parameters used in functions that use file-sharing.
    signal.h       Defines constants and declarations for signal and raise.
    stdarg.h       Defines macros used for reading the argument list in
                   functions declared to accept a variable number of arguments.
    stddef.h       Defines several common data types and macros.
    stdio.h        Defines types and macros needed for the Standard I/O Package
                   defined in Kernighan and Ritchie and extended under UNIX
                   System V. Defines the standard I/O predefined streams stdin, stdout,
                   stdprn, and stderr, and declares stream-level I/O routines.

ศิริชัย นามบุรี                                                              แนะนําภาษา C++ เบืองตน
                                                                                               ้
!                                             10
      Header File                   Groups of Functions in Header file
    stdiostr.h  Declares the C++ (version 2.0) stream classes for use with stdio FILE
                structures.
  stdlib.h      Declares several commonly used routines: conversion
                routines, search/sort routines, and other miscellany.
   stream.h     Declares the C++ (version 1.2) streams (I/O) routines.
  string.h      Declares several string- and memory-manipulation routines.
  strstrea.h    Declares the C++ stream classes for use with byte arrays in memory.
  syslocking.h Definitions for mode parameter of locking function.
  sysstat.h    Defines symbolic constants used for opening and creating files.
  systimeb.h   Declares the function ftime and the structure timeb that ftime returns.
  systypes.h   Declares the type time_t used with time functions.
  time.h        Defines a structure filled in by the time-conversion routines, and a type
                used by other time routines; also provides prototypes for these routines.
  utime.h       Declares the functions utime and the structure utimbuf
  values.h      Defines important constants, including machine dependencies;
                provided for UNIX System V compatibility.
  varargs.h     Defines old style marcos for processing variable argumnet lists.
                Superceded by stdarg.h
! หมายเหตุ ถาตองการทราบวา header file ประกอบดวยฟงกชั่นใดบาง ใหใชคาสัง Help, Index
                                                                                ํ ่
! จากเมนูใน IDE ของภาษา C++ เพื่อคนหารายละเอียดและตัวอยางการใชฟงกชัน
!
♦!อเด็นติฟายเออร (identifier) ใน C++
 ไ
!        ไอเด็นติฟายเออร (identifier) หมายถึง ชื่อที่มีอยูในสวนตาง ๆ ของโครงสรางโปรแกรม C++
                                                                                  
ซึ่งไดแก ชอของ เลเบล (label) คอนสแตนต (constant) แวเรียเบิลหรือตัวแปร (variable) ฟงกชัน
            ่ื
(function) และชนิดของขอมูล (data type)
!        ประเภทของไอเดนตฟายเออร มี 3 ประเภท คือ keyword , standard identifier และ user-defined
                          ็ ิ
identifier มีรายละเอียด ดังนี้
!        1. Keyword เปนชื่อที่มีความหมายและวิธีการใชแนนอน ไดกาหนดไวในภาษา C++ แลว
                                                                          ํ
คอมไพเลอรจะไมยอมใหเราใชชื่อนี้ในลักษณะที่แตกตางไปจากที่กาหนดไว ตัวอยางของ keyword เชน
                                                                  ํ                           
void if else int char float case auto return
ศิริชัย นามบุรี                                                          แนะนําภาษา C++ เบืองตน
                                                                                           ้
!                                                     11
!          2. Standard Identifier หมายถึง ชื่อที่กําหนดขนในคอมไพเลอร ชื่อเหลานี้มีความหมายและวิธี
                                                               ้ึ
ใชตามเงื่อนไขที่คอมไพเลอรกาหนดไว แตเราสามารถเปลี่ยนแปลงวิธีการทางานและเงื่อนไขการใชชื่อ
                                 ํ                                              ํ
เหลานได โดยคอมไพเลอรจะยกเลิกเงื่อนไขเดิมและเปลี่ยนมาใชเงื่อนไขที่เรากําหนดขึ้นใหม standard
      ้ี
identifier สวนใหญจะเปนชื่อฟงกชันที่มีอยูใน C++ เชน abort, abs, arc, ftime, getch, open, rename
                                                             
เปนตน
           3. User-defined identifier หมายถึง ชอทเ่ี รากาหนดความหมายและเงอนไขในการใชขนเองโดย
                                                  ่ื       ํ                 ่ื                 ้ึ
ผูใช แตตั้งกําหนดขึ้นตามกฎเกณฑของ C++ ซึ่งมีรายละเอียดของกฎการตั้งชื่อ ดังนี้
                   - อักขระตัวแรกตองเปนตัวอักษรหรือ underscore ( _ ) จะเปนตัวเลขไมได ตวอกขระตว
                                                                                            ั ั       ั
ตอไปจะเปนตัวอักษร ตัวเลข หรอเครองหมาย _ ก็ได เรียงกันโดยหามมีชองวางภายในชื่อ
                                   ื ่ื
                   - ชื่อหามซากับคียเวิรด (Keywords) ของภาษา C++ เชน main void if
                              ํ้                                      
                   - คอมไพเลอรจะถือวาอักษรพิมพเล็กและพิมพใหญ มีความแตกตางกัน ดังนัน    ้
Identifier ชื่อFIRST_PROGRAM กับ first_program จะถือวาเปนชื่อตางกันและเปนคนละชื่อกัน
                   - ชื่อมีความยาวไมจํากัด แตจะมีความหมายเฉพาะอักขระ 32 ตวแรกเทานน แตควรตง
                                                                                  ั     ้ั          ้ั
ชื่อใหมีความหมายสอดคลองกับวัตถุประสงคการนําชอนนไปใชภายในโปรแกรม เพื่อความสะดวกใน
                                                         ่ื ้ั    
การจดจําในขณะเขยนโปรแกรม
                     ี

♦! นิดของขอมูล(Data Type)
 ช
       ขอมูลใน C++ แบงชนดขอมลออกเปน 2 ประเภท คือ
                            ิ  ู        
       1. Simple data type เปนชนิดขอมูลที่ใชแสดงคาของสิ่งใดสิ่งหนึ่งเพียงรายการเดียว เชน คา
                                                                                           
ความสูง นําหนก จํานวนนกเรยน อุณหภูมิ ระดับคะแนน เปนตน
           ้ ั              ั ี
       2. Structure เปนขอมูลชนิดใชแสดงคาของสิ่งใดสิ่งหนึ่งหลายรายการ เชน ความสูงของนัก
                                                                              
เรยนใน ชั้น ม. 6, อุณหภูมของแตละวันในเดือนตุลาคม, รายชือนักเรียนใน 1 กลุม ตองกําหนดเปนขอมล
  ี                      ิ                               ่                                     ู
ชนิดโครงสรางแบบ อารเรย (array) แบบโครงสราง(structure) หรอแบบยเู นยน(union) เปนตน
                                                             ื          ี
       ขอมูล Simple data type รายละเอียดชนิดของมูลและชวงของขอมูลประเภท Simple data type
แสดงไดดงตารางตอไปน้ี
       ั         




ศิริชัย นามบุรี                                                                 แนะนําภาษา C++ เบืองตน
                                                                                                  ้
!                                                      12
ตาราง แสดงชือชนิดของขอมูล ชวงของคาขอมูลและขนาดหนวยความจําที่ใช
                   ่
       ชนิดขอมูล                   คาตํ่าสุด                 คาสูงสุด             ใชพื้นที่หนวยความจํา
  char                                -128                        127                        1 byte
  unsigned char                         0                         255                          1 byte
  int                               -32,768                     32,767                         2 byte
  unsigned int                          0                       65,535                         2 byte
  short int                         -32,768                     32,767                         2 byte
  long                          -2,147,483,648              2,147,483,647                      4 byte
  unsigned long                         0                   4,294,967,295                      4 byte
  float                             3.4x10-38                  3.4x10+38                       4 byte
  double                           1.7x10-308                 1.7x10+308                       8 byte
  long double                      3.4x10-4932                3.4x10+4932                    10 byte
          หมายเหตุ ชอชนดของขอมลไดแก char, unsigned char , int , unsigned int, short in, long ,
                          ่ื ิ          ู 
unsigned long , float , double , long double เปน keyword ที่นาไปกําหนดประเภทขอมูลที่จะใชใน
                                                                        ํ
โปรแกรม
          •! ตัวอยางโปรแกรม size_mem.cpp เปนตวอยางโปรแกรมแสดงขนาดของหนวยความจําทขอ
                                                       ั                                                ่ี 
                มูลแตละชนิดใชพื้นที่หนวยความจา โดยใช คียเ วิรด sizeof ซึ่งใหคาขนาดหนวยความจําทขอ
                                                   ํ                                                      ่ี 
                มูลชนิดนั้นใช มีหนวยเปน byte
/*Program : size_mem.cpp
  Process : Display size of memory for each simple data type
*/
#include <iostream.h>
#include <conio.h>
void main()
{
   clrscr(); //clear screen in conio.h
   cout<< "Size of char =          "<<sizeof(char)<< " bytes"<<endl;
   cout<< "Size of unsigned char = "<<sizeof(unsigned char)<< " bytes"<<endl;
   cout<< "Size of int =          "<<sizeof(int)<< " bytes"<<endl;
   cout<< "Size of unsigned int = "<<sizeof(unsigned int)<< " bytes"<<endl;
   cout<< "Size of short int = "<<sizeof(short int)<< " bytes"<<endl;
   cout<< "Size of long =          "<<sizeof(long)<< " bytes"<<endl;
   cout<< "Size of unsigned long = "<<sizeof(unsigned long)<< " bytes"<<endl;
   cout<< "Size of float = "<<sizeof(float)<< " bytes"<<endl;
   cout<< "Size of double = "<<sizeof(double)<< " bytes"<<endl;
   cout<< "Size of long double = "<<sizeof(long double)<< " bytes"<<endl;
   getch(); //wait for press any key
}

ศิริชัย นามบุรี                                                                      แนะนําภาษา C++ เบืองตน
                                                                                                       ้
!                                                 13
♦! ารประกาศตวแปร (Variable Declaration) และการกําหนดคาใหตวแปรใน C++
 ก          ั                                          ั
       ตัวแปร (Variables) ในภาษา C++ หมายถึง ชื่อที่กาหนดขนเพอใชเ กบคาของขอมลหรอคาคงท่ี
                                                     ํ     ้ึ ่ื      ็    ู ื 
ประเภทตาง ๆ ในขณะโปรแกรมทํางาน ซงผเู ขยนโปรแกรมตองตงชอตวแปรตามกฎเกณฑการตงชอ
                                          ่ึ ี           ้ั ่ื ั              ้ั ่ื
ประเภท user defined identifier
       การใชตัวแปรในภาษา C++ จะตองมีการประกาศ (Declaration) ชอตวแปรและประเภทของตว
                                                                 ่ื ั               ั
แปร (Data type) ไวกอน จึงจะสามารถนําตัวแปรไปใชในโปรแกรมได มรปแบบการประกาศตวแปรดง
                                                                 ีู             ั     ั
นี้


            Data_type variable_name; หรอื
          ! Data_type variable_name1, variable_name2,varible_name3, … ;



          โดยที่ Data_type คือ ชอของประเภทขอมลของตวแปร ที่สามารถเก็บคาได เชน int, float
                                     ่ื                ู       ั                      
                  variable_name คือ ชื่อของตัวแปรที่ผูใชกาหนดเอง ถาในประเภทนั้นมีมากกวา 1 ตวให
                                                           ํ                                   ั
ใชเ ครองหมาย , แยก และจบประโยคดวยเครื่องหมาย ; (semi-colon)
       ่ื
          การประกาศตวแปรเพอใชในโปรแกรมของ C++ มี 2 ลกษณะ คือ
                        ั       ่ื                           ั
          1. definition คือ เปนการประกาศเพื่อกําหนดความหมาย เปนประโยคคาสั่งที่ประกอบดวย ชื่อ
                                                                            ํ
ประเภทของตวแปร และตัวแปร โดยทั่วไปมักจะประกาศไวตอนตน ๆ ของฟงกชัน หรือโปรแกรม เชน
                ั                                                                                
          #include <iostream.h>
          void main()
          { int number;
            float sales, purchase;                 การประกาศตัวแปรในลักษณะ definition
            char grade;
            …
          }
          2. การประกาศแบบกําหนดคา ณ ตําแหนงทใช หมายถึง การประกาศตัวแปร ณ ตําแหนงท่ี
                                                  ่ี                                       
ตองการใชตวแปรในโปรแกรม ก็จะประกาศพรอมกับหนดคาใหกับตัวแปรทันที ดงตวอยางโปรแกรม
              ั                                                                ั ั 
          ตัวอยางโปรแกรม pos_var.cpp แสดงวิธีการประกาศตัวแปร ณ จุดทีตองการใชในโปรแกรม
                                                                          ่

/*Program : pos_var.cpp
 Process : Show declared varaible at any position in program */
#include <iostream.h>
#include <conio.h>
void main()
ศิริชัย นามบุรี                                                             แนะนําภาษา C++ เบืองตน
                                                                                              ้
!                                               14
{ float sale,price;
  clrscr();
  sale=500.25;
  price=5.25;
  float total=sale*price;                       ประกาศตัวแปร total ณ ตําแหนงทตองการใช
                                                                            ่ี 
  cout<< "Total Sale = "<<total;
  getch();
}

        วิธีการกําหนดคาใหแกตวแปรใน C++ ทําได ดังนี้
                          ั
        1. การใชประโยคคําสงเครองหมายเทากบ (=) โดยกําหนดใหชื่อตัวแปรที่จะใชเก็บคาอยูทางซาย
                              ่ั ่ื       ั
มือของ เครืองหมาย = ตวแปรหรอคาคงทอยทางดานขวาของเครองหมาย ดังเชนตัวอยางโปรแกรมตอ
            ่           ั        ื  ่ี ู              ่ื
ไปนี้
        •! ตัวอยางโปรแกรม variable.cpp แสดงการกําหนดคาคงทใหกบตวแปรในโปรแกรม โดยใช
                                                            ่ี  ั ั
              เครองหมายเทากบ =
                 ่ื        ั

/*Program : variable.cpp
  Process : Display set value of varible */
#include <iostream.h>
#include <conio.h>
void main()
{ int number;            //declaration variable                      การประกาศตัวแปรภายในฟงกชน
                                                                                               ั
main()
   float sales,purchase; //declaration variable
  // set value of variable
  number = 50;
  sales = 5000.75;                                           การกาหนดคาคงที่ใหกับตัวแปร
                                                                  ํ
  purchase = 3500.50;
  clrscr(); // function clear screen from <conio.h>
  //show value from variable
  cout << "Show varlue of variable"<<endl;
  cout << "number = " << number<<endl;
  cout << "sales = " << sales<<endl;
  cout << "purchase = " << purchase;
  getch(); // function getch() for wait to press anykey from <conio.h>
}

          หมายเหตุ กรณเี ปนตวแปรประเภทตวเลข คาคงทีดานขวามือหามมีเครืองหมายวรรคตอนใด ๆ
                            ั         ั           ่                 ่
ทั้งสิ้น ยกเวนจุดทศนิยม สวนตวแปรประเภท char กําหนดคาคงทในเครองหมาย '_' เชน ch = 'A';
                              ั                       ่ี     ่ื            
          2. การกําหนดคาเรมตนใหแกตวแปร เมื่อมีการประกาศใชตัวแปรในลักษณะ definition มีการ
                          ่ิ    ั
กําหนดคาคงที่ใหแกตัวแปรทันที

ศิริชัย นามบุรี                                                             แนะนําภาษา C++ เบืองตน
                                                                                              ้
!                                               15
          •! ตัวอยางโปรแกรม varia2.cpp แสดงการกําหนดคาใหแกตัวแปร number, sales, purchase
               ดวยเครองหมาย = เมือประกาศตัวแปรในโปรแกรม
                     ่ื             ่
/*Program : varia2.cpp
  Process : Display set value of varible */
#include <iostream.h>
#include <conio.h>
void main()
{ int number=500; //declaration and set value variable                      ประกาศตัวแปร
  float sales=500.50,purchase=3500.75; //declaration and set value variable พรอมกําหนดคา
                                                                                          
  clrscr(); // function clear screen from <conio.h>
  //show value from variable
  cout << "Show varlue of variable"<<endl;
  cout << "number = " << number<<endl;
  cout << "sales = " << sales<<endl;
  cout << "purchase = " << purchase;
  getch(); // function getch() for wait to press anykey from <conio.h>
}

         3. การกําหนดคาตัวแปรโดยการรับคาทางแปนพิมพ โดยการใชฟงกชันในการรับขอมูล (Input)
เขาไปเก็บไวในตัวแปร จะกลาวรายละเอียดตอไปในบทที่ 2
       ตัวแปรประเภท Global และ Local
               การประกาศใชตวแปรใน C++ สามารถทําได 2 ลักษณะ คือ
                               ั
               1. Global variable คือ ตัวแปรทีกาหนดหรือประกาศไวนอกฟงกชันใด ๆ ทุกฟงกชัน
                                                ่ํ
สามารถนําตัวแปรประเภท Global ไปใชไดทุกฟงกชัน เพราะเปนลักษณะการประกาศแบบสารธรณะ
               2. Local variable คือ ตัวแปรทีกาหนดหรือประกาศไวในฟงกชันใดฟงกชันหนึ่ง
                                               ่ํ
สามารถนํา
ตัวแปรนั้นไปใชไดเฉพาะในฟงกชันนั้น ๆ เทานน ฟงกชันอื่นไมสามารถนําไปใชได เพราะประกาศใน
                                           ้ั
ลักษณะสวนตัวหรือเฉพาะที่
       หมายเหตุ กรณทมการตงชอตวแปรประเภท Global และ Local ซํากัน จะถือวาเปนตัวแปรคนละ
                      ี ่ี ี ้ั ่ื ั                                 ้
ตวกน เนื่องจากใชพื้นที่ในหนวยความจําในการเก็บขอมูลในตําแหนงที่ตางกัน แตถามีการเรียกใชชื่อตัว
  ั ั
แปร C++ จะนําตัวแปรประเภท Local มาใชกอนเสมอ




           •! ตัวอยางโปรแกรม glo_loc.cpp แสดงการประกาศตวแปรประเภท Global และ Local ใน
                                                        ั
              โปรแกรม

ศิริชัย นามบุรี                                                              แนะนําภาษา C++ เบืองตน
                                                                                               ้
!                                               16
/*Program : glo_loc.cpp
  Process : define global and locat variable */
  #include <iostream.h>
  #include <conio.h>
 char grade; //defined global variable                ประกาศตัวแปรประเภท Global Variable
  void main()
  { int midterm,final,total; //defined local variable in function main()     ประกาศตัวแปรประเภท
Local
    clrscr();                                                                Variable ในฟงกชัน
main()
    midterm = 30;
    final=50;
    total=midterm+final;
    grade='A';
    cout<< "You get total score "<<total<<" And get grade = " <<grade;
    getch();
  }

♦! ารกําหนดตัวแปรคงที่(Constant)
 ก
         ตัวแปรคงที่หรือคอนสแตนต (Constant) หมายถึง ตัวแปรที่เก็บคาคงที่ที่ไมสามารถเปลี่ยนแปลง
ได การกาหนดคอนสแตนต มีจุดประสงคเพื่อปองกันมิใหมีการเปลี่ยนแปลงคาของตัวแปรนั้นในขณะ
            ํ
ทางาน สามารถกาหนดไดทั้งในลักษณะที่เปน Global และ Local รูปแบบการกาหนดคาคอนสแตนต ใช
  ํ               ํ                                                        ํ
คําวา const นําหนาประเภทขอมลและชอคอนสแตนต ดังนี้
                           ู     ่ื

           const ชนิดขอมูล ชอคอนสแตนต = คาคงที่;
                             ่ื

           ตัวอยางเชน
           const int Day = 7;
           const int month = 12;
           const float PI = 3.1418926;
           const float Amount = 1.0E+2; // คือ 1.0 * 102
           const float Rate = 1E-3; // คือ 1 * 10-3
           const char name = 'A'; // ใหคารหส ASCII ของ A คือ 65
                                         ั
           const char ch = 'B'; // ใหคารหส ASCII ของ B คือ 66
                                      ั

           •! ตัวอยางโปรแกรม contst.cpp แสดงการกําหนดและการใช constant ในโปรแกรม มราย
                                                                                    ี
              ละเอียด ดังนี้

ศิริชัย นามบุรี                                                           แนะนําภาษา C++ เบืองตน
                                                                                            ้
!                                             17
/*Program : const.cpp
 Process : Display constant in program
*/
#include <iostream.h>
#include <conio.h>
const float rate = 0.05; // Global constant

void main()
{ const float tax=0.03; //Local constant
  float sales,income,total_tax;
  clrscr();
  sales = 8500.50;
  income = sales*rate;
  total_tax=income*tax;
  cout<< "Income = "<< income <<endl;
  cout<< "Total tax = "<< total_tax <<endl;
  getch();
}

♦! ารดําเนนการทางคณตศาสตร (Arithmetic Operations)
 ก        ิ        ิ
       ในการคํานวณทางคณิตศาสตรของภาษา C++ มีการใชเครื่องหมายสําหรบการคานวณ ดังนี้
                                                                   ั    ํ
ตาราง แสดงเครองหมายคานวณทางคณิตศาสตรใน C++
                ่ื    ํ
      ตัวดําเนินการ           ความหมาย                  ตัวอยาง          ผลลัพธ
             -                  การลบ                     10-5               5
             +                  การบวก                   10+5               15
             *                  การคูณ                    10*5              50
              /                 การหาร                    10/5               2
            %             การหารคดเฉพาะเศษ
                                   ิ                      9%2                1
             --            การลดคาครั้งละ 1          --x หรือ x--         x=x-1
            ++             การเพิ่มคาครั้งละ 1      ++x หรือ x++         x=x+1
            +=          การบวกสะสมในตัวแปร               y+=x             y=y+x
            -=            การลบคาจากตัวแปร               y-=x             y=y-x
            *=            การคูณคาจากตัวแปร             y*=x             y=y*x
            /=             การหารจากตัวแปร                y/=x             y=y/x
           %=           การหารคิดเศษจากตัวแปร            y%=x             y=y%x
ตาราง แสดงลําดับการประมวลผล (Precedence) ของเครองหมายคณตศาสตร
                                                 ่ื        ิ
     เครองหมายคณตศาสตร
        ่ื          ิ                ลําดับการประมวลผล               หมายเหตุ

ศิริชัย นามบุรี                                                    แนะนําภาษา C++ เบืองตน
                                                                                     ้
!                                                 18
   ()                                                  1                  ถาเครื่องหมายมีลําดับการ
   ++, -- (ใชแบบ prefix)                              2                  ประมวลผลระดับเดียวกันให
   - (เครองหมายหนาตวเลข)
          ่ื            ั                             3                  ดําเนินการจากซายไปขวา
   */%                                                 4
   +-                                                  5
   += -= *= /= %=                                      6
          ขอสงเกต การใชโอเปอเรเตอร (Operator) ในการเพิ่มคา(increment) ++ และลดคา(decrement)
                ั           
-- มีขอควรสังเกต ดังนี้
          1. การเพิ่มคาขึ้นทีละ 1 ไดแกการเพิ่มคาใหแกตัวแปรครั้งละ +1 เชน
                   count = count +1;
                   count +=1;
                   count++;
                   ++count;
                   สําหรบ ++ มีวิธีการใช 2 วิธี คือ แบบ prefix และ แบบ postfix มีขอแตกตางกัน ดัง
                         ั
ตวอยางตอไปนเ้ี ปนการใช ++ แบบ prefix
  ั               
                   price = 5;
                   volume = 3;
                   value = price * ++volume; // คาของ value คือ 20 คาของ volume คือ 4
                   จากประโยคคําสั่งนี้ คาของ volume จะเพิ่มขึ้น 1 กอนทจะนําไปคูณกับ price แลวนํา
                                                                       ่ี                          
ไปเก็บไวในตัวแปร value
          ตอไปน้ี ลองพิจารณาการใช ++ แบบ postfix
             
                   price = 5;
                   volume = 3;
                   value = price * volume++; // คาของ value คือ 15 คาของ volume คือ 4
                   จากประโยคคําสั่งนี้ คาของ volume คือ 3 จะถกนําไปคูณกับ price คือ 5 กอนแลวนํา
                                                                 ู
ไปเก็บไวในตัวแปร value จากนันจึงเพิมคาของ volume อก 1 จึงมีคาเปน 4
                                   ้      ่                   ี
          2. การลดคาลงทีละ 1 ไดแกการลดคาของตัวแปรครั้งละ -1 เชน     
                   count = count -1;
                   count -=1;
                   count--;
                   --count;
                   สําหรบ -- มีวิธีการใช 2 วิธี คือ แบบ prefix และ แบบ postfix มขอแตกตางการใชเ ชน
                           ั                                                         ี              
เดียวกับการใช ++
ศิริชัย นามบุรี                                                                แนะนําภาษา C++ เบืองตน
                                                                                                 ้
!                                               19


♦! ารเปลยนแปลงชนดขอมลในนพจนคณตศาสตร
 ก      ่ี      ิ  ู   ิ  ิ
              ในนพจนทางคณตศาสตรเ มอมการใชเ ครองหมายคานวณระหวางขอมูลหรือตัวแปรทีมชนิด
                  ิ       ิ           ่ื ี      ่ื         ํ                      ่ ี
(Data Type) แตกตางกัน เชน ชนด float บวกกับ ชนด int ใน C++ จะปรับประเภทขอมูลของผลลัพธที่
                            ิ                 ิ
ไดจากการคานวณใหเปนชนิดขอมูลทีมอนดับสูงกวาโดยอัตโนมัติ ดังแสดงอันดับความสําคญของชนด
            ํ                    ่ ีั                                           ั      ิ
ขอมลในตารางตอไปน้ี
  ู            
ตาราง แสดงอันดับความสําคัญ(Precedence) ของขอมลประเภท Simple Data Type ชนิดตาง ๆ
                                              ู
            ชนิดขอมูล          อนดบ
                                   ั ั                          ตวอยาง
                                                                  ั
      long double                สูงสุด       int * long = long
      double                                  char + int = int
      float                                   int + float = float
      long                                    int * double = double
      int                                     float + double = double
      char                       ตําสุด
                                    ่         long + long dobule = long double


♦!ครองหมายเปรยบเทยบและตรรก (Comparison and Logical Operators)
 เ ่ื        ี ี
           การเปรยบเทยบ หมายถึง การหาวาเมอนําคาที่อยูทางดานซายของเครื่องหมายกับคาที่อยูทางขวา
                 ี ี                       ่ื
ของเครองหมายเปรยบเทยบ มาเปรียบเทียบกันแลวจะไดผลลัพธเปนจริงหรือเท็จ ซึ่งในแตละกรณีเมื่อ
        ่ื          ี ี
เปรียบเทียบกันแลว จะไดคาเปนจริงหรือเปนเท็จเพียงคาเดียวเทานัน โดย C++ จะใชคา 0 แทนเทจ และ
                                                                ้                            ็
1 แทน จริง และมีลาดับในการประมวลผลจากซายไปขวา ถาไมมีวงเล็บกํากับไว มีเครืองหมายเปรียบ
                     ํ                                                               ่
เทียบดังนี้

ตาราง แสดงเครื่องหมายเปรียบเทียบใน C++
        เครืองหมาย
            ่                       ความหมาย                     ตวอยาง
                                                                  ั                   ผลลัพธ
               >                      มากกวา                       5>1               1 (จริง)
               <                     นอยกวา                       5<1               0 (เทจ)็
              ==                      เทากับ                     5==1                0 (เทจ)
                                                                                           ็
              !=                     ไมเทากับ                     5!=1              1 (จริง)
              >=                มากกวาหรือเทากับ                5>=5                1 (จริง)
              <=                นอยกวาหรือเทากับ               5<=5                1 (จริง)



ศิริชัย นามบุรี                                                             แนะนําภาษา C++ เบืองตน
                                                                                              ้
!                                             20
        การหาคาลอจิก (Logic) หมายถึง การหาผลลัพธจาก Logic operator ซึ่งจะใหคาผลลัพธออกมา
เปนจริงหรือเท็จกรณีใดกรณีหนึงเทานัน เครืองหมายทีเ่ ปน Logical operator ใน C++ แสดงไวในตาราง
                             ่      ้     ่
ดังนี้
ตาราง แสดงเครองหมายเปรยบเทยบเชงตรรก (Logical operator) ใน C++
                    ่ื     ี ี ิ
            เครืองหมาย
                ่                 ความหมาย                  ตวอยาง
                                                              ั                    ผลลัพธ
                  &&                  AND               (5==5)&&(5>3)              1 (จริง)
                   ||                  OR                 (5<1)||(5>3)             1 (จริง)
                   !                  NOT                   !(5==5)                0 (เทจ)
                                                                                        ็

ตาราง แสดงคาเปนจรงและเทจในกรณตาง ๆ ทเ่ี ปนไปไดทงหมดของ AND, OR , NOT โดยกําหนดให
                  ิ           ็          ี         ้ั
A       และ B คือประโยคตรรกทีใหคาจริงหรือเท็จ
                                    ่ 
               A                       B               !A               A&&B          A||B
              จรง  ิ                  จรง   ิ        เทจ   ็             จรง  ิ       จรง  ิ
              จริง                    เท็จ           เท็จ                เท็จ         จริง
              เท็จ                    จริง           จริง                เท็จ         จริง
              เทจ็                    เทจ็           จรง       ิ         เทจ็         เทจ็
        •! ตัวอยางโปรแกรม logic_tst.cpp เปนการแสดงคาตรรกทไดจากการเปรยบเทยบดวยเครอง
                                                               ่ี            ี ี         ่ื
             หมายเปรยบเทยบและ ตัวดําเนนการตรรก โดยคา 0 แทน เทจ และ 1 แทนจรง ดังนี้
                       ี ี                     ิ                      ็             ิ
/*Program : logic_tst.cpp
 Process : Test logical value of expression
*/
#include <iostream.h>
#include <conio.h>

void main()
{ clrscr();
  cout<< "Display Logic Operation :a";
  cout<< "nLogic value of expression (3==5) :" <<(3==5);
  cout<< "nLogic value of expression (5==5) :" <<(5==5);
  cout<< "nLogic value of expression (3<=5) :" <<(3<=5);
  cout<< "nLogic value of expression (3>=5) :" <<(3>=5);
  cout<< "nLogic value of expression (3<=5)&&(5>3) :" <<((3<=5)&&(5>3));
  cout<< "nLogic value of expression ((3<=5)&&(3>5)) :" <<((3<=5)&&(3>5));
  cout<< "nLogic value of expression ((3<=5)||(3>5)) :" <<((3<=5)||(3>5));
  cout<< "nLogic value of expression ((8<=5)||(3>=5)) :" <<((8<=5)||(3>=5));
  cout<< "nnValue 1 is true, 0 is false ....press any key";
  getch();
}
ศิริชัย นามบุรี                                                                 แนะนําภาษา C++ เบืองตน
                                                                                                  ้
!                                        21
♦! บบฝกหัดทายบท
 แ
1. จงเขยนโปรแกรมเพอคานวณหาผลลัพธของนิพจนทางคณิตศาสตรตอไปนี้โดยกําหนดใหตวแปร
          ี            ่ื ํ                                                       ั
   A=50 B=30 C=5 D=3 E = 10
   1.1 (A+B)*(E-D)                                  1.6 --D+C+B--
   1.2 ++D+C*E                                      1.7 25*D/5+10
   1.3 (25+A)/C+B                                   1.8 A+B--+D
   1.4 A*=D                                         1.9 C*2+E*5
   1.5 20*C+B+++D/2                                 1.10 (A*2)+B/C-15
2. จงบอกขนาดของหนวยความจาทตวแปรชนดตาง ๆ ตอไปนตองใชในการจองพนทในหนวยความจํา
                                ํ ่ี ั        ิ            ้ี      ้ื ่ี   
   char, int , float, double, long int, long double
3. จงเขยนโปรแกรมเพอหาคาตอบวาประโยคตอไปนีเ้ ปนจริงหรือเท็จ ถากาหนดใหตวแปร
        ี              ่ื    ํ                                        ํ       ั
   A = 20 B=30 C = 2 D = 5 E=50
   3.1 (A>=B) && (A==A)
   3.2 (B+C>A+D)|| (B+C<A+D)&&(D<10)
   3.3 (A==20) && (B>=30)
   3.4 (50==E ) || (!(D<=E)
   3.5 !(D!=5)
   3.6 (B+C+20)!=50
   3.7 C==(D-3)
   3.8 (A/C<=B) && (C+D<=A) || (D>A)
   3.9 (A%C+5)==(E/5-10)
   3.10 A<B&&D<E




ศิริชัย นามบุรี                                                  แนะนําภาษา C++ เบืองตน
                                                                                   ้

More Related Content

What's hot

การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์Patitta Intarasopa
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์benz18
 
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรมภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรมSarocha Makranit
 
24 พงศธร-ปวช.3-7
24 พงศธร-ปวช.3-724 พงศธร-ปวช.3-7
24 พงศธร-ปวช.3-7naraporn buanuch
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซีHathaichon Nonruongrit
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาtyt13
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรมthanapon51105
 

What's hot (13)

การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
ภาษาโปรแกรมคอมพิวเตอร์
ภาษาโปรแกรมคอมพิวเตอร์ภาษาโปรแกรมคอมพิวเตอร์
ภาษาโปรแกรมคอมพิวเตอร์
 
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรมภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
 
หน่วยที่ 4
หน่วยที่ 4หน่วยที่ 4
หน่วยที่ 4
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
24 พงศธร-ปวช.3-7
24 พงศธร-ปวช.3-724 พงศธร-ปวช.3-7
24 พงศธร-ปวช.3-7
 
หน่วยที่ 4
หน่วยที่ 4หน่วยที่ 4
หน่วยที่ 4
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 

Viewers also liked

การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionการใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOKnow Mastikate
 
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableการใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loopการใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 LoopKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureKnow Mastikate
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 ArrayKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOKnow Mastikate
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and soundKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionKnow Mastikate
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo CKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7Know Mastikate
 
C Programming
C ProgrammingC Programming
C ProgrammingWarawut
 

Viewers also liked (20)

Introduction of C++
Introduction of C++Introduction of C++
Introduction of C++
 
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionการใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 condition
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
 
Plan3
Plan3Plan3
Plan3
 
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableการใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variable
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
 
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loopการใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loop
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IO
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and sound
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 function
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo C
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
 
C Programming
C ProgrammingC Programming
C Programming
 

Similar to Lesson1

การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++Naowarat Jaikaroon
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1SubLt Masu
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีnsumato
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์Tanadon Boonjumnong
 
ความเป็นมาของภาษาC
ความเป็นมาของภาษาCความเป็นมาของภาษาC
ความเป็นมาของภาษาCWittaya Kaewchat
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซีrussana
 
04 โครงสร้างโปรแกรมภาษาซี
04 โครงสร้างโปรแกรมภาษาซี04 โครงสร้างโปรแกรมภาษาซี
04 โครงสร้างโปรแกรมภาษาซีpirapongaru
 

Similar to Lesson1 (20)

การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
 
58210401120 งาน 1 ss
58210401120 งาน 1 ss58210401120 งาน 1 ss
58210401120 งาน 1 ss
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
Pawina5 4 20
Pawina5 4 20Pawina5 4 20
Pawina5 4 20
 
Know1 2
Know1 2Know1 2
Know1 2
 
ความเป็นมาของภาษาC
ความเป็นมาของภาษาCความเป็นมาของภาษาC
ความเป็นมาของภาษาC
 
Learn 1
Learn 1Learn 1
Learn 1
 
01 intro
01 intro01 intro
01 intro
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
04 โครงสร้างโปรแกรมภาษาซี
04 โครงสร้างโปรแกรมภาษาซี04 โครงสร้างโปรแกรมภาษาซี
04 โครงสร้างโปรแกรมภาษาซี
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
C
CC
C
 

Lesson1

  • 1. ! บทที่ 1 แนะนําภาษา C++ เบองตน ้ื  ♦!ประวตภาษา C , C++ ั ิ ค.ศ. 1970 มีการพัฒนาภาษา B โดย Ken Thompson ซึ่งทางานบนเครือง DEC PDP-7 ซึ่ง ํ ่ ทางานบนเครืองไมโครคอมพิวเตอรไมได และยังมีขอจํากัดในการใชงานอยู (ภาษา B สืบทอดมาจาก ํ ่ ภาษา BCPL ซงเขยนโดย Marth Richards) ่ึ ี ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ไดสรางภาษา C เพื่อเพิ่มประสิทธิภาพ ภาษา B ใหดียิ่งขึ้น ในระยะแรกภาษา C ไมเ ปนทนยมแกนกโปรแกรมเมอรโดยทวไปนก  ่ี ิ  ั  ่ั ั ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ไดเ ขยนหนงสอเลมหนงชอวา The C ี ั ื  ่ึ ่ื  Programming Language และหนังสือเลมนี้ทาใหบุคคลทั่วไปรูจักและนิยมใชภาษา C ในการเขียน ํ โปรแกรมมากขน ้ึ แตเ ดมภาษา C ใช Run บนเครืองคอมพิวเตอร 8 bit ภายใตระบบปฏิบัติการ CP/M ของ IBM ิ ่ PC ซึ่งในชวงป ค. ศ. 1981 เปนชวงของการพัฒนาเครืองไมโครคอมพิวเตอร ภาษา C จึงมี ่ บทบาทสําคัญในการนํามาใชบนเครอง PC ตังแตนนเปนตนมา และมีการพัฒนาตอมาอีกหลาย ๆ คาย  ่ื ้ ้ั ดงนนเพอกาหนดทิศทางการใชภาษา C ใหเปนไปแนวทางเดียวกัน ANSI (American National Standard ั ้ั ่ื ํ Institute) ไดกาหนดขอตกลงทเ่ี รยกวา 3J11 เพื่อสรางภาษา C มาตรฐานขนมา เรียนวา ANSI C ํ  ี  ้ึ ค.ศ. 1983 Bjarne Stroustrup แหงหองปฏบตการเบล (Bell Laboratories) ไดพัฒนาภาษา C++   ิ ั ิ ขึ้นรายละเอียดและความสามารถของ C++ มีสวนขยายเพิ่มจาก C ที่สาคัญ ๆ ไดแก แนวความคิดของการ ํ เขียนโปรแกรมแบบกําหนดวตถเุ ปาหมายหรอแบบ OOP (Object Oriented Programming) ซงเปนแนว ั  ื ่ึ  การเขียนโปรแกรมที่เหมาะกับการพัฒนาโปรแกรมขนาดใหญที่มีความสลับซับซอนมาก มีขอมูลที่ใชใน โปรแกรมจํานวนมาก จงนยมใชเ ทคนคของการเขยนโปรแกรมแบบ OOP ในการพัฒนาโปรแกรมขนาด ึ ิ ิ ี ใหญในปจจบนน้ี  ุ ั ♦! อดของภาษา C และ C++ ข ี โปรแกรมเมอรโดยทวไปในปจจบนนยมพัฒนาโปรแกรมดวยภาษา C และ C++ ดวยเหตผล  ่ั  ุ ั ิ   ุ ดังนี้ 1. โปรแกรมเมอรสามารถสรางโปรแกรมทีควบคุมการทํางานของคอมพิวเตอรและการโตตอบ ่ ระหวางผูใชกับคอมพิวเตอรไดอยางเต็มประสิทธิภาพ เชน การเขียนโปรแกรมในลักษณะที่ผูใชควบคุม  โปรแกรมในสภาพแวดลอม ที่เปน Event-Driven คือ ผูใชสามารถควบคุมเหตุการณตาง ๆ ของโปรแกรม ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้ !
  • 2. ! 2 ในขณะทํางานไดไมใชผูใชถูกควบคุมโดยโปรแกรม ลักษณะการทางานแบบ Event-Driven ไดแก ํ โปรแกรมททางานในสภาพแวดลอมภายใตระบบปฏิบัติการวินโดวส เปนตน ่ี ํ 2. ภาษา C และ C++ มีประสิทธิภาพของภาษาอยูในระดับที่ใกลเคียงกับภาษา Assembly มากที่ สุด แตมความยดหยนในยดตดกบฮารดแวรคอมพวเตอรหรอ Microprocessor รุนใดรุนหนึง ทาใหสามารถ  ี ื ุ ึ ิ ั   ิ  ื   ่ ํ นําโปรแกรมที่สรางขึ้นไปทํางานไดกบเครองคอมพวเตอรไดทกรน  ั ่ื ิ   ุ ุ 4. ภาษา C++ สนับสนุนการเขียนโปรแกรมในลักษณะเชิงวัตถุหรือ OOP (Object Oriented Programming) ซงเปนเทคนคการเขยนโปรแกรมทนยมใชเ ขยนโปรแกรมขนาดใหญทมจํานวนขอมูลใน ่ึ  ิ ี ่ี ิ ี  ่ี ี โปรแกรมมาก 5. โปรแกรมเมอรสวนใหญจะนยมใชภาษา C, C++ พฒนาโปรแกรมประยกตในงานดานตาง ๆ   ิ  ั ุ    เปนจํานวนมากในปจจุบัน เพราะประสิทธิภาพของภาษาที่ไดเปรียบภาษาอื่น ๆ  ♦!ขนตอนการพฒนาโปรแกรมดวย C++ ้ั ั  การพฒนาโปรแกรมดวยภาษา C++ มีขั้นตอนในการสรางคลายกับภาษาระดับสูงทั่วไป แตภาษา ั   C++ ไดจดเตรียมเครืองมือในการพัฒนาโปรแกรมในสภาพแวดลอมทีรวมไวดวยกันแบบเบ็ดเสร็จ ที่เรียก ั ่ ่  วา IDE (Integrated Development Environment) คือ ไดนาเครืองมือทีจาเปนทงหมดในการพฒนา  ํ ่ ่ ํ  ้ั ั โปรแกรมมารวมไว ดวยกัน ทั้ง Editor, Compiler, Link Library และ Help เพื่อความสะดวกของผูใชใน ขณะทาการพฒนาโปรแกรม ํ ั การพฒนาโปรแกรมดวยภาษา C++ มีขั้นตอนตามลําดบ ดังนี้ ั  ั 1. ขนตอนการสราง Source File หรอแฟมตนฉบบเปน Text File โดยการใชสวน Editor ของ ้ั  ื   ั  IDE (หรอสรางจาก Editor ของโปรแกรมอืน ๆ ก็ได) เมอสรางเสรจ แลวจึงบันทึก Source File ไว โดย ื  ่ ่ื  ็ กําหนดสวนขยายเปน CPP เชน TEST.CPP (C Plus Plus) โดย Source File นจะตองสรางใหถกตองตาม  ้ี    ู  โครงสรางและไวยากรณของภาษา C++ ทั้งหมดกอน 2. การคอมไพล (Compile) คือการใชตวโปรแกรมหรือ Compiler ของ C++ ในการแปล Source ั File ใหเปนไฟลภาษาเครื่องที่เรียกวา Object File หรือ Object Code จะไดไฟลที่มีสวนขยายเปน OBJ เพิ่มขึ้นมาอีกหนึ่งไฟล เชน TEST.OBJ  3. การเชอมโยง (Linking) เปนขนตอนการเชอมโยงไฟลประเภท OBJ เขากับแฟมจากคลัง ่ื  ้ั ่ื  (Library) ของภาษา C++ จํานวน 1 แฟมหรือมากกวา ซึ่งไฟลใน Library นจดเตรยมไวโดยผสรางภาษา ้ี ั ี  ู  C++ ผลก็คือจะไดผลลัพธเปนไฟลที่สามารถนําไปทางาน หรือ Run ไดโดยอสระ หรือทีเ่ รียกวา ํ  ิ Executable File มีสวนขยายเปน EXE เชน TEST.EXE เปนตน  ขันตอนของการสราง Source File , การ Compile และการ Link ทั้งหมดจะดําเนนการไดใน ้ ิ  IDE ของ C++ ทจดเตรยมไวใหแลวอยางอตโนมติ ทาใหผูเขียนโปรแกรมสามารถทําสรางโปรแกรมดวย ่ี ั ี     ั ั ํ   ภาษา C++ สะดวกยิ่งขึ้น ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 3. ! 3 ! Source File C++ Library File ! TEST.CPP ! iostream.h, conio.h ! Compile ! Object File ! Executable File Link ! TEST.OBJ ! TEST.EXE ! รูปแสดง ขันตอนการพัฒนาโปรแกรมดวย C++ ้ ♦!การใช IDE ของ C++ ในการพฒนาโปรแกรมดวยภาษา C++ โดยใช Turbo C++ Version 3.0 มี ซงไดจดเตรยมเครอง ั  ่ึ  ั ี ่ื มือในการพัฒนาโปรแกรมทีเ่ รียกวา IDE มาใหแลว ลักษณะการใชงานใน IDE มีความคลายคลึงกับ Editor ของภาษาระดับสูงอื่น ๆ เชน BASIC, PASCAL  การเรยกใช IDE ของ C++ ใหเขาเรียกใชไฟล TC.EXE ดังนี้ ี C:TC>TC แลวกดแปน Enter หรือ C:TCBIN>TC แลวกดแปน Enter (กรณี TC.EXE อยูใน path C:TCBIN) โปรแกรมสภาพแวดลอมของ IDE ดังนี้จอภาพตอไปนี้  ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 4. ! 4 การเปด IDE ของ TURBO C++ version 3.0 ในระบบปฏิบัติการ Windows'95 ในลักษณะหนา ตางแบบ Graphic ก็สามารถทํางานไดเชนเดียวกัน โดยการเลอกโปรแกรม MS-DOS Prompt จากเมนู ื ของ Windows'95 เมอเครองหมาย prompt ของ DOS ปรากฏขึ้นแลว ก็ใหเปลี่ยน directory ไปยัง path ่ื ่ื ของ Turbo C++ ดังนี้ C:>cdtc [enter] C:TC>TC [enter] เพื่อ run program จะปรากฎ IDE ของ Turbo C++ ดังภาพขางลางในรูปแบบ Graphic windows (ถาไมเปนดังภาพ ให กดแปน Alt+Enter เพื่อสลับการแสดงผลระหวาง Graphic window กับ IDE แบบเดม ิ ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 5. ! 5 ! พิมพ Code ของภาษา C++ ใน ! Editor นี้ ♦!ตัวอยางวิธการเขียนโปรแกรมและ Compile ดวย C++ ี จากตวอยาง Source File ตอไปน้ี ใหทดลองสรางโปรแกรมภาษา C++ โดยใช IDE ของ ั   Turbo C++ 3.0 ของบรษท Borland International, Inc. (หรออาจใช C++ ของบริษทอืน ๆ ) ิ ั ื ั ่ /*Program : First.CPP Written by: Mr.Sirichai Date : 10/1997 */ #include <iostream.h> void main(void) { cout << "My name is Mr.Sirichai Namburi n"; cout << "Office : Computer Department,RIPA"; } ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 6. ! 6 ขนท่ี 1 สราง Source File ใน Editor โดยการ Click Mouse ในหนาตาง Editor แลวพิมพ รหัส ้ั   คําสั่งของภาษา C++ ตามตัวอยางใหถูกตอง ขนท่ี 2 บันทึกแฟม Source File โดยใชคาสั่งเมนู File, Save เลือกหรือพิมพชื่อไดรฟและ ้ั ํ ไดเรกทอรี่ จากนั้นพิมพชื่อไฟล First.CPP แลว Click ปุมคาสั่ง OK หรือใชฟงกชันคีย F2 เพื่อสั่ง ํ บันทึกแฟมก็ได (ถาตองการเขยนเปนภาษา C ใหบันทึกเปนไฟลเปนประเภท C เชน First.C)   ี   ขนท่ี 3 ใชคาสั่งสั่ง Run, Run หรือ Ctrl+F9 เพอทาการ Compile , Link และทดลอง Run ้ั ํ ่ื ํ โปรแกรมทีสรางขึนเพือทํางาน จากนั้นกดแปน Alt+F5 เพอดผลการทํางานของโปรแกรมในหนาตาง ่ ้ ่ ่ื ู   ผลลัพธ (User Screen) ผลการทํางานจากโปรแกรม หรอผลการ RUN ไดดงน้ี ื ั My name is Mr.Sirichai Namburi Office : Computer Department,RIPA ขนท่ี 4 กรณีมีขอผิดพลาด IDE ของ C++ จะไมสามารถทําการ Compile ได จะแจงขาวสารขอผด ้ั    ิ พลาดไวในกรอบหนาตาง Message จะตองแกไขใหถูกตองกอน แลวจึงดําเนนการในขนท่ี 3 ใหม ิ ้ั ♦!ครงสรางของโปรแกรม C++ โ การเขียนโปรแกรมดวย C++ มีโครงสรางของโปรแกรมพืนฐานดังตัวอยาง ้ /*Program : First.CPP Written by: Mr.Sirichai 1. หมายเหตุหรือคําอธิบาย (comments) Date : 10/1997 */ #include <iostream.h> 2. Preprocessor, Directive, header file void main() 3. Function main() { cout << "My name is Mr.Sirichai Namburi n"; 4. Statement ของคําสั่งอยูใน block ของ cout << "Office : Computer Department,RIPA"; เครืองหมาย{ …. }แตละ Statement จบดวย ; ่  } สวนประกอบเบื้องตนของ C++ มีดังนี้ 1. Comments or Remark หมายถงสวนทเ่ี ปนการอธบายหรอหมายเหตในโปรแกรม เขียน ึ   ิ ื ุ อธิบายไวในเครื่องหมาย /* ………*/ หรอเขยนตามหลงเครองหมาย // ก็ได ในขณะที่แปล Compiler ื ี ั ่ื ของ C++ จะไมนาไปแปลดวย แตตองเขยน Comments อยูภายในเครื่องหมายใหถูกตอง โดยที่ /*…..*/ ํ   ี ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 7. ! 7 มักใชกับ Comment หลาย ๆ บรรทด สวน // ใชกับการ Comments ตามหลัง Statement เปนสวนใหญ ั   เชน  /*Program : First.CPP Written by: Mr.Sirichai หมายเหตุหรือคําอธิบาย Date : 10/1997 */ หรือ cout << "My name is Mr.Sirichai Namburi n"; // display text to screen 2. #include <iostream.h> บรรทัดทีขนตนดวย # นีจะตองมีเสมอในทุกโปรแกรม เรยกวา ่ ้ึ ้ ี  preprocessor เรยกคําวา include ทตามเครองหมาย # นีวา directive และชื่อไฟลที่อยูในเครื่องหมาย ี ่ี ่ื ้ <…..> (จะใชเ ครองหมาย “……” แทนก็ได) เรยกวา header file หรือ include file ซึ่งเปนไฟลที่เก็บไว ่ื ี  ในคลังคาสั่ง (Library File) ของ C++ ํ ขอสงเกต การเขียน preprocessor directive จะตองเขยนรายการละ 1 บรรทด และไมตอง  ั  ี ั มเี ครองหมาย ; ที่ทายประโยค ่ื #include <iostream.h> หมายถึง การสั่งให Compiler นําสิ่งที่อยูในไฟลที่กําหนดชือมา ่ ให คือไฟล iostream.h มารวมกับ source file ขณะทาการ link เพอใหได Executable file นนหมาย ํ ่ื  ่ั ความวา ในโปรแกรมทเ่ี ราสรางขน ไดมีการเรียกใชฟงกชันที่ถูกเก็บไวใน Header File นัน  ้ึ ้ 3. void main() เปนการเรยกใชฟงกชนหลักของโปรแกรมคอ ฟงกชัน main() ซึ่งจะตองมีชื่อ  ี   ั ื ฟงกชันนี้เสมอ ฟงกชัน main() เปนฟงกชันหลัก จะประกอบไปดวยวงเล็บเปด { เปนการเริมตนภายในมี ่ การประกาศตัวแปร มีประโยคคําสั่งของภาษา C++ มีชื่อฟงกชันอื่น ๆ ที่ผูเขียนสรางขึ้นแลวเรียกใชภาย ในฟงกชัน main() แลวจบฟงกชันดวยวงเล็บปด } คําวา void เปนชอ ประเภทขอมล(data type) ที่ใหคาวาง จะทําใหฟงกชันไมมีการสงคา  ่ื  ู ใด ๆ กลับไปยังชื่อฟงกชันที่ถูกเรียกใช ทั้งนี้ เนื่องจากใน C++ เมื่อมีการเรียกใชฟงกชันใดฟงกชันหนึ่ง เมื่อฟงกชันทํางานเสรจแลว จะตองสงคาคืนกลับมายังจุดที่เรียกใชชื่อฟงกชันเสมอ เพื่อไมใหสงคืนคาใด ็  ๆ กลับมา จึงใชคาวา void เพื่อกําหนด main() ใหเปนฟงกชันที่ไมตองคืนคากลับมา ณ จุดเรียกใชหรือ ํ เปนฟงกชนประเภทไมมคานนเอง    ั  ี  ่ั 4. cout << "My name is Mr.Sirichai Namburi n"; cout << "Office : Computer Department,RIPA"; เปนสวนของประโยคคาสั่งหรือ Statement ในภาษา C++ ซึ่งตองเขียนใหถูกตองตามไวยากรณ   ํ ของภาษา ทกประโยคตองจบดวยเครอง semicolon (;) เสมอ สําหรบคําวา cout เปน object ซึ่งถูกเก็บไว ุ   ่ื ั  ในไฟล iostream.h ดงนนจงตองกาหนดชื่อไฟล iostream.h ไวในสวนของ preprocessor directive ดวย ั ้ั ึ  ํ   ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 8. ! 8 header file ที่สามารถใชรวมกับ #include ใน C++ เพื่อใหสามารถเรียกใชคาสั่งหรือฟงกชันตาง ํ ๆ ทผใชตองการได ไดแกรายชื่อไฟลในตารางตอไปนี้ โดยกอนที่จะเรียกใช header file ใดนน ผูใชจะ ่ี ู   ้ั ตองตรวจสอบกอนวาฟงกชันที่ตองเรียกใชถูกสรางไวใน header file ใด เชน ถามีการเรียกใชฟงกชัน  getch() ในโปรแกรม จะตองเขียน preprocessor directive เรียกใช header file ที่ชื่อ conio.h เนืองจาก ่ ฟงกชัน getch() ถูกเก็บไวในไฟล conio.h ซึ่งเปนคลังคําสั่ง (Library) ของ C++ มีรูปแบบการเรียกใช ดังนี้ #include <conio.h> ตาราง แสดงรายชื่อ Header file ใน C++ และรายละเอียดกลุมฟงกชันที่เรียกใชไดในแตละ herder file Header File Groups of Functions in Header file alloc.h Declares memory management functions (allocation, deallocation, etc.). assert.h Defines the assert debugging macro. Bcd.h Declares the C++ class bcd and the overloaded operators for bcd and bcd math functions. Bios.h Declares various functions used in calling IBM-PC ROM BIOS routines. complex.h Declares the C++ complex math functions. Conio.h Declares various functions used in calling the DOS console I/O routines. ctype.h Contains information used by the character classification and character conversion macros. Dir.h Contains structures, macros, and functions for working with directories and path names. Direct.h Defines structures, macros, and functions for working with directories and path names. Dirent.h Declares functions and structures for POSIX directory operations. Dos.h Defines various constants and gives declarations needed for DOS and 8086-specific calls. Errno.h Defines constant mnemonics for the error codes. Fcntl.h Defines symbolic constants used in connection with the library routine open. Float.h Contains parameters for floating-point routines. fstream.h Declares the C++ stream classes that support file input and output. ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 9. ! 9 Header File Groups of Functions in Header file generic.h Contains macros for generic class declarations. graphics.h Declares prototypes for the graphics functions. io.h Contains structures and declarations for low-level input/output routines. iomanip.h Declares the C++ streams I/O manipulators and contains macros for creating parameterized manipulators. iostream.h Declares the basic C++ (version 2.0) streams (I/O) routines. Limits.h Contains environmental parameters, information about compile-time limitations, and ranges of integral quantities. locale.h Declares functions that provide country- and language-specific information. malloc.h Memory management functions and variables. math.h Declares prototypes for the math functions, defines the macro HUGE_VAL, and declares the exception structure used by matherr. mem.h Declares the memory-manipulation functions. (Many of these are also defined in string.h.) memory.h Memory manipulation functions. new.h Access to operator new and newhandler. process.h Contains structures and declarations for the spawn... and exec... functions. search.h Declares functions for searching and sorting. setjmp.h Defines a type used by longjmp and setjmp. share.h Defines parameters used in functions that use file-sharing. signal.h Defines constants and declarations for signal and raise. stdarg.h Defines macros used for reading the argument list in functions declared to accept a variable number of arguments. stddef.h Defines several common data types and macros. stdio.h Defines types and macros needed for the Standard I/O Package defined in Kernighan and Ritchie and extended under UNIX System V. Defines the standard I/O predefined streams stdin, stdout, stdprn, and stderr, and declares stream-level I/O routines. ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 10. ! 10 Header File Groups of Functions in Header file stdiostr.h Declares the C++ (version 2.0) stream classes for use with stdio FILE structures. stdlib.h Declares several commonly used routines: conversion routines, search/sort routines, and other miscellany. stream.h Declares the C++ (version 1.2) streams (I/O) routines. string.h Declares several string- and memory-manipulation routines. strstrea.h Declares the C++ stream classes for use with byte arrays in memory. syslocking.h Definitions for mode parameter of locking function. sysstat.h Defines symbolic constants used for opening and creating files. systimeb.h Declares the function ftime and the structure timeb that ftime returns. systypes.h Declares the type time_t used with time functions. time.h Defines a structure filled in by the time-conversion routines, and a type used by other time routines; also provides prototypes for these routines. utime.h Declares the functions utime and the structure utimbuf values.h Defines important constants, including machine dependencies; provided for UNIX System V compatibility. varargs.h Defines old style marcos for processing variable argumnet lists. Superceded by stdarg.h ! หมายเหตุ ถาตองการทราบวา header file ประกอบดวยฟงกชั่นใดบาง ใหใชคาสัง Help, Index ํ ่ ! จากเมนูใน IDE ของภาษา C++ เพื่อคนหารายละเอียดและตัวอยางการใชฟงกชัน ! ♦!อเด็นติฟายเออร (identifier) ใน C++ ไ ! ไอเด็นติฟายเออร (identifier) หมายถึง ชื่อที่มีอยูในสวนตาง ๆ ของโครงสรางโปรแกรม C++  ซึ่งไดแก ชอของ เลเบล (label) คอนสแตนต (constant) แวเรียเบิลหรือตัวแปร (variable) ฟงกชัน ่ื (function) และชนิดของขอมูล (data type) ! ประเภทของไอเดนตฟายเออร มี 3 ประเภท คือ keyword , standard identifier และ user-defined ็ ิ identifier มีรายละเอียด ดังนี้ ! 1. Keyword เปนชื่อที่มีความหมายและวิธีการใชแนนอน ไดกาหนดไวในภาษา C++ แลว ํ คอมไพเลอรจะไมยอมใหเราใชชื่อนี้ในลักษณะที่แตกตางไปจากที่กาหนดไว ตัวอยางของ keyword เชน ํ  void if else int char float case auto return ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 11. ! 11 ! 2. Standard Identifier หมายถึง ชื่อที่กําหนดขนในคอมไพเลอร ชื่อเหลานี้มีความหมายและวิธี ้ึ ใชตามเงื่อนไขที่คอมไพเลอรกาหนดไว แตเราสามารถเปลี่ยนแปลงวิธีการทางานและเงื่อนไขการใชชื่อ ํ ํ เหลานได โดยคอมไพเลอรจะยกเลิกเงื่อนไขเดิมและเปลี่ยนมาใชเงื่อนไขที่เรากําหนดขึ้นใหม standard  ้ี identifier สวนใหญจะเปนชื่อฟงกชันที่มีอยูใน C++ เชน abort, abs, arc, ftime, getch, open, rename  เปนตน 3. User-defined identifier หมายถึง ชอทเ่ี รากาหนดความหมายและเงอนไขในการใชขนเองโดย ่ื ํ ่ื  ้ึ ผูใช แตตั้งกําหนดขึ้นตามกฎเกณฑของ C++ ซึ่งมีรายละเอียดของกฎการตั้งชื่อ ดังนี้ - อักขระตัวแรกตองเปนตัวอักษรหรือ underscore ( _ ) จะเปนตัวเลขไมได ตวอกขระตว ั ั ั ตอไปจะเปนตัวอักษร ตัวเลข หรอเครองหมาย _ ก็ได เรียงกันโดยหามมีชองวางภายในชื่อ ื ่ื - ชื่อหามซากับคียเวิรด (Keywords) ของภาษา C++ เชน main void if ํ้  - คอมไพเลอรจะถือวาอักษรพิมพเล็กและพิมพใหญ มีความแตกตางกัน ดังนัน ้ Identifier ชื่อFIRST_PROGRAM กับ first_program จะถือวาเปนชื่อตางกันและเปนคนละชื่อกัน - ชื่อมีความยาวไมจํากัด แตจะมีความหมายเฉพาะอักขระ 32 ตวแรกเทานน แตควรตง ั  ้ั  ้ั ชื่อใหมีความหมายสอดคลองกับวัตถุประสงคการนําชอนนไปใชภายในโปรแกรม เพื่อความสะดวกใน ่ื ้ั  การจดจําในขณะเขยนโปรแกรม ี ♦! นิดของขอมูล(Data Type) ช ขอมูลใน C++ แบงชนดขอมลออกเปน 2 ประเภท คือ  ิ  ู  1. Simple data type เปนชนิดขอมูลที่ใชแสดงคาของสิ่งใดสิ่งหนึ่งเพียงรายการเดียว เชน คา  ความสูง นําหนก จํานวนนกเรยน อุณหภูมิ ระดับคะแนน เปนตน ้ ั ั ี 2. Structure เปนขอมูลชนิดใชแสดงคาของสิ่งใดสิ่งหนึ่งหลายรายการ เชน ความสูงของนัก  เรยนใน ชั้น ม. 6, อุณหภูมของแตละวันในเดือนตุลาคม, รายชือนักเรียนใน 1 กลุม ตองกําหนดเปนขอมล ี ิ ่   ู ชนิดโครงสรางแบบ อารเรย (array) แบบโครงสราง(structure) หรอแบบยเู นยน(union) เปนตน ื ี ขอมูล Simple data type รายละเอียดชนิดของมูลและชวงของขอมูลประเภท Simple data type แสดงไดดงตารางตอไปน้ี ั  ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 12. ! 12 ตาราง แสดงชือชนิดของขอมูล ชวงของคาขอมูลและขนาดหนวยความจําที่ใช ่ ชนิดขอมูล คาตํ่าสุด คาสูงสุด ใชพื้นที่หนวยความจํา char -128 127 1 byte unsigned char 0 255 1 byte int -32,768 32,767 2 byte unsigned int 0 65,535 2 byte short int -32,768 32,767 2 byte long -2,147,483,648 2,147,483,647 4 byte unsigned long 0 4,294,967,295 4 byte float 3.4x10-38 3.4x10+38 4 byte double 1.7x10-308 1.7x10+308 8 byte long double 3.4x10-4932 3.4x10+4932 10 byte หมายเหตุ ชอชนดของขอมลไดแก char, unsigned char , int , unsigned int, short in, long , ่ื ิ  ู  unsigned long , float , double , long double เปน keyword ที่นาไปกําหนดประเภทขอมูลที่จะใชใน  ํ โปรแกรม •! ตัวอยางโปรแกรม size_mem.cpp เปนตวอยางโปรแกรมแสดงขนาดของหนวยความจําทขอ  ั   ่ี  มูลแตละชนิดใชพื้นที่หนวยความจา โดยใช คียเ วิรด sizeof ซึ่งใหคาขนาดหนวยความจําทขอ ํ  ่ี  มูลชนิดนั้นใช มีหนวยเปน byte /*Program : size_mem.cpp Process : Display size of memory for each simple data type */ #include <iostream.h> #include <conio.h> void main() { clrscr(); //clear screen in conio.h cout<< "Size of char = "<<sizeof(char)<< " bytes"<<endl; cout<< "Size of unsigned char = "<<sizeof(unsigned char)<< " bytes"<<endl; cout<< "Size of int = "<<sizeof(int)<< " bytes"<<endl; cout<< "Size of unsigned int = "<<sizeof(unsigned int)<< " bytes"<<endl; cout<< "Size of short int = "<<sizeof(short int)<< " bytes"<<endl; cout<< "Size of long = "<<sizeof(long)<< " bytes"<<endl; cout<< "Size of unsigned long = "<<sizeof(unsigned long)<< " bytes"<<endl; cout<< "Size of float = "<<sizeof(float)<< " bytes"<<endl; cout<< "Size of double = "<<sizeof(double)<< " bytes"<<endl; cout<< "Size of long double = "<<sizeof(long double)<< " bytes"<<endl; getch(); //wait for press any key } ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 13. ! 13 ♦! ารประกาศตวแปร (Variable Declaration) และการกําหนดคาใหตวแปรใน C++ ก ั   ั ตัวแปร (Variables) ในภาษา C++ หมายถึง ชื่อที่กาหนดขนเพอใชเ กบคาของขอมลหรอคาคงท่ี ํ ้ึ ่ื ็   ู ื  ประเภทตาง ๆ ในขณะโปรแกรมทํางาน ซงผเู ขยนโปรแกรมตองตงชอตวแปรตามกฎเกณฑการตงชอ  ่ึ ี  ้ั ่ื ั  ้ั ่ื ประเภท user defined identifier การใชตัวแปรในภาษา C++ จะตองมีการประกาศ (Declaration) ชอตวแปรและประเภทของตว ่ื ั ั แปร (Data type) ไวกอน จึงจะสามารถนําตัวแปรไปใชในโปรแกรมได มรปแบบการประกาศตวแปรดง ีู ั ั นี้ Data_type variable_name; หรอื ! Data_type variable_name1, variable_name2,varible_name3, … ; โดยที่ Data_type คือ ชอของประเภทขอมลของตวแปร ที่สามารถเก็บคาได เชน int, float ่ื  ู ั  variable_name คือ ชื่อของตัวแปรที่ผูใชกาหนดเอง ถาในประเภทนั้นมีมากกวา 1 ตวให ํ ั ใชเ ครองหมาย , แยก และจบประโยคดวยเครื่องหมาย ; (semi-colon) ่ื การประกาศตวแปรเพอใชในโปรแกรมของ C++ มี 2 ลกษณะ คือ ั ่ื  ั 1. definition คือ เปนการประกาศเพื่อกําหนดความหมาย เปนประโยคคาสั่งที่ประกอบดวย ชื่อ  ํ ประเภทของตวแปร และตัวแปร โดยทั่วไปมักจะประกาศไวตอนตน ๆ ของฟงกชัน หรือโปรแกรม เชน ั  #include <iostream.h> void main() { int number; float sales, purchase; การประกาศตัวแปรในลักษณะ definition char grade; … } 2. การประกาศแบบกําหนดคา ณ ตําแหนงทใช หมายถึง การประกาศตัวแปร ณ ตําแหนงท่ี  ่ี  ตองการใชตวแปรในโปรแกรม ก็จะประกาศพรอมกับหนดคาใหกับตัวแปรทันที ดงตวอยางโปรแกรม ั ั ั  ตัวอยางโปรแกรม pos_var.cpp แสดงวิธีการประกาศตัวแปร ณ จุดทีตองการใชในโปรแกรม ่ /*Program : pos_var.cpp Process : Show declared varaible at any position in program */ #include <iostream.h> #include <conio.h> void main() ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 14. ! 14 { float sale,price; clrscr(); sale=500.25; price=5.25; float total=sale*price; ประกาศตัวแปร total ณ ตําแหนงทตองการใช  ่ี  cout<< "Total Sale = "<<total; getch(); } วิธีการกําหนดคาใหแกตวแปรใน C++ ทําได ดังนี้    ั 1. การใชประโยคคําสงเครองหมายเทากบ (=) โดยกําหนดใหชื่อตัวแปรที่จะใชเก็บคาอยูทางซาย ่ั ่ื  ั มือของ เครืองหมาย = ตวแปรหรอคาคงทอยทางดานขวาของเครองหมาย ดังเชนตัวอยางโปรแกรมตอ ่ ั ื  ่ี ู  ่ื ไปนี้ •! ตัวอยางโปรแกรม variable.cpp แสดงการกําหนดคาคงทใหกบตวแปรในโปรแกรม โดยใช ่ี  ั ั เครองหมายเทากบ = ่ื  ั /*Program : variable.cpp Process : Display set value of varible */ #include <iostream.h> #include <conio.h> void main() { int number; //declaration variable การประกาศตัวแปรภายในฟงกชน ั main() float sales,purchase; //declaration variable // set value of variable number = 50; sales = 5000.75; การกาหนดคาคงที่ใหกับตัวแปร ํ purchase = 3500.50; clrscr(); // function clear screen from <conio.h> //show value from variable cout << "Show varlue of variable"<<endl; cout << "number = " << number<<endl; cout << "sales = " << sales<<endl; cout << "purchase = " << purchase; getch(); // function getch() for wait to press anykey from <conio.h> } หมายเหตุ กรณเี ปนตวแปรประเภทตวเลข คาคงทีดานขวามือหามมีเครืองหมายวรรคตอนใด ๆ  ั ั ่ ่ ทั้งสิ้น ยกเวนจุดทศนิยม สวนตวแปรประเภท char กําหนดคาคงทในเครองหมาย '_' เชน ch = 'A';  ั  ่ี ่ื  2. การกําหนดคาเรมตนใหแกตวแปร เมื่อมีการประกาศใชตัวแปรในลักษณะ definition มีการ  ่ิ    ั กําหนดคาคงที่ใหแกตัวแปรทันที ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 15. ! 15 •! ตัวอยางโปรแกรม varia2.cpp แสดงการกําหนดคาใหแกตัวแปร number, sales, purchase ดวยเครองหมาย = เมือประกาศตัวแปรในโปรแกรม  ่ื ่ /*Program : varia2.cpp Process : Display set value of varible */ #include <iostream.h> #include <conio.h> void main() { int number=500; //declaration and set value variable ประกาศตัวแปร float sales=500.50,purchase=3500.75; //declaration and set value variable พรอมกําหนดคา   clrscr(); // function clear screen from <conio.h> //show value from variable cout << "Show varlue of variable"<<endl; cout << "number = " << number<<endl; cout << "sales = " << sales<<endl; cout << "purchase = " << purchase; getch(); // function getch() for wait to press anykey from <conio.h> } 3. การกําหนดคาตัวแปรโดยการรับคาทางแปนพิมพ โดยการใชฟงกชันในการรับขอมูล (Input) เขาไปเก็บไวในตัวแปร จะกลาวรายละเอียดตอไปในบทที่ 2 ตัวแปรประเภท Global และ Local การประกาศใชตวแปรใน C++ สามารถทําได 2 ลักษณะ คือ ั 1. Global variable คือ ตัวแปรทีกาหนดหรือประกาศไวนอกฟงกชันใด ๆ ทุกฟงกชัน ่ํ สามารถนําตัวแปรประเภท Global ไปใชไดทุกฟงกชัน เพราะเปนลักษณะการประกาศแบบสารธรณะ 2. Local variable คือ ตัวแปรทีกาหนดหรือประกาศไวในฟงกชันใดฟงกชันหนึ่ง ่ํ สามารถนํา ตัวแปรนั้นไปใชไดเฉพาะในฟงกชันนั้น ๆ เทานน ฟงกชันอื่นไมสามารถนําไปใชได เพราะประกาศใน  ้ั ลักษณะสวนตัวหรือเฉพาะที่ หมายเหตุ กรณทมการตงชอตวแปรประเภท Global และ Local ซํากัน จะถือวาเปนตัวแปรคนละ ี ่ี ี ้ั ่ื ั ้ ตวกน เนื่องจากใชพื้นที่ในหนวยความจําในการเก็บขอมูลในตําแหนงที่ตางกัน แตถามีการเรียกใชชื่อตัว ั ั แปร C++ จะนําตัวแปรประเภท Local มาใชกอนเสมอ •! ตัวอยางโปรแกรม glo_loc.cpp แสดงการประกาศตวแปรประเภท Global และ Local ใน ั โปรแกรม ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 16. ! 16 /*Program : glo_loc.cpp Process : define global and locat variable */ #include <iostream.h> #include <conio.h> char grade; //defined global variable ประกาศตัวแปรประเภท Global Variable void main() { int midterm,final,total; //defined local variable in function main() ประกาศตัวแปรประเภท Local clrscr(); Variable ในฟงกชัน main() midterm = 30; final=50; total=midterm+final; grade='A'; cout<< "You get total score "<<total<<" And get grade = " <<grade; getch(); } ♦! ารกําหนดตัวแปรคงที่(Constant) ก ตัวแปรคงที่หรือคอนสแตนต (Constant) หมายถึง ตัวแปรที่เก็บคาคงที่ที่ไมสามารถเปลี่ยนแปลง ได การกาหนดคอนสแตนต มีจุดประสงคเพื่อปองกันมิใหมีการเปลี่ยนแปลงคาของตัวแปรนั้นในขณะ ํ ทางาน สามารถกาหนดไดทั้งในลักษณะที่เปน Global และ Local รูปแบบการกาหนดคาคอนสแตนต ใช ํ ํ ํ คําวา const นําหนาประเภทขอมลและชอคอนสแตนต ดังนี้   ู ่ื const ชนิดขอมูล ชอคอนสแตนต = คาคงที่; ่ื ตัวอยางเชน const int Day = 7; const int month = 12; const float PI = 3.1418926; const float Amount = 1.0E+2; // คือ 1.0 * 102 const float Rate = 1E-3; // คือ 1 * 10-3 const char name = 'A'; // ใหคารหส ASCII ของ A คือ 65  ั const char ch = 'B'; // ใหคารหส ASCII ของ B คือ 66  ั •! ตัวอยางโปรแกรม contst.cpp แสดงการกําหนดและการใช constant ในโปรแกรม มราย ี ละเอียด ดังนี้ ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 17. ! 17 /*Program : const.cpp Process : Display constant in program */ #include <iostream.h> #include <conio.h> const float rate = 0.05; // Global constant void main() { const float tax=0.03; //Local constant float sales,income,total_tax; clrscr(); sales = 8500.50; income = sales*rate; total_tax=income*tax; cout<< "Income = "<< income <<endl; cout<< "Total tax = "<< total_tax <<endl; getch(); } ♦! ารดําเนนการทางคณตศาสตร (Arithmetic Operations) ก ิ ิ ในการคํานวณทางคณิตศาสตรของภาษา C++ มีการใชเครื่องหมายสําหรบการคานวณ ดังนี้ ั ํ ตาราง แสดงเครองหมายคานวณทางคณิตศาสตรใน C++ ่ื ํ ตัวดําเนินการ ความหมาย ตัวอยาง ผลลัพธ - การลบ 10-5 5 + การบวก 10+5 15 * การคูณ 10*5 50 / การหาร 10/5 2 % การหารคดเฉพาะเศษ ิ 9%2 1 -- การลดคาครั้งละ 1 --x หรือ x-- x=x-1 ++ การเพิ่มคาครั้งละ 1 ++x หรือ x++ x=x+1 += การบวกสะสมในตัวแปร y+=x y=y+x -= การลบคาจากตัวแปร y-=x y=y-x *= การคูณคาจากตัวแปร y*=x y=y*x /= การหารจากตัวแปร y/=x y=y/x %= การหารคิดเศษจากตัวแปร y%=x y=y%x ตาราง แสดงลําดับการประมวลผล (Precedence) ของเครองหมายคณตศาสตร ่ื ิ เครองหมายคณตศาสตร ่ื ิ ลําดับการประมวลผล หมายเหตุ ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 18. ! 18 () 1 ถาเครื่องหมายมีลําดับการ ++, -- (ใชแบบ prefix) 2 ประมวลผลระดับเดียวกันให - (เครองหมายหนาตวเลข) ่ื  ั 3 ดําเนินการจากซายไปขวา */% 4 +- 5 += -= *= /= %= 6 ขอสงเกต การใชโอเปอเรเตอร (Operator) ในการเพิ่มคา(increment) ++ และลดคา(decrement)  ั  -- มีขอควรสังเกต ดังนี้ 1. การเพิ่มคาขึ้นทีละ 1 ไดแกการเพิ่มคาใหแกตัวแปรครั้งละ +1 เชน count = count +1; count +=1; count++; ++count; สําหรบ ++ มีวิธีการใช 2 วิธี คือ แบบ prefix และ แบบ postfix มีขอแตกตางกัน ดัง ั ตวอยางตอไปนเ้ี ปนการใช ++ แบบ prefix ั    price = 5; volume = 3; value = price * ++volume; // คาของ value คือ 20 คาของ volume คือ 4 จากประโยคคําสั่งนี้ คาของ volume จะเพิ่มขึ้น 1 กอนทจะนําไปคูณกับ price แลวนํา  ่ี  ไปเก็บไวในตัวแปร value ตอไปน้ี ลองพิจารณาการใช ++ แบบ postfix  price = 5; volume = 3; value = price * volume++; // คาของ value คือ 15 คาของ volume คือ 4 จากประโยคคําสั่งนี้ คาของ volume คือ 3 จะถกนําไปคูณกับ price คือ 5 กอนแลวนํา ู ไปเก็บไวในตัวแปร value จากนันจึงเพิมคาของ volume อก 1 จึงมีคาเปน 4 ้ ่ ี 2. การลดคาลงทีละ 1 ไดแกการลดคาของตัวแปรครั้งละ -1 เชน  count = count -1; count -=1; count--; --count; สําหรบ -- มีวิธีการใช 2 วิธี คือ แบบ prefix และ แบบ postfix มขอแตกตางการใชเ ชน ั ี   เดียวกับการใช ++ ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 19. ! 19 ♦! ารเปลยนแปลงชนดขอมลในนพจนคณตศาสตร ก ่ี ิ  ู ิ  ิ ในนพจนทางคณตศาสตรเ มอมการใชเ ครองหมายคานวณระหวางขอมูลหรือตัวแปรทีมชนิด ิ  ิ ่ื ี ่ื ํ ่ ี (Data Type) แตกตางกัน เชน ชนด float บวกกับ ชนด int ใน C++ จะปรับประเภทขอมูลของผลลัพธที่  ิ ิ ไดจากการคานวณใหเปนชนิดขอมูลทีมอนดับสูงกวาโดยอัตโนมัติ ดังแสดงอันดับความสําคญของชนด ํ ่ ีั ั ิ ขอมลในตารางตอไปน้ี  ู  ตาราง แสดงอันดับความสําคัญ(Precedence) ของขอมลประเภท Simple Data Type ชนิดตาง ๆ  ู ชนิดขอมูล อนดบ ั ั ตวอยาง ั long double สูงสุด int * long = long double char + int = int float int + float = float long int * double = double int float + double = double char ตําสุด ่ long + long dobule = long double ♦!ครองหมายเปรยบเทยบและตรรก (Comparison and Logical Operators) เ ่ื ี ี การเปรยบเทยบ หมายถึง การหาวาเมอนําคาที่อยูทางดานซายของเครื่องหมายกับคาที่อยูทางขวา ี ี  ่ื ของเครองหมายเปรยบเทยบ มาเปรียบเทียบกันแลวจะไดผลลัพธเปนจริงหรือเท็จ ซึ่งในแตละกรณีเมื่อ ่ื ี ี เปรียบเทียบกันแลว จะไดคาเปนจริงหรือเปนเท็จเพียงคาเดียวเทานัน โดย C++ จะใชคา 0 แทนเทจ และ  ้ ็ 1 แทน จริง และมีลาดับในการประมวลผลจากซายไปขวา ถาไมมีวงเล็บกํากับไว มีเครืองหมายเปรียบ ํ ่ เทียบดังนี้ ตาราง แสดงเครื่องหมายเปรียบเทียบใน C++ เครืองหมาย ่ ความหมาย ตวอยาง ั ผลลัพธ > มากกวา 5>1 1 (จริง) < นอยกวา 5<1 0 (เทจ)็ == เทากับ 5==1 0 (เทจ) ็ != ไมเทากับ 5!=1 1 (จริง) >= มากกวาหรือเทากับ 5>=5 1 (จริง) <= นอยกวาหรือเทากับ 5<=5 1 (จริง) ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 20. ! 20 การหาคาลอจิก (Logic) หมายถึง การหาผลลัพธจาก Logic operator ซึ่งจะใหคาผลลัพธออกมา เปนจริงหรือเท็จกรณีใดกรณีหนึงเทานัน เครืองหมายทีเ่ ปน Logical operator ใน C++ แสดงไวในตาราง ่ ้ ่ ดังนี้ ตาราง แสดงเครองหมายเปรยบเทยบเชงตรรก (Logical operator) ใน C++ ่ื ี ี ิ เครืองหมาย ่ ความหมาย ตวอยาง ั ผลลัพธ && AND (5==5)&&(5>3) 1 (จริง) || OR (5<1)||(5>3) 1 (จริง) ! NOT !(5==5) 0 (เทจ) ็ ตาราง แสดงคาเปนจรงและเทจในกรณตาง ๆ ทเ่ี ปนไปไดทงหมดของ AND, OR , NOT โดยกําหนดให   ิ ็ ี    ้ั A และ B คือประโยคตรรกทีใหคาจริงหรือเท็จ ่  A B !A A&&B A||B จรง ิ จรง ิ เทจ ็ จรง ิ จรง ิ จริง เท็จ เท็จ เท็จ จริง เท็จ จริง จริง เท็จ จริง เทจ็ เทจ็ จรง ิ เทจ็ เทจ็ •! ตัวอยางโปรแกรม logic_tst.cpp เปนการแสดงคาตรรกทไดจากการเปรยบเทยบดวยเครอง   ่ี  ี ี  ่ื หมายเปรยบเทยบและ ตัวดําเนนการตรรก โดยคา 0 แทน เทจ และ 1 แทนจรง ดังนี้ ี ี ิ ็ ิ /*Program : logic_tst.cpp Process : Test logical value of expression */ #include <iostream.h> #include <conio.h> void main() { clrscr(); cout<< "Display Logic Operation :a"; cout<< "nLogic value of expression (3==5) :" <<(3==5); cout<< "nLogic value of expression (5==5) :" <<(5==5); cout<< "nLogic value of expression (3<=5) :" <<(3<=5); cout<< "nLogic value of expression (3>=5) :" <<(3>=5); cout<< "nLogic value of expression (3<=5)&&(5>3) :" <<((3<=5)&&(5>3)); cout<< "nLogic value of expression ((3<=5)&&(3>5)) :" <<((3<=5)&&(3>5)); cout<< "nLogic value of expression ((3<=5)||(3>5)) :" <<((3<=5)||(3>5)); cout<< "nLogic value of expression ((8<=5)||(3>=5)) :" <<((8<=5)||(3>=5)); cout<< "nnValue 1 is true, 0 is false ....press any key"; getch(); } ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้
  • 21. ! 21 ♦! บบฝกหัดทายบท แ 1. จงเขยนโปรแกรมเพอคานวณหาผลลัพธของนิพจนทางคณิตศาสตรตอไปนี้โดยกําหนดใหตวแปร ี ่ื ํ ั A=50 B=30 C=5 D=3 E = 10 1.1 (A+B)*(E-D) 1.6 --D+C+B-- 1.2 ++D+C*E 1.7 25*D/5+10 1.3 (25+A)/C+B 1.8 A+B--+D 1.4 A*=D 1.9 C*2+E*5 1.5 20*C+B+++D/2 1.10 (A*2)+B/C-15 2. จงบอกขนาดของหนวยความจาทตวแปรชนดตาง ๆ ตอไปนตองใชในการจองพนทในหนวยความจํา  ํ ่ี ั ิ   ้ี   ้ื ่ี  char, int , float, double, long int, long double 3. จงเขยนโปรแกรมเพอหาคาตอบวาประโยคตอไปนีเ้ ปนจริงหรือเท็จ ถากาหนดใหตวแปร ี ่ื ํ ํ ั A = 20 B=30 C = 2 D = 5 E=50 3.1 (A>=B) && (A==A) 3.2 (B+C>A+D)|| (B+C<A+D)&&(D<10) 3.3 (A==20) && (B>=30) 3.4 (50==E ) || (!(D<=E) 3.5 !(D!=5) 3.6 (B+C+20)!=50 3.7 C==(D-3) 3.8 (A/C<=B) && (C+D<=A) || (D>A) 3.9 (A%C+5)==(E/5-10) 3.10 A<B&&D<E ศิริชัย นามบุรี แนะนําภาษา C++ เบืองตน ้