c++_2553
TRANSCRIPT
ด้�วยด้�วยภาษาภาษาด้�วยด้�วยภาษาภาษา
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู�ครู�ทองสุ�ข เอ��ยมศิ�รู�
สุ�านั�กงานัเขตพื้� นัท��การูศิ!กษาฉะเชิ�งเทรูา เขต สุ�านั�กงานัเขตพื้� นัท��การูศิ!กษาฉะเชิ�งเทรูา เขต 11
การูเข�ยนัโปรูแกรูมการูเข�ยนัโปรูแกรูม
CC++
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ภาษาซี�ภาษาซี�เบ� องต�นัเบ� องต�นัภาษาซี�ภาษาซี�เบ� องต�นัเบ� องต�นั
บทท�� บทท�� 11
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั� 11. บทนั�าการูเข�ยนัโปรูแกรูม
12 ซีอฟต1แวรู1ค�ออะไรู? 13 ภาษาคอมพื้�วเตอรู1 14 โปรูแกรูมท��เข�ยนัจะท�างานั
อย2างไรู? 15 ไฟล์1โปรูแกรูมท��ได้�จากการู
แปล์ภาษา 17 ปรูะว�ต�ของภาษาซี� 18 พื้�ฒนัาการูของคอมไพื้เล์อรู1
ภาษาซี� 19 รูะบบชิ2วยเหล์�อของคอมไพื้
เล์อรู1ภาษาซี� 110 สุรู�ป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
1 1. 1 1. บทนั�าการูเข�ยนับทนั�าการูเข�ยนัโปรูแกรูมโปรูแกรูม
• เรูาเข�ยนัโปรูแกรูมไปเพื้��ออะไรู– เพื้รูาะว2าในัหล์�กสุ�ตรูท��เรู�ยนัอย�2บ�งค�บว�ชิานั� – เพื้รูาะอาจารูย1ให�เข�ยนัโปรูแกรูมสุ2งอาท�ตย1หนั�า– เพื้รูาะอยากเพื้��มพื้�นัความรู��ด้�านัคอมพื้�วเตอรู1– เพื้รูาะต�องการูเข�ยนัโปรูแกรูมไว�ใชิ�เอง– ฯล์ฯ
• การูเข�ยนัโปรูแกรูมก7เหม�อนัการูแก�โจทย1ป8ญหา เรูาจะต�องทรูาบว2าเรูาต�องการูอะไรูเพื้��อสุรู�างโปรูแกรูมใหม2ๆ ตามท��เรูาต�องการู
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
Application Application SoftwareSoftware• เป;นัโปรูแกรูมท��ถู�กสุรู�างข! นัเพื้��อท�างานัด้�านัต2างๆ ซี!�งก7
ถู�กเข�ยนัข! นัจากโปรูแกรูมภาษาต2างๆ • เชิ2นั PowerDVD, Windows Media
Player, Winamp, Word, Calculator, SPSS
• สุามารูถูแบ2งออกได้�หล์ายปรูะเภทด้�งนั� – โปรูแกรูมพื้�มพื้1งานั– โปรูแกรูมเกม– โปรูแกรูมย�ท�ล์�ต� – โปรูแกรูมม�ล์ต�ม�เด้�ย– โปรูแกรูมสุ�าหรู�บรูะบบ– โปรูแกรูมภาษาสุ�าหรู�บพื้�ฒนัาซีอฟต1แวรู1
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
กรูะบวนัการูแปล์กรูะบวนัการูแปล์โปรูแกรูมโปรูแกรูม
------------
------------
ซีอรู1สุโค�ด้ กรูะบวนัการูแปล์โปรูแกรูมโปรูแกรูมท��สุามารูพื้ท�างานัได้�โด้ยไม2ต�องม� source code
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ต�วแปล์ต�วแปล์ภาษาภาษา• คอมไพื้เล์อรู1(compiler)
– คอมไพื้เล์อรู1จะอ2านัโปรูแกรูมท� งหมด้ก2อนั เม��อเจอข�อผิ�ด้พื้ล์าด้ก7จะแจ�งให�แก�ไข แต2ถู�าไม2พื้บข�อผิ�ด้พื้ล์าด้ใด้ๆ ในัโปรูแกรูม ก7จะแปล์ให�เป;นัโปรูแกรูมท��พื้รู�อมจะท�างานัด้�งรู�ป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ขอตรูวจสุอบด้�ก2อนั
Main(){ printf(“XX”);printf(“YY”);}
Main(){ printf(“XX”);printf(“YY”);}
กระบวนการแปลโปรแกรม
ม ข้�อผิ�ดพลาดไปแก�ไข้มาใหม�
ถู�กต้�องผิ�านได�
ต�วแปล์ต�วแปล์ภาษาภาษา
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
• อ�นัเตอรู1พื้รู�เตอรู1(interpreter)– อ�นัเตอรู1พื้รู�เตอรู1จะอ2านัโปรูแกรูมมาท�
ล์ะบรูรูท�ด้แล์ะท�าตามค�าสุ��งแบบบรูรูท�ด้ต2อบรูรูท�ด้ถู�าเจอข�อผิ�ด้พื้ล์าด้โปรูแกรูมจะหย�ด้แล์ะแจ�งให�ทรูาบว2าผิ�ด้พื้ล์าด้
– ต�วอย2างเชิ2นัการูแปล์ภาษา HTML
ต�วแปล์ต�วแปล์ภาษาภาษา
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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)
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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วนัมาก
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
1 7. พื้�ฒนัาการูของคอมไพื้เล์อรู1ภาษา C
•DOS >> Turbo C•Windows >>
– Microsoft Visual C++– Borland C++– Borland C++ Builder– Symantec C/C++
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
1 8. รูะบบชิ2วยเหล์�อของคอมไพื้เล์อรู1ภาษา C
• เม��อต�ด้ต� งคอมไพื้เล์อรู1ภาษา C แล์�วจะม�รูะบบชิ2วยเหล์�อมาให�ด้�วย
• Visual C++ จะม�รูะบบชิ2วยเหล์�อท��ชิ��อ MSDN(Microsoft Developer Network
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
ไหม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
รูห�สุควบค�มรูห�สุควบค�มแล์ะการูค�านัวณ์แล์ะการูค�านัวณ์
บทท�� บทท�� 22
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั�
21. รูห�สุควบค�มในัภาษา C 22. ใสุ2ค�าอธิ�บาย(Comment) ล์งในั
โปรูแกรูม 23. การูค�านัวณ์ในัภาษา C 24. นั�พื้จนั1การูค�านัวณ์ 25. การูค�านัวณ์ทศินั�ยม 26 สุรู�ป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 ในัรูะบบเล์ขฐานัสุ�บหก
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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>
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
2 3. 2 3. การูค�านัวณ์การูค�านัวณ์ในัภาษาซี�ในัภาษาซี�
• เครู��องหมายหรู�อโอเปอเรูเตอรู1(Operator) ม�ด้�งนั�
• + เครู��องหมายบวก(Addition)• - เครู��องหมายล์บ(Subtraction)• * เครู��องหมาย
ค�ณ์(Multiplication)• / เครู��องหมายหารู(Division)• % เครู��องหมายหารูแบบเอาเศิษเป;นัค�า
ตอบ(Mod)
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
2 4. 2 4. นั�พื้จนั1นั�พื้จนั1การูค�านัวณ์การูค�านัวณ์• ล์�าด้�บการูค�านัวณ์นั�พื้จนั1ทาง
คณ์�ตศิาสุตรู1• เครู��องหมายท��อย�2หนั�าต�วเล์ข เชิ2นั -2• ( . . . ) วงเล์7บ• *,/ เครู��องหมายค�ณ์แล์ะหารู• -+ , เครู��องหมายบวกแล์ะล์บ
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
2 5. 2 5.สุรู�ปสุรู�ป
ในการคำ�านวณน!"น ไม�ว�าจะเป%นเลข้จ�านวนเต้&มหร'อเลข้ทศน�ยมก&ต้าม เราสามารถูใส�น�พจน,ให�ก!บการคำ�านวณ
ได�เช่�น การใส�วงเล&บเพ'.อให�ล�าด!บการคำ�านวณเป%นไปต้ามท .ต้�องการ และถู�าคำาดว�าผิลล!พธ์,ท .ได�จากการคำ�านวณจะ
ออกมาเป%นเลข้ทศน�ยมเราจะต้�องแสดงคำ�าโดยใช่� %f เพ'.อให�ได�คำ�าท .ถู�กต้�อง
จบแล์�วครู�บไม2ยากเล์ยใชิ2
ไหม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
บทท�� บทท�� 33
ต�วแปรูในัภาษาซี�ต�วแปรูในัภาษาซี�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในับทม�อะไรูบ�างในับทนั� นั� 31. การูเก7บค2าในัภาษาซี�
32 กฎิ์การูต� งชิ��อต�วแปรู 33. ว�ธิ�การูสุรู�างต�วแปรูแล์ะการูก�าหนัด้ค2า
34 ภาษาซี�ก�บต�วแปรูแบบข�อความ 35 การูแสุด้งค2าจากต�วแปรู 36 การูนั�าต�วแปรูไปใชิ�ในัการูค�านัวณ์ 37 การูรู�บค2ามาเก7บไว�ในัต�วแปรู 38 ค2าคงท��ในัภาษาซี� 39 สุรู�ป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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;
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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บ
เล์ขจ�านัวนัทศินั�ยม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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านั� นั
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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าง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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;
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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;
}
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ตารูางแสุด้งสุ�ญล์�กษณ์1ตารูางแสุด้งสุ�ญล์�กษณ์1แสุด้งผิล์แสุด้งผิล์
สุ�ญล์�กษณ์1 ใชิ�สุ�าหรู�บ%d%s%f%c%o%x
แสุด้งค2าท��เป;นัเล์ขจ�านัวนัเต7มแสุด้งค2าท��เป;นัสุตรู�งแสุด้งค2าท��เป;นัเล์ขทศินั�ยมแสุด้งค2าท��เป;นัต�วอ�กษรู 1 ต�วแสุด้งค2าของต�วเล์ขในัรู�ปฐานัแปด้แสุด้งค2าของต�วเล์ขในัรู�ปฐานัสุ�บหก
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
เครู��องหมายท��ใชิ�ก�บต�วแปรู
• ++ เพื้��มค2าข! นั 1• -- ล์ด้ค2าล์ง 1• += เพื้��มค2าตามจ�านัวนัท��ต�องการู• -= ล์ด้ค2าตามจ�านัวนัท��ต�องการู• *= ค�ณ์ค2าในัต�วแปรูด้�วยจ�านัวนัท��ต�องการู• /= หารูค2าในัต�วแปรูด้�วยจ�านัวนัท��ต�องการู
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ท��ได้�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
3 8. ค2าคงท��ในัภาษาซี�
• คำ�าคำงท .จะต้�างจากต้!วแปรท .คำ�าคำงท .จะเก&บคำ�าเอาไว�เพ ยงคำ�าเด ยวต้ลอดท!"งโปรแกรม โดยท .เราสร�างคำ�าคำงท .แล�วจะไม�สามารถูเปล .ยนแปลงคำ�าข้องม!นได�
• การต้!"งช่'.อคำ�าคำงท .จะใช่�กฎเด ยวก!นก!บการต้!"งช่'.อต้!วแปร แต้�น�ยมต้!"งช่'.อคำ�าคำงท .ให�เป%นต้!วอ!กษรพ�มพ,ใหญ่�ท!"งหมด เพ'.อให�เก�ดคำวามแต้กต้�างระหว�างช่'.อต้!วแปรก!บช่'.อคำ�าคำงท .
• คำ�าคำงท .ในภาษาซี ม 2 คำ�าส!.งคำ'อ– คำ�าส!.ง const– และ #define
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
ไหม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
บทท�� บทท�� 44
เง��อนัไขในัภาษาซี�เง��อนัไขในัภาษาซี�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในัม�อะไรูบ�างในับทนั� บทนั�
41. การูเปรู�ยบเท�ยบในัภาษา C4.2 เครู��องหมายท��ใชิ�ในัการูเปรู�ยบเท�ยบ
43. ค�าสุ��ง if แล์ะ else4.4 ถู�าจะเปรู�ยบเท�ยบพื้รู�อมๆ ก�นัท�าอย2างไรู?4.5 การูเปรู�ยบเท�ยบค2าในัชิ2วง เชิ2นั อย�2
รูะหว2าง 1 ถู!ง 30 หรู�อไม2 46 การูใชิ� switch แทนัการูใชิ� if
หล์ายๆ ครู� ง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
concepconceptt• ในัการูเข�ยนัโปรูแกรูมนั� นั จะต�องม�การู
เปรู�ยบเท�ยบอย�2ตล์อด้เวล์า ถู�าเรูาต�องการูให�โปรูแกรูมท�างานัตามข�อก�าหนัด้ท��เรูาต�องการู จะต�องม�การูเปรู�ยบเท�ยบแล์ะนั�าผิล์ท��ได้�จากการูเปรู�ยบเท�ยบมาควบค�มการูท�างานัของโปรูแกรูมต2อไป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 เป;นัต�นั
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
42. 42. เครู��องหมายเปรู�ยบเครู��องหมายเปรู�ยบเท�ยบเท�ยบ
• > มากกว2าหรู�อไม2• < นั�อยกว2าหรู�อไม2• >= มากกว2าหรู�อเท2าก�นัหรู�อ
ไม2• <= นั�อยกว2าหรู�อเท2าก�นัหรู�อ
ไม2• != ไม2เท2าก�นัหรู�อไม2• == เท2าก�นัหรู�อไม2
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
4 3. 4 3. ค�าสุ��ง ค�าสุ��ง if if แล์ะ แล์ะ elseelse
• ค�าสุ��งท��ใชิ�ในัการูตรูวจสุอบเง��อนัไขในัภาษาซี� ค�าสุ��งแรูกท��เรูาจะเรู�ยนัรู��ก�นัก7ค�อ if (แปล์ว2า ถู�า“ ” ) นั��นัค�อเรูาจะใชิ� if เพื้��อตรูวจสุอบผิล์ของการูเปรู�ยบเท�ยบว2าเป;นั จรู�ง หรู�อ เท7จ “ ” “ ”
• ถู�า เป;นัจรู�ง จะให�ท�าอะไรูต2อไป แล์ะถู�าเป;นัเท7จ จะให�ท�าอะไรูต2อไป
If (การูเปรู�ยบเท�ยบ)สุ��งท��ต�องการูให�กรูะท�าถู�าผิล์การูเปรู�ยบเท�ยบเป;นัจรู�ง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 ! ”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);
}
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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จ
มาท�าบรูรูท�ด้นั� เล์ย
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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กกา
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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!”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);}
}
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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.”);}
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
44. 44. การูเปรู�ยบเท�ยบการูเปรู�ยบเท�ยบพื้รู�อมๆ ก�นัพื้รู�อมๆ ก�นั
• เครู��องหมาย && นั� นั ถู�าค2าใด้ค2าหนั!�งเป;นัเท7จจะท�าให�ผิล์ล์�พื้ธิ1เป;นัเท7จด้�วย
• เครู��องหมาย || นั� นั จะให�ผิล์ล์�พื้ธิ1เป;นัจรู�ง ถู�าค2าใด้ค2าหนั!�งหรู�อท� งหมด้เป;นัจรู�ง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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อไป
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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จ จรู�ง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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!”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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!”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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!”);• }
ล์องเปล์��ยนัเป;นัเครู��องหมาย != แทนั
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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ในั {} ถู�กกรูะท�า
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);
• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
ไหม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
บทท�� บทท�� 55
การูท�าซี� าการูท�าซี� า
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในับทนั� ม�อะไรูบ�างในับทนั� • 41. ท�าไมถู!งต�องม�การูท�าซี� า• 42 ค�าสุ��งท��ใชิ�ในัการูท�าซี� า• การูท�าซี� า หมายถู!ง การูสุ��งให�โปรูแกรูมท�างานั
อย2างใด้อย2างหนั!�งวนัไปวนัมา จนักรูะท��งครูบตามจ�านัวนัท��ต�องการูหรู�อตรูงตามเง��อนัไขท��เรูาก�าหนัด้เอาไว�
• การูท�าซี� าเก�ด้ข! นับ2อยๆ ในัชิ�ว�ตปรูะจ�าว�นั เชิ2นั การูวนัรู�บรูห�สุผิ2านั จนักว2าจะใสุ2รูห�สุผิ2านัถู�กต�อง หรู�อไม2เก�นั 3 ครู� ง ,การูวนัรู�บรูห�สุบ�ตรูเต�มเง�นัของบรู�การูโทรูศิ�พื้ท1 ไม2เก�นั 3 ครู� ง จนักว2าจะใสุ2รูห�สุบ�ตรูเต�มเง�นัถู�กต�อง เป;นัต�นั
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
4.4. 2 2
forfor• ใชิ�ในักรูณ์�ท��เรูาต�องการูท�าซี� าโด้ยทรูาบจ�านัวนัครู� งท��แนั2นัอนั เชิ2นั 20 ครู� ง 30 ครู� ง
• การูใชิ�งานัจะก�าหนัด้ล์งไปเล์ยว2าต�องการูให�ท�าก��ครู� ง แล์ะจะต�องสุรู�างต�วแปรู ข! นัมาเป;นัต�วนั�บ (counter) โด้ยมากจะก�าหนัด้ให�เป;นัต�วแปรูแบบจ�านัวนัเต7ม (integer)
• ต�วนั�บจะเป;นัต�วคอยบอกว2าครูบตามจ�านัวนัท��ต�องการู
หรู�อย�ง ถู�าย�งไม2ครูบก7จะวนัไปเรู��อยๆ จนักว2าจะครูบ
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
4 2. 4 2. รู�ปแบบ รู�ปแบบ ของ ของ forfor
• for(ค2าเรู��มต�นัของต�วนั�บ เชิ2นั 0 ;• เปรู�ยบเท�ยบต�วนั�บว2าย�งอย�2ในัชิ2วงนั� หรู�อไม2;• จ�านัวนันั�บเพื้��มท�ล์ะเท2าไรู หรู�อล์ด้ท�ล์ะเท2าไรู)• {• ค�าสุ��งท��ต�องการูให�ท�า• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 ท!นท
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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”);• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
while while แล์ะ แล์ะ do..whiledo..while
• ค�าสุ��ง while แล์ะ do..while จะต2างจากค�าสุ��ง forเล์7กนั�อยตรูงท��การูท�าซี� าแบบนั� ไม2จ�าเป;นัต�องบอกถู!งจ�านัวนัรูอบของการูท�าซี� า แต2ล์ะท�าซี� าไปเรู��อยๆ จนักว2าเง��อนัไขจะเป;นัเท7จ
• รู�ปแบบค�าสุ��ง while ค�อ• While (เง��อนัไข)• {• ค�าสุ��งหรู�อกล์�2มค�าสุ��งท��ต�องการูให�ท�าซี� า• }
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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
ไหม
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
การูสุรู�างแล์ะใชิ�งานัฟ8งก1ชิ�นัการูสุรู�างแล์ะใชิ�งานัฟ8งก1ชิ�นั
บทท�� บทท�� 55
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 3 3 ชินัะสุงสุารูว�ทยา สุพื้ทชินัะสุงสุารูว�ทยา สุพื้ท..ฉะเชิ�งเทรูา เขต ฉะเชิ�งเทรูา เขต 11
ม�อะไรูบ�างในับทม�อะไรูบ�างในับทนั� นั�
• 6.1 ความหมายแล์ะการูท�างานัของฟ8งก1ชิ�นั• 6.2 ปรูะโยชินั1ของการูใชิ�ฟ8งก1ชิ�นั• 6.3 ว�ธิ�การูสุรู�างฟ8งก1ชิ�นัอย2างง2าย
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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.งจะท�าให�ลดคำวามซี!บซี�อนข้องโปรแกรมลง
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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อนั
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 ( )
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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 ( ) เพื้��อท�างานัตรูงจ�ด้นั�
โด้ยโด้ย......ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, ครู�ทองสุ�ข เอ��ยมศิ�รู� โรูงเรู�ยนัเบญจมรูาชิรู�งสุฤษฎิ์�, 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