Lesson11. !
บทที่ 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++ เบืองตน
้