100
ดดดด ดดดด ดดดด ดดดด ดดดดดดดดด ดดดดดดดดดด ดดดดดดดดด ดดดดดดดดดด ดดดดดดดดดดดดดดดดดดดดดดดดดดดดดดด ดดดดดดดดดดดดดดดดดดดดดดดดดดดดดดด ดดดดดดดดดดดดด ดดดดดดดดดดดดด C C ++

c++_2553

Embed Size (px)

Citation preview

Page 1: c++_2553

ด้�วยด้�วยภาษาภาษาด้�วยด้�วยภาษาภาษา

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู�ครู�ทองสุ�ข เอ��ยมศิ�รู�

สุ�านั�กงานัเขตพื้� นัท��การูศิ!กษาฉะเชิ�งเทรูา เขต สุ�านั�กงานัเขตพื้� นัท��การูศิ!กษาฉะเชิ�งเทรูา เขต 11

การูเข�ยนัโปรูแกรูมการูเข�ยนัโปรูแกรูม

CC++

Page 2: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ภาษาซี�ภาษาซี�เบ� องต�นัเบ� องต�นัภาษาซี�ภาษาซี�เบ� องต�นัเบ� องต�นั

บทท�� บทท�� 11

Page 3: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั� 11. บทนั�าการูเข�ยนัโปรูแกรูม

12 ซีอฟต1แวรู1ค�ออะไรู? 13 ภาษาคอมพื้�วเตอรู1 14 โปรูแกรูมท��เข�ยนัจะท�างานั

อย2างไรู? 15 ไฟล์1โปรูแกรูมท��ได้�จากการู

แปล์ภาษา 17 ปรูะว�ต�ของภาษาซี� 18 พื้�ฒนัาการูของคอมไพื้เล์อรู1

ภาษาซี� 19 รูะบบชิ2วยเหล์�อของคอมไพื้

เล์อรู1ภาษาซี� 110 สุรู�ป

Page 4: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 1. 1 1. บทนั�าการูเข�ยนับทนั�าการูเข�ยนัโปรูแกรูมโปรูแกรูม

• เรูาเข�ยนัโปรูแกรูมไปเพื้��ออะไรู– เพื้รูาะว2าในัหล์�กสุ�ตรูท��เรู�ยนัอย�2บ�งค�บว�ชิานั� – เพื้รูาะอาจารูย1ให�เข�ยนัโปรูแกรูมสุ2งอาท�ตย1หนั�า– เพื้รูาะอยากเพื้��มพื้�นัความรู��ด้�านัคอมพื้�วเตอรู1– เพื้รูาะต�องการูเข�ยนัโปรูแกรูมไว�ใชิ�เอง– ฯล์ฯ

• การูเข�ยนัโปรูแกรูมก7เหม�อนัการูแก�โจทย1ป8ญหา เรูาจะต�องทรูาบว2าเรูาต�องการูอะไรูเพื้��อสุรู�างโปรูแกรูมใหม2ๆ ตามท��เรูาต�องการู

Page 5: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 2. 1 2. ซีอฟต1แวรู1ซีอฟต1แวรู1ค�ออะไรูค�ออะไรู ??

• ซีอฟต1แวรู1 (Software) หรู�อโปรูแกรูมคอมพื้�วเตอรู1(Computer Program) ค�อโปรูแกรูมท��ถู�กเข�ยนัข! นัมาจากภาษาคอมพื้�วเตอรู1แล์ะถู�กแปล์งให�เป;นัภาษาเครู��องเพื้��อให�คอมพื้�วเตอรู1ท�างานัอย2างใด้อย2างหนั!�งตามท��เรูาต�องการู

• แบ2งออกเป;นั 2 ปรูะเภทใหญ2ๆ ค�อ– System software– Application software

Page 6: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

System System SoftwareSoftware

• เป;นัโปรูแกรูมท��ท�างานัเก��ยวก�บรูะบบคอมพื้�วเตอรู1 ม�หนั�าท��ในัการูควบค�มอ�ปกรูณ์1ฮารู1ด้แวรู1ท�กชินั�ด้ แล์ะจ�ด้ตารูางการูท�างานัท� งฮารู1ด้แวรู1แล์ะซีอฟต1แวรู1ท��ท�างานัก�บฮารู1ด้แวรู1ท�กต�วซี!�งก7ค�อรูะบบปฏิ�บ�ต�การู(Operating System:OS) นั��นัเอง

• ได้�แก2 DOS, Windows, Linux, Mac OS, OS/2

Page 7: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Application Application SoftwareSoftware• เป;นัโปรูแกรูมท��ถู�กสุรู�างข! นัเพื้��อท�างานัด้�านัต2างๆ ซี!�งก7

ถู�กเข�ยนัข! นัจากโปรูแกรูมภาษาต2างๆ • เชิ2นั PowerDVD, Windows Media

Player, Winamp, Word, Calculator, SPSS

• สุามารูถูแบ2งออกได้�หล์ายปรูะเภทด้�งนั� – โปรูแกรูมพื้�มพื้1งานั– โปรูแกรูมเกม– โปรูแกรูมย�ท�ล์�ต� – โปรูแกรูมม�ล์ต�ม�เด้�ย– โปรูแกรูมสุ�าหรู�บรูะบบ– โปรูแกรูมภาษาสุ�าหรู�บพื้�ฒนัาซีอฟต1แวรู1

Page 8: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 3. 1 3. ภาษาภาษาคอมพื้�วเตอรู1คอมพื้�วเตอรู1• แบ2งออกเป;นั 2 ปรูะเภทใหญ2ๆ ค�อ

– ภาษารูะด้�บต��า ได้�แก2 ภาษาเครู��อง แล์ะภาษา Assembly

– ภาษารูะด้�บสุ�ง ได้�แก2 Basic, Pascal, Ada, C, Cobol, Fortran แล์ะอ��นัๆ

• ความแตกต2างรูะหว2างภาษารูะด้�บสุ�งแล์ะรูะด้�บต��าค�อ ภาษารูะด้�บต��า ควบค�มอ�ปกรูณ์1ฮารู1ด้แวรู1คอมพื้�วเตอรู1ได้�ด้�กว2า แต2เข�ยนัยาก แล์ะยาวมาก สุ2วนัภาษารูะด้�บสุ�งเข�ยนัง2ายเข�าใจง2ายกว2าเพื้รูาะใกล์�เค�ยงภาษามนั�ษย1 แต2ม�ข�อจ�าก�ด้ในัการูควบค�มฮารู1ด้แวรู1

Page 9: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

14 14 โปรูแกรูมท��เข�ยนัข! นัจะโปรูแกรูมท��เข�ยนัข! นัจะท�างานัได้�อย2างไรู ท�างานัได้�อย2างไรู ??

• โปรูแกรูมท��เข�ยนัข! นัมา ไม2ว2าจะเข�ยนัโด้ยใชิ�อ�ด้�เตอรู1(editor) อะไรูก7ตาม จะได้�ซีอรู1สุโค�ด้(source code) ซี!�งจะเก7บในัรู�ปแฟ?มข�อม�ล์ ซี!�งจะม�นัามสุก�ล์แตกต2างก�นัไปด้�งนั� ภาษา นัามสุก�ล์ ต�วอย2าง

C++

C

Pascal

Perl

PHP

Java

.c

.cpp

.pas

.pl

.php

.java

hello.c

hello.cpp

hello.pas

hello.pl

hello.php

hello.java

Page 10: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

กรูะบวนัการูแปล์กรูะบวนัการูแปล์โปรูแกรูมโปรูแกรูม

------------

------------

ซีอรู1สุโค�ด้ กรูะบวนัการูแปล์โปรูแกรูมโปรูแกรูมท��สุามารูพื้ท�างานัได้�โด้ยไม2ต�องม� source code

Page 11: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วแปล์ต�วแปล์ภาษาภาษา• คอมไพื้เล์อรู1(compiler)

– คอมไพื้เล์อรู1จะอ2านัโปรูแกรูมท� งหมด้ก2อนั เม��อเจอข�อผิ�ด้พื้ล์าด้ก7จะแจ�งให�แก�ไข แต2ถู�าไม2พื้บข�อผิ�ด้พื้ล์าด้ใด้ๆ ในัโปรูแกรูม ก7จะแปล์ให�เป;นัโปรูแกรูมท��พื้รู�อมจะท�างานัด้�งรู�ป

Page 12: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ขอตรูวจสุอบด้�ก2อนั

Main(){ printf(“XX”);printf(“YY”);}

Main(){ printf(“XX”);printf(“YY”);}

กระบวนการแปลโปรแกรม

ม ข้�อผิ�ดพลาดไปแก�ไข้มาใหม�

ถู�กต้�องผิ�านได�

ต�วแปล์ต�วแปล์ภาษาภาษา

Page 13: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

• อ�นัเตอรู1พื้รู�เตอรู1(interpreter)– อ�นัเตอรู1พื้รู�เตอรู1จะอ2านัโปรูแกรูมมาท�

ล์ะบรูรูท�ด้แล์ะท�าตามค�าสุ��งแบบบรูรูท�ด้ต2อบรูรูท�ด้ถู�าเจอข�อผิ�ด้พื้ล์าด้โปรูแกรูมจะหย�ด้แล์ะแจ�งให�ทรูาบว2าผิ�ด้พื้ล์าด้

– ต�วอย2างเชิ2นัการูแปล์ภาษา HTML

ต�วแปล์ต�วแปล์ภาษาภาษา

Page 14: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 5. ไฟล์1โปรูแกรูมท��ได้�จากการูแปล์ภาษา

• เม��อเข�ยนัโปรูแกรูมเสุรู7จ ผิ2านัการูแปล์ภาษาแล์�วผิล์ท��ได้�ก7จะเป;นัไฟล์1โปรูแกรูมท��สุามารูถูนั�าไปใชิ�ได้�เล์ย โด้ยอาจกAอปปB ล์งด้�สุก1ไปเปCด้ท��เครู��องอ��นัๆ ได้� ซี!�งจะเป;นัไฟล์1โปรูแกรูมแยกจากต�วซีอรู1สุโค�ด้ท��เรูาเข�ยนั

• ไฟล์1โปรูแกรูมท��ได้�นั� นัเป;นัไฟล์1แบบเล์ขฐานัสุอง หรู�อไบนัารู�ไฟล์1(.exe)เรู�ยกว2าเอ7กซี�ค�วเทเบ� ล์ไฟล์1(executable file)

Page 15: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 6. ปรูะว�ต�ของภาษาซี�

• C ม�ต�นัก�าเนั�ด้มาจากภาษาคอมพื้�วเตอรู1ย�นั�กซี1(UNIX)

• นั�าเอาภาษาเครู��องมาใชิ�ในัการูพื้�ฒนัาโปรูแกรูมอ��นัๆ แล์ะพื้�ฒนัาเป;นัรูะบบปฏิ�บ�ต�การู(OS) แล์ะได้�สุรู�างภาษาบ�(B) ข! นัมา เพื้��อชิ2วยให�การูเข�ยนัโปรูแกรูมท�าได้�ง2ายข! นั ต2อมา Dennis Ritchie จาก Bell Lab ได้�นั�าภาษานั� มาพื้�ฒนัาต2อแล์ะใชิ�ชิ��อว2า C เพื้รูาะเป;นัภาษาต2อจาก B ในัย�คนั� นัจะท�างานับนัย�นั�กซี1เป;นัสุ2วนัมาก

Page 16: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

จากภาษา จากภาษา C C สุ�2 สุ�2 C++C++

• ภาษา C ได้�ม�การูพื้�ฒนัาต2อโด้ยใชิ�แนัวค�ด้โปรูแกรูมเชิ�งว�ตถู� หรู�อ OOP(Object Oriented Programming)

• เก�ด้ภาษาใหม2เรู�ยกว2า ซี� พื้ล์�สุ พื้ล์�สุ “ ” (C++) • ภาษาซี�ย�งเป;นัต�นัฉบ�บให�ก�บอ�กหล์ายๆ ภาษาในั

ป8จจ�บ�นัเชิ2นั Java, C# (อ2านัว2าซี�ชิารู1ป)• C# ค�อภาษาท��ออกแบบมาเพื้��อท�างานับนั

แพื้ล์ตฟอรู1ม .NET

Page 17: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 7. พื้�ฒนัาการูของคอมไพื้เล์อรู1ภาษา C

•DOS >> Turbo C•Windows >>

– Microsoft Visual C++– Borland C++– Borland C++ Builder– Symantec C/C++

Page 18: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 8. รูะบบชิ2วยเหล์�อของคอมไพื้เล์อรู1ภาษา C

• เม��อต�ด้ต� งคอมไพื้เล์อรู1ภาษา C แล์�วจะม�รูะบบชิ2วยเหล์�อมาให�ด้�วย

• Visual C++ จะม�รูะบบชิ2วยเหล์�อท��ชิ��อ MSDN(Microsoft Developer Network

Page 19: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

1 9. 1 9.สุรู�ปสุรู�ป

• คอมไพื้เล์อรู1ภาษา C ท��ในัป8จจ�บ�นัม�หล์ายต�ว แต2ม�พื้� นัฐานัมาจากมาตรูฐานัเด้�ยวก�นัค�อ ANSI C ซี!�งจะเป;นัมาตรูฐานัของการูเข�ยนัโปรูแกรูมภาษา C บนัย�นั�กซี1 Linux หรู�อ Windows โด้ยใชิ�คอมไพื้เล์อรู1 Visual C++, Borland C++, GNU C/C++

• ภาษาซี�เป;นัพื้� นัฐานัของภาษา C++, Java, C#

จบแล์�วครู�บไม2ยากเล์ยใชิ2

ไหม

Page 20: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

รูห�สุควบค�มรูห�สุควบค�มแล์ะการูค�านัวณ์แล์ะการูค�านัวณ์

บทท�� บทท�� 22

Page 21: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั�

21. รูห�สุควบค�มในัภาษา C 22. ใสุ2ค�าอธิ�บาย(Comment) ล์งในั

โปรูแกรูม 23. การูค�านัวณ์ในัภาษา C 24. นั�พื้จนั1การูค�านัวณ์ 25. การูค�านัวณ์ทศินั�ยม 26 สุรู�ป

Page 22: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 1. รูห�สุควบค�มในัภาษา C• \a สุ2งเสุ�ยง Beep

• \n ข! นับรูรูท�ด้ใหม2• \t แท7บในัแนัวนัอนั• \b ย�อนักล์�บไป 1 ต�วอ�กษรู• \v แท7บในัแนัวต� ง• \f ข! นัหนั�าใหม2• \r รูห�สุ Return• \’ แทนัต�วอ�กษรู Single Quote(’)• \’’ แทนัต�วอ�กษรู Double Quote(’’)• \\ แทนัต�วอ�กษรู Backslash(\)• \000 แทนัต�วอ�กษรูท��ม�ค2า ASCII เท2าก�บ 000 ในัรูะบบเล์ขฐานัแปด้• \xhh แทนัต�วอ�กษรูท��ม�ค2า ASCII เท2าก�บ hh ในัรูะบบเล์ขฐานัสุ�บหก

Page 23: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 1. 2 1. รูห�สุรูห�สุควบค�มในัภาษา ควบค�มในัภาษา CC• #include<stdio.h>

• Void main()• { • printf(“== Welcome == \

n\n”);• printf(“Alert\a\n”);• print(“1 2 \b3 4\n”);• printf(“backslash \\ \n”);• printf(“show \” \n”);• printf(“show \ ‘hello\’ \n”);• printf(“ascii \123 \n”);• printf(“ascii \x2e \n”);• }

Page 24: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 2. 2 2. ใสุ2ค�าใสุ2ค�าอธิ�บายอธิ�บาย(comment)(comment)ล์งในัล์งในั

โปรูแกรูมโปรูแกรูม• // ใชิ�ในัการูใสุ2ค�าอธิ�บายแบบบรูรูท�ด้เด้�ยว โด้ยจะม�ผิล์ให�ข�อความใด้ๆ หล์�งจากเครู��องหมาย // ไปจนัสุ�ด้บรูรูท�ด้นั� นัๆ เป;นัค�าอธิ�บายท� งหมด้

• /*..*/ ใชิ�ในัการูใสุ2ค�าอธิ�บายแบบหล์ายบรูรูท�ด้ โด้ยจะม�ผิล์ให�ข�อความใด้ๆ ท��อย�2รูะหว2าง /* แล์ะ */ กล์ายเป;นัค�าอธิ�บาย(อาจจะเป;นั 1 บรูรูท�ด้หรู�อมากกว2าก7ได้�)

• เชิ2นั • /* • Program by Sasalak Thongkhao• [email protected]• */• //include stdio.h for printf command• #include<stdio.h>

Page 25: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 3. 2 3. การูค�านัวณ์การูค�านัวณ์ในัภาษาซี�ในัภาษาซี�

• เครู��องหมายหรู�อโอเปอเรูเตอรู1(Operator) ม�ด้�งนั�

• + เครู��องหมายบวก(Addition)• - เครู��องหมายล์บ(Subtraction)• * เครู��องหมาย

ค�ณ์(Multiplication)• / เครู��องหมายหารู(Division)• % เครู��องหมายหารูแบบเอาเศิษเป;นัค�า

ตอบ(Mod)

Page 26: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 3. 2 3. การูค�านัวณ์การูค�านัวณ์ในัภาษาซี�ในัภาษาซี�

• ต�วอย2าง math1.c• #include<stdio.h>• void main()• {• Printf(“%d\n”,250+43);• }

• ต�วอย2าง math1.c• #include<stdio.h>• void main()• {• Printf(“%d\n”,250+43);• }

293293

%d เป;นัการูก�าหนัด้รู�ปแบบของผิล์ล์�พื้ธิ1เป;นัจ�านัวนัเต7มฐานัสุ�บแล์ะแทนัท��ล์งตรูงต�าแหนั2ง %d

%d เป;นัการูก�าหนัด้รู�ปแบบของผิล์ล์�พื้ธิ1เป;นัจ�านัวนัเต7มฐานัสุ�บแล์ะแทนัท��ล์งตรูงต�าแหนั2ง %d

ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 27: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 3. 2 3. การูค�านัวณ์การูค�านัวณ์ในัภาษาซี�ในัภาษาซี�• ต�วอย2าง math1update.c • #include<stdio.h>• void main()• {• printf(“Answer is %d.\n”,250+43);• printf(“%d %d\n”,5-3,10-2);• printf(“%d \n”,5*5);• printf(“%d \n”,7/3);• printf(“%d \n”,7%3);• }

Answer is 2932 -222521

Answer is 2932 -222521

ผิล์ล์�พื้ธิ1ผิล์ล์�พื้ธิ1ท��ได้�ท��ได้�

Page 28: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 4. 2 4. นั�พื้จนั1นั�พื้จนั1การูค�านัวณ์การูค�านัวณ์• ล์�าด้�บการูค�านัวณ์นั�พื้จนั1ทาง

คณ์�ตศิาสุตรู1• เครู��องหมายท��อย�2หนั�าต�วเล์ข เชิ2นั -2• ( . . . ) วงเล์7บ• *,/ เครู��องหมายค�ณ์แล์ะหารู• -+ , เครู��องหมายบวกแล์ะล์บ

Page 29: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 4. 2 4. นั�พื้จนั1การูนั�พื้จนั1การูค�านัวณ์ค�านัวณ์

• ต�วอย2าง math2.c • #include<stdio.h>• void main()• {• printf(“A = %d\n”,(10-

5)*3+(2+10)/4);• }

A = 18A = 18ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 30: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

24. 24. การูการูค�านัวณ์ทศินั�ยมค�านัวณ์ทศินั�ยม

• ใชิ� %f (f ย2อมาจาก float)• #include<stdio.h>• void main()• {• printf(“Area = %f”,0.43*3*4);• }

Area = 5.160000Area = 5.160000Area = 5.160000Area = 5.160000ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 31: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 4. 2 4. การูการูค�านัวณ์ทศินั�ยมค�านัวณ์ทศินั�ยม

• ต�วอย2าง math4.c• #include<stdio.h>• void main()• {• printf(“Average = %f\n”,

(65.5+15.4+22.0)/3);• }

Average = 34.300000Average = 34.300000ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 32: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

2 5. 2 5.สุรู�ปสุรู�ป

ในการคำ�านวณน!"น ไม�ว�าจะเป%นเลข้จ�านวนเต้&มหร'อเลข้ทศน�ยมก&ต้าม เราสามารถูใส�น�พจน,ให�ก!บการคำ�านวณ

ได�เช่�น การใส�วงเล&บเพ'.อให�ล�าด!บการคำ�านวณเป%นไปต้ามท .ต้�องการ และถู�าคำาดว�าผิลล!พธ์,ท .ได�จากการคำ�านวณจะ

ออกมาเป%นเลข้ทศน�ยมเราจะต้�องแสดงคำ�าโดยใช่� %f เพ'.อให�ได�คำ�าท .ถู�กต้�อง

จบแล์�วครู�บไม2ยากเล์ยใชิ2

ไหม

Page 33: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

บทท�� บทท�� 33

ต�วแปรูในัภาษาซี�ต�วแปรูในัภาษาซี�

Page 34: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในับทม�อะไรูบ�างในับทนั� นั� 31. การูเก7บค2าในัภาษาซี�

32 กฎิ์การูต� งชิ��อต�วแปรู 33. ว�ธิ�การูสุรู�างต�วแปรูแล์ะการูก�าหนัด้ค2า

34 ภาษาซี�ก�บต�วแปรูแบบข�อความ 35 การูแสุด้งค2าจากต�วแปรู 36 การูนั�าต�วแปรูไปใชิ�ในัการูค�านัวณ์ 37 การูรู�บค2ามาเก7บไว�ในัต�วแปรู 38 ค2าคงท��ในัภาษาซี� 39 สุรู�ป

Page 35: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 1. 3 1. การูเก7บค2าในัการูเก7บค2าในัภาษา ภาษา CC

• ม� 2 ล์�กษณ์ะค�อ – เก7บค2าแบบค2าคงท��(constant)– เก7บค2าแบบต�วแปรู(variable)

• ค2าคงท��เม��อสุรู�างข! นัมาแล์�วเรูาจะไม2สุามารูถูเปล์��ยนัแปล์งแก�ไขค2าได้�เล์ย เชิ2นั a=20;

• การูเก7บค2าแบบต�วแปรูสุามารูถูเปล์��ยนัแปล์งค2าเป;นัอะไรูก7ได้�ตามท��ต�องการู เชิ2นั char ch;

Page 36: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 1. 3 1. การูเก7บค2าในัการูเก7บค2าในัภาษา ภาษา CC

• การูสุรู�างต�วแปรูจะต�องทรูาบว2าต�วแปรูนั� นัเก7บค2าอะไรู เชิ2นั เล์ขจ�านัวนัเต7ม เล์ขทศินั�ยม ข�อความ หรู�อต�วอ�กษรู เป;นัต�นัโด้ยแบ2งออกเป;นัปรูะเภทด้�งนั� – Character Variable ต�วแปรูท��ใชิ�เก7บ

อ�กขรูะ– Integer Variable ต�วแปรูท��ใชิ�เก7บ

เล์ขจ�านัวนัเต7ม– Float Variable ต�วแปรูท��ใชิ�เก7บ

เล์ขจ�านัวนัทศินั�ยม

Page 37: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Character Character VariableVariable• แบ2งออกเป;นั 2 ล์�กษณ์ะ ค�อ

– Char เก7บค2า ASCII ของต�วอ�กษรูได้�ต� งแต2 - 128

ถู!ง 127– Unsigned char เก7บค2า ASCII ของต�วอ�กษรูได้�

ต� งแต2 - 0255

• ต�วแปรูแบบ character จะใชิ�ในักรูณ์�ท��เรูาต�องการูเก7บอ�กขรูะ 1 ต�ว เชิ2นั a,b หรู�อ c เป;นัต�นั สุ��งท��เรูาเก7บก7ค�อ ต�วอ�กษรู 1 ต�ว ซี!�งม�ค2า ASCII อย�2รูะหว2าง 0 ถู!ง 255 ด้�งนั� นัถู�าเรูาปรูะกาศิต�วแปรูแบบ char เรูาจะใชิ�ต�วแปรูนั� นัเก7บข�อม�ล์ได้�เป;นัค2าใด้ค2าหนั!�งในัรูห�สุ ASCII เท2านั� นั

Page 38: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Character Character VariableVariable• ว�ธิ�ปรูะกาศิต�วแปรูแบบ Character

เข�ยนัได้�ด้�งนั� • char ch;• unsigned char c;

• สุ2วนัมากแล์�วม�กไม2ม�ความแตกต2างรูะหว2าง char แล์ะ unsigned char ด้�งนั� นัจ!งม�กปรูะกาศิเป;นั char เป;นัสุ2วนัใหญ2

-128 ถู!ง 127

0 ถู!ง 255

Page 39: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Integer Integer VariableVariable

• แบ2งออกเป;นั 2 ปรูะเภท ค�อ – int หรู�อ short เก7บเล์ขจ�านัวนัเต7มต� งแต2 -

32,768 ถู!ง 32767,– Long เก7บเล์ขจ�านัวนัเต7มต� งแต2

- 2147483648 ถู!ง 2147483647, , ,

• ว�ธิ�การูใชิ�ค�อถู�าต�องการูต�วเล์ขจ�านัวนัเต7มมากกว2า 32767, เรูาจะต�องปรูะกาศิต�วแปรูแบบ long ถู�านั�อยกว2าก7ปรูะกาศิแบบ int ด้�งต�วอย2าง

Page 40: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Integer Integer VariableVariable

• int a,b,c;• int age;• int height;• long salary,money;• เรูาปรูะกาศิต�วแปรู a,b,c age height แบบ

int เนั��องจาก ต�องการูให�เก7บค2าท��อย�2รูะหว2าง - 32768, ถู!ง 32767, เท2านั� นั แต2 salary แล์ะ money ม�โอกาสุจะม�ค2ามากกว2า นั� นัด้�งนั� นัจ!งต�องปรูะกาศิเป;นั long

Page 41: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

Float Float VariableVariable

• แบ2งออกเป;นั 3 ปรูะเภท ค�อ – Float เก7บทศินั�ยมได้� 34. E+/-38 (ทศินั�ยม 7

ต�าแหนั2ง)– Double เก7บทศินั�ยมได้� 17. E+/-308

(ทศินั�ยม 15 ต�าแหนั2ง)– Long Double เก7บทศินั�ยมได้� 12 E+/-

4932 (ทศินั�ยม 19 ต�าแหนั2ง)float grade;double rate;long double longrate;

Page 42: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

กฎิ์การูต� งชิ��อกฎิ์การูต� งชิ��อต�วแปรูต�วแปรู• ต�องไม2ม�อ�กษรูพื้�เศิษใด้ๆ ปรูะกอบอย�2ด้�วย เชิ2นั ! @ # $

% ^ & * (• สุามารูถูใชิ�เครู��องหมาย underscore ( _ ) ได้�• ชิ��อต�วแปรูม�ต�วเล์ขปนัอย�2ได้� แต2ต�องไม2ข! นัต�นัด้�วยต�วเล์ข• ห�ามม�ชิ2องว2างรูะหว2างชิ��อ• ใชิ�ได้�ท� งพื้�มพื้1เล์7ก แล์ะพื้�มพื้1ใหญ2• ชิ��อเหม�อนัก�นัแต2เป;นัพื้�มพื้1เล์7กพื้�มพื้1ใหญ2 ถู�อว2าคนัล์ะชิ��อ

ก�นั• ห�ามต� งชิ��อซี� าก�บค�าสุงวนั เชิ2นั char long while do

Page 43: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 3. ว�ธิ�การูสุรู�างต�วแปรูแล์ะการูก�าหนัด้ค2า• #include<st

dio.h>• void main()• {

– int age;– char sex;– float grade;– age = 20;– sex = ‘f’;– grade =

3.14;

• }

#include<stdio.h>

void main(){

int age = 20;

char sex = ‘f’;

float grade = 3.14;

}

Page 44: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 4. 3 4. ภาษาซี�ก�บต�วแปรูแบบภาษาซี�ก�บต�วแปรูแบบข�อความข�อความ

• นั�าต�วแปรู char มาเรู�ยงต2อก�นัเรู�ยกว2าต�วแปรูแบบสุตรู�ง(String)

• การูปรูะกาศิต�วแปรูแบบสุตรู�ง จะต�องก�าหนัด้ขนัาด้ด้�วยต�วอย2าง

• char name[15] = “Jacky Chan”;• ต�วแปรูชิ��อ name ม�ความยาว 15 ชิ2องต�วอ�กษรู

แล์ะเก7บข�อความ Jacky Chan เอาไว� ซี!�งการูปรูะกาศิต�วแปรู 15 ชิ2องเอาไว� ท��เหล์�อจะเป;นัชิ2องว2างเฉยๆ ไม2ม�ต�วอ�กษรูบรูรูจ�อย�2J a c k y C h a n0 1 2 3 4 5 6 7 8 9 1011121314

Page 45: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 5. 3 5. การูแสุด้งการูแสุด้งค2าจากต�วแปรูค2าจากต�วแปรู• #include<stdio.h>• void main()• {

int age = 20;char sex = ‘f’;float grade = 3.14;char name[10] = “malee”;printf(“You are %s\n”,name);printf(“You are %c\n”,sex);printf(“You are %d years old\

n”,age); printf(“You grade is %f\

n”,grade);

• }

You are maleeYou are fYou are 20 years oldYour grade is 3.140000

ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 46: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ตารูางแสุด้งสุ�ญล์�กษณ์1ตารูางแสุด้งสุ�ญล์�กษณ์1แสุด้งผิล์แสุด้งผิล์

สุ�ญล์�กษณ์1 ใชิ�สุ�าหรู�บ%d%s%f%c%o%x

แสุด้งค2าท��เป;นัเล์ขจ�านัวนัเต7มแสุด้งค2าท��เป;นัสุตรู�งแสุด้งค2าท��เป;นัเล์ขทศินั�ยมแสุด้งค2าท��เป;นัต�วอ�กษรู 1 ต�วแสุด้งค2าของต�วเล์ขในัรู�ปฐานัแปด้แสุด้งค2าของต�วเล์ขในัรู�ปฐานัสุ�บหก

Page 47: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 6. การูนั�าต�วแปรูไปใชิ�ในัการูค�านัวณ์• #include<stdio.h>

• void main()• {

int a;int b;int c;int ans;a = 20;b = 40;c = 5;ans = (a+b)/c;printf(“Answer is %d\n”,

ans);

• }

Answer is 12

ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 48: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

เครู��องหมายท��ใชิ�ก�บต�วแปรู

• ++ เพื้��มค2าข! นั 1• -- ล์ด้ค2าล์ง 1• += เพื้��มค2าตามจ�านัวนัท��ต�องการู• -= ล์ด้ค2าตามจ�านัวนัท��ต�องการู• *= ค�ณ์ค2าในัต�วแปรูด้�วยจ�านัวนัท��ต�องการู• /= หารูค2าในัต�วแปรูด้�วยจ�านัวนัท��ต�องการู

Page 49: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

เครู��องหมายท��ใชิ�ก�บต�วแปรู

• int a = 5;• int b = 6;

ค�าสุ��งค�าสุ��ง ม�ผิล์เหม�อนัก�บม�ผิล์เหม�อนัก�บ ผิล์ท��ได้�ผิล์ท��ได้�a+=4; a=a+4; บวกค2าอ�ก 4b--; b=b-1; ล์ด้ค2าล์งไป 1

a*=2; a=a*2; a ค�ณ์ 2a/=2 a=a/2; a หารูด้�วย 2

Page 50: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 7. การูรู�บค2ามาเก7บไว�ในัต�วแปรู• ต�วอย2าง scanf1.c

• #include<stdio.h>• void main()• {• int age;• printf(“How old are

you ?\n”);• scanf(“%d”,&age);• printf(“You are %d

years old.\n”,age);• }

How old are you?20You are 20 years old.

ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 51: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 7. การูรู�บค2ามาเก7บไว�ในัต�วแปรู• ต�วอย2าง scanf2.c

• #include<stdio.h>• void main()• {• char sex;• printf(“You are male (M) or

female (F) ?\n”);• scanf(“%c”,&sex);• printf(“You are sex is %c.\n”,sex);• }

You are male (M) or female (F) ?MYou are sex is M.

ผิล์ล์�พื้ธิ1ท��ได้�ผิล์ล์�พื้ธิ1ท��ได้�

Page 52: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง scanf3.c

• #include<stdio.h>• void main()• {• char name[15];• double grade;• printf(“What is your name ?\n”);• scanf(“%s”, name);• printf(“Enter your GPA”);• scanf(“%f”,&grade);• printf(“Hello %s, your GPA is %f.\

n”, name ,grade);• }

Page 53: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

3 8. ค2าคงท��ในัภาษาซี�

• คำ�าคำงท .จะต้�างจากต้!วแปรท .คำ�าคำงท .จะเก&บคำ�าเอาไว�เพ ยงคำ�าเด ยวต้ลอดท!"งโปรแกรม โดยท .เราสร�างคำ�าคำงท .แล�วจะไม�สามารถูเปล .ยนแปลงคำ�าข้องม!นได�

• การต้!"งช่'.อคำ�าคำงท .จะใช่�กฎเด ยวก!นก!บการต้!"งช่'.อต้!วแปร แต้�น�ยมต้!"งช่'.อคำ�าคำงท .ให�เป%นต้!วอ!กษรพ�มพ,ใหญ่�ท!"งหมด เพ'.อให�เก�ดคำวามแต้กต้�างระหว�างช่'.อต้!วแปรก!บช่'.อคำ�าคำงท .

• คำ�าคำงท .ในภาษาซี ม 2 คำ�าส!.งคำ'อ– คำ�าส!.ง const– และ #define

Page 54: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

การูใชิ�ค�าสุ��ง const สุรู�างค2าคงท��• ต�วอย2างโปรูแกรูม const1.c

• #include<stdio.h>• void main()• {• const double pi=3.14;• const float K=4;• const char ch= ‘A’;• const char

company[10]=“INTER”;• printf(“pi = %d\n”,pi);• printf(“K = %f\n”,K);• printf(“ch = %d\n”,ch);• printf(“company name =

%s”,company);• }

Page 55: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

การูใชิ�ค�าสุ��ง #define สุรู�างค2าคงท��• ต�วอย2างโปรูแกรูม define1.c• #include<stdio.h>• #define PI 3.14• #define NAME “SASALAK”• #define CH ‘a’• void main()• {• printf(“PI = %f\n”,PI);• printf(“NAME = %s\

n”,NAME);• printf(“PI = %c\n”,CH);• }

Page 56: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

การูใชิ�ค�าสุ��ง #define สุรู�างค2าคงท��• ต�วอย2างโปรูแกรูม define2.c• #include<stdio.h>• #define PI 3.14• #define AREA(x) PI*x*x• void main()• {• int r;• printf(“R = ?”);• scanf(“%d”, &r);• printf(“Area =

%f”,AREA(r) );• }

จบแล์�วครู�บไม2ยากเล์ยใชิ2

ไหม

Page 57: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

บทท�� บทท�� 44

เง��อนัไขในัภาษาซี�เง��อนัไขในัภาษาซี�

Page 58: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั�

41. การูเปรู�ยบเท�ยบในัภาษา C4.2 เครู��องหมายท��ใชิ�ในัการูเปรู�ยบเท�ยบ

43. ค�าสุ��ง if แล์ะ else4.4 ถู�าจะเปรู�ยบเท�ยบพื้รู�อมๆ ก�นัท�าอย2างไรู?4.5 การูเปรู�ยบเท�ยบค2าในัชิ2วง เชิ2นั อย�2

รูะหว2าง 1 ถู!ง 30 หรู�อไม2 46 การูใชิ� switch แทนัการูใชิ� if

หล์ายๆ ครู� ง

Page 59: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

concepconceptt• ในัการูเข�ยนัโปรูแกรูมนั� นั จะต�องม�การู

เปรู�ยบเท�ยบอย�2ตล์อด้เวล์า ถู�าเรูาต�องการูให�โปรูแกรูมท�างานัตามข�อก�าหนัด้ท��เรูาต�องการู จะต�องม�การูเปรู�ยบเท�ยบแล์ะนั�าผิล์ท��ได้�จากการูเปรู�ยบเท�ยบมาควบค�มการูท�างานัของโปรูแกรูมต2อไป

Page 60: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 2. 4 2. เครู��องหมายเครู��องหมายเปรู�ยบเท�ยบเปรู�ยบเท�ยบ

• เครู��องหมายเปรู�ยบเท�ยบ (Operational Operator) ใชิ�ในัการูเปรู�ยบเท�ยบค2า 2ค2า ว2าเท2าก�นั มากกว2า หรู�อนั�อยกว2าก�นัหรู�อไม2 (โด้ยอาจเป;นัการูเปรู�ยบเท�ยบรูะหว2างต�วแปรูก�บต�วเล์ข หรู�อรูะหว2างต�วแปรูก�บต�วแปรูก7ได้�)

• เชิ2นัการูกด้ ATM จะต�องม�การูเปรู�ยบเท�ยบรูห�สุผิ2านัว2ารูห�สุผิ2านัท��รู�บมา ตรูงก�บรูห�สุผิ2านัท��ม�อย�2หรู�อไม2 เป;นัต�นั

Page 61: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

42. 42. เครู��องหมายเปรู�ยบเครู��องหมายเปรู�ยบเท�ยบเท�ยบ

• > มากกว2าหรู�อไม2• < นั�อยกว2าหรู�อไม2• >= มากกว2าหรู�อเท2าก�นัหรู�อ

ไม2• <= นั�อยกว2าหรู�อเท2าก�นัหรู�อ

ไม2• != ไม2เท2าก�นัหรู�อไม2• == เท2าก�นัหรู�อไม2

Page 62: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

42. 42. เครู��องหมายเครู��องหมายเปรู�ยบเท�ยบเปรู�ยบเท�ยบ

• เม��อเรูาเปรู�ยบเท�ยบค2าใด้ๆ แล์�ว ผิล์ล์�พื้ธิ1ท��เป;นัไปได้�จะม�อย�2ด้�วยก�นัแค2 2 ค2าเท2านั� นัค�อ จรู�ง “ ” (True) ก�บ เท7จ“ ” (False) เหม�อนัก�บการูกด้รูห�สุเครู��อง ATM ถู�ากด้ถู�กผิล์การูเปรู�ยบเท�ยบก7ค�อ True ถู�ากด้ผิ�ด้ผิล์การูเปรู�ยบเท�ยบก7ค�อ False ด้�งต�วอย2างต2อไปนั�

• 5>3 ผิล์เป;นัจรู�ง เพื้รูาะ 5 มากกว2า 3 จรู�ง• 10<34 ผิล์เป;นัจรู�ง เพื้รูาะ 10 นั�อยกว2า 34 จรู�ง• 4 >=3 ผิล์เป;นัจรู�ง เพื้รูาะ 4 มากกว2าหรู�อเท2าก�บ 3 จรู�ง• 4 >=4 ผิล์เป;นัจรู�ง เพื้รูาะ 4 มากกว2าหรู�อเท2าก�บ 4• 6 >=20 ผิล์เป;นัเท7จเพื้รูาะ 6 ไม2ได้�มากกว2าหรู�อเท2าก�บ

20

Page 63: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 3. 4 3. ค�าสุ��ง ค�าสุ��ง if if แล์ะ แล์ะ elseelse

• ค�าสุ��งท��ใชิ�ในัการูตรูวจสุอบเง��อนัไขในัภาษาซี� ค�าสุ��งแรูกท��เรูาจะเรู�ยนัรู��ก�นัก7ค�อ if (แปล์ว2า ถู�า“ ” ) นั��นัค�อเรูาจะใชิ� if เพื้��อตรูวจสุอบผิล์ของการูเปรู�ยบเท�ยบว2าเป;นั จรู�ง หรู�อ เท7จ “ ” “ ”

• ถู�า เป;นัจรู�ง จะให�ท�าอะไรูต2อไป แล์ะถู�าเป;นัเท7จ จะให�ท�าอะไรูต2อไป

If (การูเปรู�ยบเท�ยบ)สุ��งท��ต�องการูให�กรูะท�าถู�าผิล์การูเปรู�ยบเท�ยบเป;นัจรู�ง

Page 64: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง ต�วอย2าง if1.cif1.c

• #include<stdio.h>• void main()• {• int age;• printf(“How old are you ”);• scanf(“%d”,&age);• if (age>=60)• printf(“You are old\

n”);• printf(“Good Bye ! ”);• }

Page 65: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

การูเปรู�ยบเท�ยบต�วแปรูแบบ char

• โปรูแกรูมจะต�องม�การูรู�บต�วอ�กษรู 1 ต�วหล์�งจากนั� นัก7จะม�การูเปรู�ยบเท�ยบต�วอ�กษรูต�วนั� นัๆ เชิ2นั

• ถู�าต�องการูเข�ยนัโปรูแกรูมถูามเพื้ศิ(Gender ) โด้ยให�ผิ��ใชิ�ตอบว2า m(Male) หรู�อ f(Female) เรูาจะเข�ยนัได้�ด้�งนั�

#include<stdio.h>void main(){

char gender;gender = ‘m’if (gender ==‘m’)

printf(“Male”);

}

Page 66: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง ต�วอย2าง ifchar2.cifchar2.c

• #include<stdio.h>• void main()• {• char ch1;• char ch2;• ch1=‘g’;• ch2=‘k’;• printf(“ch1=%d\n”,ch1);• printf(“ch2=%d\n”,ch2);• if(ch2>ch1)• printf(“ch2 is more

than ch1\n”);• }

Page 67: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง ต�วอย2าง ifchar2.cifchar2.c

If(age>=60)printf(“You are old\n”);

printf(“Good Bye!!”);

If(age>=60)printf(“You are old\n”);

printf(“Good Bye!!”);

ถู�า age เท2าก�บ 70

ถู�า age เท2าก�บ 34

การูเปรู�ยบเท�ยบเป;นัจรู�ง

การูเปรู�ยบเท�ยบเป;นัเท7จ

มาท�าบรูรูท�ด้นั� เล์ย

Page 68: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง ต�วอย2าง if2.cif2.c

• #include<stdio.h>• void main()• {• char brother;• int age;• printf(“Do you have brother?”);• scanf(“%c”,&brother);• if(brother == ‘y’)• {• printf(“How old is he?\n”);• scanf(“%d”,&age);• printf(“He is %d years old.\

n”,age);• }• printf(“Good bye!”);• }

ถู�าตอบ y ซี!�งหมายถู!ง ใชิ2 ก7จะท�า ภายในัปBกกา

Page 69: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4.3 if 4.3 if แล์ะ แล์ะ elseelse• #include<stdio.h>

• void main()• {• int age;• printf(“How old are you ?”);• scanf(“%c”,&age);• if(age >= 60)• printf(“You are old \n”);• else• printf(“You are young\n”);• printf(“Good bye!”);• }

Page 70: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4. การูเปรู�ยบเท�ยบการูเปรู�ยบเท�ยบพื้รู�อมๆ ก�นัพื้รู�อมๆ ก�นั

• หากต�องการูเปรู�ยบเท�ยบพื้รู�อมๆ ก�นั แล์ะท�าเม��อการูเปรู�ยบเท�ยบเป;นัจรู�งท�กค2าเท2านั� นั ยกต�วอย2างเชิ2นั

• ใชิ� if ตรูวจสุอบว2าค2าต�วแปรู a ก�บ b นั� นัมากกว2า 0 ท� งค�2หรู�อไม2 ถู�าเข�ยนัโปรูแกรูมโด้ยใชิ� if จะเข�ยนัได้�ด้�งนั�

Int a=20;Int b=6;If(a>0)

{if(b>0)

{printf(“Yes!! a>0 and

b>0”);}

}

Page 71: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ล์ด้ความซี�บซี�อนัของล์ด้ความซี�บซี�อนัของโปรูแกรูมล์งโปรูแกรูมล์ง• ต�องใชิ� Logical Operator ซี!�งม� 2 ต�วค�อ

• && ค�อ เครู��องหมาย แล์ะ “ ” (AND)• || ค�อเครู��องหมาย หรู�อ“ ” (OR)

A B A && BA || BTrue True True TrueTrue False False TrueFalse True False TrueFalse False False False

Page 72: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. การูเปรู�ยบเท�ยบพื้รู�อมๆ ก�นั

int a=20;int b=6;if((a>0) &&

(b>0)){

printf(“Yes!! Ok.”);

}

int a=20;int b=6;int c=8;if((a>0) &&

(b>0) && (c>5))

{ printf(“Yes!!

Ok.”);}

Page 73: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

44. 44. การูเปรู�ยบเท�ยบการูเปรู�ยบเท�ยบพื้รู�อมๆ ก�นัพื้รู�อมๆ ก�นั

• เครู��องหมาย && นั� นั ถู�าค2าใด้ค2าหนั!�งเป;นัเท7จจะท�าให�ผิล์ล์�พื้ธิ1เป;นัเท7จด้�วย

• เครู��องหมาย || นั� นั จะให�ผิล์ล์�พื้ธิ1เป;นัจรู�ง ถู�าค2าใด้ค2าหนั!�งหรู�อท� งหมด้เป;นัจรู�ง

Page 74: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4.ใชิ� ใชิ� &&&&• int a=20;

• int b=6;• if(a>0)• {• if((a>0) && (b>0) &&

(c>5))• {• printf(“Yes!!

Ok.”);• }• else• {• printf(“OH…

No!!!”);• }• }

ล์งมาท�าค�าสุ��งต2อไป

Page 75: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

• int a=20;• int b=6;• int c=8;• if((a<0) || (b<0) ||

(c>5))• {• printf(“Yes!!

Ok.”);• }

44. 44.ใชิ� ใชิ� ||||

เท7จเท7จ จรู�ง

Page 76: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4.โปรูแกรูม โปรูแกรูม

or.cor.c• #include<stdio.h>• void main()• {• int a,b;• printf(“Enter number 1”);• scanf(“%d”,&a);• printf(“Enter number 2”);• scanf(“%d”,&b);• if((a<=0)||(b<=0))• printf(“a,b must not less

than zero !\n”);• else• printf(“ans = %d”,a+b);• printf(“\nGood bye!”);• }

Page 77: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4.โปรูแกรูม โปรูแกรูม and.cand.c• #include<stdio.h>

• void main()• {• int a,b;• printf(“Enter number 1 :”);• scanf(“%d”,&a);• printf(“Enter number 2 :”);• scanf(“%d”,&b);• if((a>=100)&&(b>=100))• printf(“ans = %d”,a*b);• else• printf(“Both of number

must more than 100”);• printf(“\nGood bye!”);• }

Page 78: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4. เปรู�ยบเท�ยบความเท2าก�นัเปรู�ยบเท�ยบความเท2าก�นัแล์ะไม2เท2าก�นัแล์ะไม2เท2าก�นั

• #include<stdio.h>• void main()• {• int a,b;• printf(“Enter number 1 :”);• scanf(“%d”,&a);• printf(“Enter number 2 :”);• scanf(“%d”,&b);• if((a==0)||(b==0))• printf(“Error! Zero

values.”);• else• printf(“ans=%d”,a+b);• printf(“\nGood bye!”);• }

ล์องเปล์��ยนัเป;นัเครู��องหมาย != แทนั

Page 79: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4. การูตรูวจสุอบค2าแบบการูตรูวจสุอบค2าแบบชิ2วงชิ2วง

• เรูาสุามารูถูใชิ� && ในัการูตรูวจสุอบค2าต�วแปรูว2าอย�2ในัชิ2วงท��ก�าหนัด้หรู�อไม2 เชิ2นั ถู�าต�องการูตรูวจสุอบค2าต�วแปรู i ว2าอย�2ในัชิ2วง 60 ถู!ง 100

หรู�อไม2 ให�เข�ยนัโปรูแกรูมด้�งนั� – If((i>=60)&&(i<=100))– {– … – }

• ถู�าค2าในัต�วแปรู i ม�ค2าเท2าก�บ 74 เง��อนัไขของ if จะเป;นัจรู�ง ท�าให�โปรูแกรูมท��อย�2ในั {} ถู�กกรูะท�า

Page 80: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4. ค�าสุ��ง ค�าสุ��ง if if แล์ะ แล์ะ else ifelse if

• If แล์ะ else จะใชิ�ในักรูณ์�ท��ม�เง�อนัไขเด้�ยวเชิ2นัif(a==10)

printf(“OK”);else

printf(“Not OK”);• Else if ใชิ�ในักรูณ์�เปรู�ยบเท�ยบหล์ายๆ ค2า

เชิ2นัif(a==20)

printf(“a is 20”);else if(a==30)

printf(“a is 30”);else if(a==40)

printf(“a is 40”);else

printf(“a is over”);

Page 81: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4.โปรูแกรูม โปรูแกรูม grade.cgrade.c• #include<stdio.h>

• void main()• {• int score;• printf(“Score : ”);• scanf(“%d”,&score);• if((score>=80)&&(score<=100))• printf(“A\n”);• else

if((score>=70)&&(score<=79))• printf(“B\n”);• else

if((score>=60)&&(score<=69))• printf(“C\n”);• else

if((score>=50)&&(score<=59))• printf(“D\n”);• else• printf(“You got F !!\n”);

• }

Page 82: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 4. 4 4. ค�าสุ��ง ค�าสุ��ง switch…caseswitch…case• switch1.c

• #include<stdio.h>• void main()• {• char sex;• printf(“are you m (male) of f (female) ?”);• scanf(“%c”,&sex);• switch (sex)• {• case ‘m’ : printf(“You are male\n”);

break;• case ‘f’ : printf(“You are

female\n”); break;• default : printf(“Try again!!\

n”);• }• }

จบแล์�วครู�บไม2ยากเล์ยใชิ2

ไหม

Page 83: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

บทท�� บทท�� 55

การูท�าซี� าการูท�าซี� า

Page 84: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในับทนั� ม�อะไรูบ�างในับทนั� • 41. ท�าไมถู!งต�องม�การูท�าซี� า• 42 ค�าสุ��งท��ใชิ�ในัการูท�าซี� า• การูท�าซี� า หมายถู!ง การูสุ��งให�โปรูแกรูมท�างานั

อย2างใด้อย2างหนั!�งวนัไปวนัมา จนักรูะท��งครูบตามจ�านัวนัท��ต�องการูหรู�อตรูงตามเง��อนัไขท��เรูาก�าหนัด้เอาไว�

• การูท�าซี� าเก�ด้ข! นับ2อยๆ ในัชิ�ว�ตปรูะจ�าว�นั เชิ2นั การูวนัรู�บรูห�สุผิ2านั จนักว2าจะใสุ2รูห�สุผิ2านัถู�กต�อง หรู�อไม2เก�นั 3 ครู� ง ,การูวนัรู�บรูห�สุบ�ตรูเต�มเง�นัของบรู�การูโทรูศิ�พื้ท1 ไม2เก�นั 3 ครู� ง จนักว2าจะใสุ2รูห�สุบ�ตรูเต�มเง�นัถู�กต�อง เป;นัต�นั

Page 85: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

TyTypepe

• การูท�าซี� าม� 2 ล์�กษณ์ะ ค�อ• แบบม�จ�านัวนัรูอบท��แนั2นัอนั เชิ2นั ต�องการูให�พื้�มพื้1

ต�วอ�กษรู a จ�านัวนั 1000 ครู� งข! นับนัหนั�าจอ แบบนั� จะใชิ� ค�าสุ��ง for

• แบบใชิ�เง��อนัไขเป;นัต�วต�ด้สุ�นัใจว2าจะท�าซี� าต2อไปหรู�อไม2 ต�องการูให�โปรูแกรูมท�าไปเรู��อยๆ ในัขณ์ะท��เง��อนัไขย�งเป;นัจรู�ง อย�2 เชิ2นั ให�รู�บรูห�สุผิ2านัไปเรู��อยๆ จนักว2าจะใสุ2ถู�ก ซี!�งจะไม2ม�จ�านัวนัรูอบท��แนั2นัอนัตายต�ว ล์�กษณ์ะนั� จะม� 2 ค�าสุ��งค�อ do..while แล์ะ while

Page 86: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4.4. 2 2

forfor• ใชิ�ในักรูณ์�ท��เรูาต�องการูท�าซี� าโด้ยทรูาบจ�านัวนัครู� งท��แนั2นัอนั เชิ2นั 20 ครู� ง 30 ครู� ง

• การูใชิ�งานัจะก�าหนัด้ล์งไปเล์ยว2าต�องการูให�ท�าก��ครู� ง แล์ะจะต�องสุรู�างต�วแปรู ข! นัมาเป;นัต�วนั�บ (counter) โด้ยมากจะก�าหนัด้ให�เป;นัต�วแปรูแบบจ�านัวนัเต7ม (integer)

• ต�วนั�บจะเป;นัต�วคอยบอกว2าครูบตามจ�านัวนัท��ต�องการู

หรู�อย�ง ถู�าย�งไม2ครูบก7จะวนัไปเรู��อยๆ จนักว2าจะครูบ

Page 87: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 2. 4 2. รู�ปแบบ รู�ปแบบ ของ ของ forfor

• for(ค2าเรู��มต�นัของต�วนั�บ เชิ2นั 0 ;• เปรู�ยบเท�ยบต�วนั�บว2าย�งอย�2ในัชิ2วงนั� หรู�อไม2;• จ�านัวนันั�บเพื้��มท�ล์ะเท2าไรู หรู�อล์ด้ท�ล์ะเท2าไรู)• {• ค�าสุ��งท��ต�องการูให�ท�า• }

Page 88: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

4 2. 4 2.โปรูแกรูม โปรูแกรูม for1.cfor1.c• #include<stdio.h>

• Void main()• {• int count;• printf(“Begin\n”);•

for(count=0;count<10;count++)

• printf(“Hello\n”);• printf(“End\n”);• }

เรู��มต�นัให� count=0

ท�าในัขณ์ะท�� count<10

เพื้��มค2า count ท�ล์ะ 1count=count+1

Page 89: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

43 43 ผิล์รู�นัผิล์รู�นัโปรูแกรูมโปรูแกรูม• Begin

• Hello• Hello• Hello• Hello• Hello• Hello• Hello• Hello• Hello• Hello• End

• คำ�าว�า Hello จะถู�กแสดงท!"งหมด 10 คำร!"ง โดยท .ต้!วแปร count คำ'อต้!วแปรท .ใช่�เป%นต้!วน!บ เราให�คำ�าเร�.มต้�นเป%น 1 และจะเพ�.มคำ�าข้5"นท ละ

1 ไปเร'.อยๆ ในข้ณะท .ต้!วแปร count ย!งน�อยกว�า

10 แต้�ถู�าต้!วแปร count เท�าก!บ 10 เม'.อไร� เง'.อนไข้จะเป%นเท&จ โปรแกรมก&จะหล7ดออกจากคำ�าส!.ง for ท!นท

Page 90: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

โปรูแกรูม โปรูแกรูม สุ�ตรูค�ณ์สุ�ตรูค�ณ์

• #include<stdio.h>• Void main()• {• int mother=6;• int count;• printf(“Begin\n”);• for (count =1;count<=12;count++)• {• pintf(“%d x %d = %d\

n”,mother,count,mother *count);• }• printf(“End\n”);• }

Page 91: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

while while แล์ะ แล์ะ do..whiledo..while

• ค�าสุ��ง while แล์ะ do..while จะต2างจากค�าสุ��ง forเล์7กนั�อยตรูงท��การูท�าซี� าแบบนั� ไม2จ�าเป;นัต�องบอกถู!งจ�านัวนัรูอบของการูท�าซี� า แต2ล์ะท�าซี� าไปเรู��อยๆ จนักว2าเง��อนัไขจะเป;นัเท7จ

• รู�ปแบบค�าสุ��ง while ค�อ• While (เง��อนัไข)• {• ค�าสุ��งหรู�อกล์�2มค�าสุ��งท��ต�องการูให�ท�าซี� า• }

Page 92: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

while.cwhile.c• #include<stdio.h>• Void main()• {• int count=1;• while(count<=10)• {• printf(“Hello %d

\n”,count);• count++;• }• }

• จากต�วอย2างเรูาก�าหนัด้ให� count ม�ค2า เป;นั 1 จากนั� นัใชิ�ค�าสุ��ง while ตรูวจด้�ค2าของ count ว2าย�งนั�อยกว2าหรู�อเท2าก�บ 10 หรู�อไม2 ถู�าใชิ2ก7ย�งท�าค�าสุ��งภายในั{} ต2อไป แล์ะเพื้��มค2า count ท�ล์ะ 1 ไปเรู��อยๆ จนักว2าค2า count จะมากกว2า 10 ท�าให�เง��อนัไขเป;นัเท7จก7จะหล์�ด้จากล์�ป while

Page 93: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

dowhile.dowhile.cc• #include<stdio.h>

• void main()• {• char out;• do• {• printf(“\n Do you what to

exit ?[Y]es or [N]o :”);• scanf(“%c”,&out);• }

while(out!=‘y’);• }

• ก2อนัเข�าสุ�2การูตรูวจสุอบเง��อนัไข(out!=‘y’) ครู� งแรูกนั� นัจะม�การูท�าค�าสุ��งในั {} ก2อนั ด้�งนั� นั do..while จ!งท�าค�าสุ��งภายในั {} อย2างนั�อย 1 ครู� งเสุมอ แล์ะถู�าตรูวจสุอบแล์�วเง��อนัไขย�งจรู�งอย�2ก7จะวนัมาท�าค�าสุ��งภายในั {} อ�กครู� ง

จบแล์�วครู�บไม2ยากเล์ยใชิ2

ไหม

Page 94: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

การูสุรู�างแล์ะใชิ�งานัฟ8งก1ชิ�นัการูสุรู�างแล์ะใชิ�งานัฟ8งก1ชิ�นั

บทท�� บทท�� 55

Page 95: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ม�อะไรูบ�างในับทม�อะไรูบ�างในับทนั� นั�

• 6.1 ความหมายแล์ะการูท�างานัของฟ8งก1ชิ�นั• 6.2 ปรูะโยชินั1ของการูใชิ�ฟ8งก1ชิ�นั• 6.3 ว�ธิ�การูสุรู�างฟ8งก1ชิ�นัอย2างง2าย

Page 96: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

6 1. 6 1.ความหมายความหมาย• ฟ8งก1ชิ�นัในัภาษาซี�ม�อย�2 2 ชินั�ด้ค�อ

– ฟ8งก1ชิ��นัท��ม�อย�2ในัไล์บรูารู�ของภาษาซี�– ฟ8งก1ชิ��นัท��เรูาสุรู�างข! นัเอง

• ฟั9งก,ช่!.นท .ม อย��แล�วในภาษาซี เวลาจะเร ยกใช่�งานก&ต้�องท�าการ include ไฟัล,นามสก7ล .h เช่�นถู�าต้�องการใช่�ฟั9งก,ช่! .น prinf หร'อ scanf จะต้�อง include ไฟัล,ช่'.อ stdio.h มาก�อน เป%นต้�น

• ฟั9งก,ช่!นท .เข้ ยนข้5"นเองใหม�เหม'อนก!บสร�างภาษาซี ข้5"นเองเพ�.มเต้�มจากท .ม อย��แล�ว ซี5.งจะท�าให�ลดคำวามซี!บซี�อนข้องโปรแกรมลง

Page 97: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ฟ8งก1ชิ�นัแรูกในัโปรูแกรูมค�อ ฟ8งก1ชิ�นัแรูกในัโปรูแกรูมค�อ main()main()

• ต�วอย2างโปรูแกรูม Func1.c.

• #include<stdio.h>• void main()• {• int x,y,z;• x = 100;• y=23;• z=x+y;•

printf(“%d”,z);• }

• ต�วอย2างโปรูแกรูม Func1.c.

• #include<stdio.h>• void main()• {• int x,y,z;• x = 100;• y=23;• z=x+y;•

printf(“%d”,z);• }

ม�การูเรู�ยกใชิ�ฟ8งก1ชิ�นั printf จะเห7นัว2าจะต�องม�การู include ไฟล์1 stdio.h เข�ามาก2อนั

ม�การูเรู�ยกใชิ�ฟ8งก1ชิ�นั printf จะเห7นัว2าจะต�องม�การู include ไฟล์1 stdio.h เข�ามาก2อนั

Page 98: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

จากต�วอย2างจากต�วอย2าง#include<stdio.h>void test( ){

int x,y,z;x = 100;y = 23;z = x+y;

printf(“%d”,z);}

void main( ){

test( );}

เรู�ยกใชิ�ฟ8งก1ชิ�นั test( ) เพื้�ยงต�วเด้�ยวก7จะท�างานัเหม�อนัค�าสุ��งท� งหมด้ท��เข�ยนัไว�ในัฟ8งก1ชิ�นัtest () ข�างบนั

เรู�ยกใชิ�ฟ8งก1ชิ�นั test( ) เพื้�ยงต�วเด้�ยวก7จะท�างานัเหม�อนัค�าสุ��งท� งหมด้ท��เข�ยนัไว�ในัฟ8งก1ชิ�นัtest () ข�างบนั

int x,y,z;x = 100;y = 23;z = x+y;printf(“%d”,z);

แยกค�าสุ��งบางสุ2วนัมาใสุ2ในัฟ8งก1ชิ�นั ชิ��อ test ( )แยกค�าสุ��งบางสุ2วนัมาใสุ2ในัฟ8งก1ชิ�นั ชิ��อ test ( )

Page 99: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

• #include<stdio.h>• void test( )• {• int x,y,z;• x = 100;• y = 23;• z = x+y;• printf(“%d”,z);• }• void main( )• {• test( );• }

ฟ8งก1ชิ�นัหล์�กฟ8งก1ชิ�นัหล์�ก

โปรูแกรูมเข�ยนัใหม2จะโปรูแกรูมเข�ยนัใหม2จะเป;นัด้�งนั� เป;นัด้�งนั�

สุ2วนัของฟ8งก1ชิ�นั ชิ��อว2า test ( )สุ2วนัของฟ8งก1ชิ�นั ชิ��อว2า test ( )

เรู�ยกชิ��อฟ8งก1ชิ�นั test ( ) เพื้��อท�างานัตรูงจ�ด้นั� เรู�ยกชิ��อฟ8งก1ชิ�นั test ( ) เพื้��อท�างานัตรูงจ�ด้นั�

Page 100: c++_2553

โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11

ต�วอย2าง โปรูแกรูม ต�วอย2าง โปรูแกรูม EasyFunc1.cEasyFunc1.c

• #include<.h>• vvvv vvvvvvvu()• {• printf(“==== MENU

====\n\n”);• printf(“a) Say Hello\

n”);• printf(“b) Say Good

Bye\n”);• printf(“Select a or

b : \n”);• }• Void main()• {• printf(“Begin\n”);• showmenu();• printf(“END\n”);• }

• #include<stdio.h>• voi dshowmenu()• {• printf(“==== MENU

====\n\n”);• printf(“a) Say Hello\

n”);• printf(“b) Say Good

Bye\n”);• printf(“Select a or

b : \n”);• }• Void main()• {• printf(“Begin\n”);• showmenu();• printf(“END\n”);• }

Begin==== MENU

====

a) Say Hellob) Say Good ByeSelect a or b :END

Begin==== MENU

====

a) Say Hellob) Say Good ByeSelect a or b :END