Top Banner
77

C Programming

Jan 25, 2016

Download

Documents

bin

C Programming. Visual C++. Week 1. Preprocessor Directive. Commen t. Variable. cout cin. Week 2. Operators (ตัวดำเนินการคณิตศาสตร์). ตัวดำเนินการเพิ่ม/ลด ตัวแปร. ข้อมูลชนิด Character. การใช้คำสั่ง \t และ \n. Week 3. การวน Loop โดยใช้คำสั่ง For. Week 4. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: C  Programming
Page 2: C  Programming
Page 3: C  Programming

WeeWeek k 11

• PreprocessoPreprocessor Directiver Directive

• CommenComment t • VariableVariable• cout cincout cin

Page 4: C  Programming

WeeWeek 2k 2 • OperatorsOperators ((ตั�วตั�ว

ดำ��เนินิก�รคณิตัศ�สตัร�ดำ��เนินิก�รคณิตัศ�สตัร�))• ตั�วดำ��เนินิก�รตั�วดำ��เนินิก�รเพิ่�มเพิ่�ม//ลดำ ตั�วแปรลดำ ตั�วแปร • ข้�อม�ลชนิดำ ข้�อม�ลชนิดำ CharacterCharacter• ก�รใช�ค��ส��งก�รใช�ค��ส��ง \t \t และ และ \n\n

Page 5: C  Programming

WeeWeek 3k 3 • ก�รวนิ ก�รวนิ Loop Loop โดำยโดำย

ใช�ค��ส��ง ใช�ค��ส��ง ForFor

• ก�รวนิ ก�รวนิ Loop Loop โดำยโดำยใช� ใช� While While • do…whiledo…while

WeeWeek 4k 4

Page 6: C  Programming

WeeWeek 5k 5 • ทดำสอบย$อยคร�%งท&�ทดำสอบย$อยคร�%งท&�

11WeeWeek k 66

• if…..eif…..elselse

• if….else if….else if …else if …else • switch caseswitch case

Page 7: C  Programming

WeeWeek 7k 7

• ข้�อม�ลชนิดำ ข้�อม�ลชนิดำ CharacterCharacter• ก�รใช�ค��ส��งก�รใช�ค��ส��ง \t \t และ และ \n\n• ArrayArrayWeeWeek 8k 8

• FunctionFunction

Page 8: C  Programming

WeeWeek 9k 9

• สอบสอบกล�งภ�คกล�งภ�ค• Visual Visual C++ 6 C++ 6 • ภ�ษ� ภ�ษ� C C และและแนิวคดำแบบ แนิวคดำแบบ OOPOOP• Class Class & Object& Object

Week Week 1010

• สภ�พิ่แวดำล�อมในิสภ�พิ่แวดำล�อมในิ Visual C++ 6Visual C++ 6

Page 9: C  Programming

• ก�รสร��งก�รสร��ง Control StaticControl Static• ก�รเปล&�ยนิตั�วอ�กษรโดำยก�รเปล&�ยนิตั�วอ�กษรโดำยใช�คล�สใช�คล�ส CFontCFont• สร��งป)*มกดำโดำยใช�สร��งป)*มกดำโดำยใช�คล�ส คล�ส CButtonCButton

Week Week 11 11

• Message MapMessage Map

Page 10: C  Programming

• Class Class CScrollBaCScrollBarr• CEdit CEdit ((กรอบกรอบร�บข้�อคว�มร�บข้�อคว�ม))• CListBoCListBoxx

Week Week 11 22

• CComboBCComboBoxox

Page 11: C  Programming

• Resource Resource ScriptScript

• ก�รสร��ง ก�รสร��ง IconIcon• ก�รสร��งและตัดำก�รสร��งและตัดำตั�%ง ตั�%ง MenuMenu

Week Week 11 33

• ก�รสร��งก�รสร��ง Dialog Dialog (CDialog)(CDialog) • ก�รสร��งก�รสร��ง HotkeyHotkey

Page 12: C  Programming

Week Week 11 44

• ทดำสอบย$อย ทดำสอบย$อย คร�%งท&� คร�%งท&� 22

• Dialog - Dialog - BassedBassed

• AppwizardAppwizard

• ClasswiClasswizardzard

Week Week 11 55

• TextboxTextbox

Page 13: C  Programming

• Check Check BoxBox• Radio BoxRadio Box

• ListListBoxBox

Week Week 11 66 •

CombCombo Boxo Box

WeeWeek k 11 77

WeeWeek k 11 88

• สอบสอบปล�ยภ�คปล�ยภ�ค

Page 14: C  Programming

เกณิฑ์�ก�รเกณิฑ์�ก�รประเมนิผลประเมนิผล• คะแนินิกล�งภ�ค คะแนินิกล�งภ�ค 60 60

คะแนินิ คะแนินิ - - สอบกล�งภ�ค สอบกล�งภ�ค 2020

- - ทดำสอบย$อยทดำสอบย$อย 2020

- - ร�ยง�นิร�ยง�นิ 1010

- - พิ่ฤตักรรมพิ่ฤตักรรม1010• คะแนินิปล�ยภ�คคะแนินิปล�ยภ�ค 40 40 คะแนินิคะแนินิ

- - สอบปล�ยภ�คสอบปล�ยภ�ค 2020

- - ร�ยง�นิร�ยง�นิ 1010

- - พิ่ฤตักรรมพิ่ฤตักรรม1010

รวม รวม 100100 คะแนินิคะแนินิ

Page 15: C  Programming

ร��จั�กก�บภ�ษ� ร��จั�กก�บภ�ษ� CC

ภ�ษ� C เป0นิภ�ษ�ท&�เก$�แก$ ซึ่2�งถู�กพิ่�ฒนิ�เพิ่5�อให้�เป0นิภ�ษ�ส��ห้ร�บ

ก�รสร��งระบบปฏิบ�ตัก�ร UNIX เพิ่ระข้องเดำมนิ�%นิ เข้&ยนิดำ�วยภ�ษ� Assembly

ซึ่2�งเป0นิภ�ษ�ท&�ย2ดำตัดำก�บ H/W จั2งท��ให้�ย��ยระบบปฏิบ�ตัก�รไปท��ง�นิก�บเคร5�องอ5�นิๆเป0นิเเร5�องท&�เป0นิไปไม$ไดำ�

ดำ�งนิ�%นิ ภ�ษ� C จั2งเป0นิภ�ษ�ท&�ไม$ย2ดำตัดำก�บH/W และในิป:จัจั)บ�นิ

ย�งไม$ย2ดำตัดำก�บก�รสร��งระบบปฏิบ�ตัก�รเท$�นิ�%นิ แตั$ย�งนิ��ไปสร��งโปรแกรมเพิ่5�อง�นิท)กประเภทไดำ�

Page 16: C  Programming

ประว�ตัคว�มเป0นิม�ข้องประว�ตัคว�มเป0นิม�ข้องภ�ษ�ซึ่&ภ�ษ�ซึ่& ป; ค.ศ . 1972 Dennis Ritchie เป0นิผ��

คดำค�นิสร��งภ�ษ�ซึ่&ข้2%นิเป0นิคร�%งแรกโดำยพิ่�ฒนิ�ม�จั�กภ�ษ� B และภ�ษ� BCPL แตั$ข้ณิะนิ�%นิย�งไม$ม&ก�รใช�ง�นิภ�ษ�ซึ่&อย$�งกว��งข้ว�งนิ�ก จันิกระท��งตั$อม�ในิป; ค.ศ . 1978 Brain Kernighanไดำ�ร$วมก�บ Dennis Ritchie พิ่�ฒนิ�ม�ตัรฐ�นิข้องภ�ษ�ซึ่&ข้2%นิเร&ยกว$� “K&R”(Kernighan & Ritchie) และเข้&ยนิห้นิ�งส5อช5�อ “The C Programming Language” ออกม�เป0นิเล$มแรก ท��ให้�ม&ผ��สนิใจัภ�ษ�ซึ่&เพิ่�มม�กข้2%นิ และดำ�วยคว�มย5ดำห้ย)$นิข้องภ�ษ�ซึ่&ท&�ส�ม�รถูปร�บใช�ง�นิก�บคอมพิ่วเตัอร�ชนิดำตั$�ง ๆ ไดำ� ท��ให้�ภ�ษ�ซึ่&ไดำ�ร�บคว�มนิยมม�กข้2%นิเร5�อยๆ จันิแพิ่ร$ห้ล�ยไปท��วโลก จันิม&บรษ�ทตั$�ง ๆ สร��งและผลตัภ�ษ�ซึ่& ออกม�เป0นิจั��นิวนิม�ก เกดำเป0นิภ�ษ�ซึ่&ในิห้ล�กห้ล�ยร�ปแบบ

Page 17: C  Programming

ประว�ตัคว�มเป0นิม�ข้องประว�ตัคว�มเป0นิม�ข้องภ�ษ�ซึ่& ภ�ษ�ซึ่& ((ตั$อตั$อ)) ในิป; ค.ศ . 1988 Kernighan & Ritchie

จั2งไดำ�ร$วมก�บ ANSI (American National Institute) สร��งม�ตัรฐ�นิข้องภ�ษ�ซึ่&ข้2%นิ เร&ยกว$� ANSI C เพิ่5�อใช�เป0นิตั�วก��ห้นิดำม�ตัรฐ�นิในิก�รสร��งภ�ษ�ซึ่&ร)$นิตั$อ ๆ ไป ป:จัจั)บ�นิภ�ษ�ซึ่&ย�งคงไดำ�ร�บคว�มนิยมและใช�ง�นิอย$�งกว��งข้ว�งเนิ5�องจั�กเป0นิภ�ษ�ระดำ�บกล�ง (middle-level-language) ท&�เห้ม�ะก�บก�รเข้&ยนิโปรแกรมแบบโครงสร��ง (Structured Programming) และเป0นิภ�ษ�ท&�ม&คว�มย5ดำห้ย)$นิม�ก ค5อใช�ง�นิก�บเคร5�องตั$�ง ๆ ไดำ� และท&�ส��ค�ญ ในิป:จัจั)บ�นิ ภ�ษ�โปรแกรมร)$นิให้ม$ เช$นิ C++, Perl , Java , C# ฯลฯ ย�งใช�ห้ล�กก�รข้องภ�ษ�ซึ่&เป0นิพิ่5%นิฐ�นิดำ�วย กล$�วค5อ ห้�กม&พิ่5%นิฐ�นิข้องภ�ษ�ซึ่&ม�ก$อนิ ก?จัะส�ม�รถูศ2กษ�ภ�ษ�ร)$นิให้ม$เห้ล$�นิ&%ง$�ยข้2%นิ

Page 18: C  Programming

จั)ดำเดำ$นิข้องภ�ษ� จั)ดำเดำ$นิข้องภ�ษ� CC• เป0นิภ�ษ�ท&�ม&ก�รก��ห้นิดำม�ตัรฐ�นิส��ห้ร�บเคร5�องเป0นิภ�ษ�ท&�ม&ก�รก��ห้นิดำม�ตัรฐ�นิส��ห้ร�บเคร5�อง

คอมพิ่วเตัอร�ท)กร)$นิคอมพิ่วเตัอร�ท)กร)$นิ• เป0นิภ�ษ�ท&�ระบบปฏิบ�ตัก�รท)กตั�วยอมร�บเป0นิภ�ษ�ท&�ระบบปฏิบ�ตัก�รท)กตั�วยอมร�บ• เป0นิภ�ษ�ท&�ม&โครงสร��งท&�ดำ& และคว�มช�ดำเจันิข้อง เป0นิภ�ษ�ท&�ม&โครงสร��งท&�ดำ& และคว�มช�ดำเจันิข้อง

เคร5�องห้ม�ยส��ห้ร�บดำ��เนินิก�รเคร5�องห้ม�ยส��ห้ร�บดำ��เนินิก�ร• ส�ม�รถูเข้&ยนิค��ส��งภ�ษ� ส�ม�รถูเข้&ยนิค��ส��งภ�ษ� C C เพิ่5�อควบค)มก�รท��ง�นิเพิ่5�อควบค)มก�รท��ง�นิ

ข้องอ)ปกรณิ� ข้องอ)ปกรณิ� H/W H/W บ�งส$วนิไดำ�บ�งส$วนิไดำ�• ม& ม& Function Function ส��เร?จัร�ป ส��ห้ร�บง�นิประเภทตั$�ง ๆ ให้� ส��เร?จัร�ป ส��ห้ร�บง�นิประเภทตั$�ง ๆ ให้�

เล5อกใช�ม�กม�ยเล5อกใช�ม�กม�ย

Page 19: C  Programming

ก�รส��งง�นิคอมพิ่วเตัอร�ดำ�วยก�รส��งง�นิคอมพิ่วเตัอร�ดำ�วยภ�ษ�โปรแกรมภ�ษ�โปรแกรม

MUL R1, DSTO R1, TEMP1LOD R1 ,BADD R1,TEMP1

ตั�วกลางสำาหรั�บแปลภาษาไปเป�นภาษาเครั��อง

11001010 10011001

00100110 11001011

01001101 10001101

01101100 11000101

Page 20: C  Programming

ก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รท��ง�นิก�รท��ง�นิ

1. 1. ภ�ษ�ระดำ�บตั���ภ�ษ�ระดำ�บตั��� (LOW (LOW LEVEL Language) LEVEL Language) เปเป็็นภาษที่��ใกล�เค�ยงก�บนภาษที่��ใกล�เค�ยงก�บ

ภาษาเครั��องมากที่��สำ!ด สำามารัถเขี�ยนคาสำ��งเพื่��อ ภาษาเครั��องมากที่��สำ!ด สำามารัถเขี�ยนคาสำ��งเพื่��อ ตั&ดตั'อสำ��งงานก�บอ!ปกรัณ์) ตั&ดตั'อสำ��งงานก�บอ!ปกรัณ์) H/W H/W ได�โดยตัรัง ซึ่,�ง ได�โดยตัรัง ซึ่,�ง

ได�แก' ภาษา ได�แก' ภาษา AssemblyAssembly ตั�วอย$�ง ขีอง Assembly

MUL R1, DSTO R1, TEMP1LOD R1 ,BADD R1,TEMP1

Page 21: C  Programming

2. ภ�ษ�ระดำ�บส�ง (High Level Language) เป�นภาษาที่��ใกล�เค�ยงก�บภาษา มน!ษย)มากที่��สำ!ด คาสำ��งตั'าง ๆ จึ,งม�กเป�นภาษาอ�งกฤษ ที่าให�จึดจึาและเขี�ยนได�ง'าย เช่'น

ภาษา Pascal, Cobol, Fortran หรั�อ Basic เป�นตั�นตั�วอย$�งตั�วอย$�ง ขีอง ภาษา Pascal

program Test1;var Name : String;begin

writeln(‘Input your Name’) Readln(name);Writeln(‘Hello ’,Name);

End.

ก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รท��ง�นิ ก�รท��ง�นิ ((ตั$อตั$อ))

Page 22: C  Programming

ก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รแบ$งระดำ�บตั�มล�กษณิะ และก�รท��ง�นิ ก�รท��ง�นิ ((ตั$อตั$อ))

3. 3. ภ�ษ�ระดำ�บกล�งภ�ษ�ระดำ�บกล�ง (Middle Level language) (Middle Level language) ภาษา ภาษา C C ถ2กพื่�ฒนาขี,4นถ2กพื่�ฒนาขี,4น โดยเอาขี�อด�และขี�อเสำ�ยขีอง โดยเอาขี�อด�และขี�อเสำ�ยขีอง 2 2 รัะด�บมาใช่� ค�อ คาสำ��งขีองภาษา รัะด�บมาใช่� ค�อ คาสำ��งขีองภาษา C C เป�นคาสำ��งที่��ม�ความเป�นคาสำ��งที่��ม�ความ

หมายใกล�เค�ยงก�บภาษามน!ษย) และย�งสำามารัถตั&ดตั'อก�บ หมายใกล�เค�ยงก�บภาษามน!ษย) และย�งสำามารัถตั&ดตั'อก�บ H/W H/W ได�รัวดเรัว็ ด�งน�4นภาษา ได�รัวดเรัว็ ด�งน�4นภาษาC C จึ,งถ2กจึ�ดให�เป�นภาษารัะด�บกลางจึ,งถ2กจึ�ดให�เป�นภาษารัะด�บกลางตั�วอย$�งตั�วอย$�ง ขีอง ภาษา ขีอง ภาษา CC

#include (iostream.h)#include (iostream.h)main()main(){{…………....

return 0return 0}}

Page 23: C  Programming

ห้ล�กในิก�รแปลภ�ษ�ห้ล�กในิก�รแปลภ�ษ� แบ$งไดำ� 2 วธี& ค5อ

1. แปลท&ละค��ส��ง ตั�วแปลล�กษณ์ะน�4จึะเรั�ยกว'า

Interpreter โดยจึะที่างานแบบ เป�นคาสำ��ง ตั'อคาสำ��ง น��นค�อจึะอ'านคาสำ��งจึากโปรัแกรัมมา

1 คาสำ��ง และที่างานตัามคาสำ��งน�4นที่�นที่�Print “Hello Link \n ”;print “How are you?”;

Hello LinkInterpreter

Page 24: C  Programming

หล�กในการัแปลภาษา หล�กในการัแปลภาษา ((ตั'อตั'อ))2. แปลท&เดำ&ยวตั�%งแตั$ตั�นิจันิจับ

ตั�วแปลล�กษณ์ะน�4จึะเรั�ยกว'า Compiler หล�กการัที่างานเรั&�มจึาก คอมไพื่ล)เลอรั)จึะที่าการัตัรัวจึ

สำอบคาสำ��งที่�4งหมดขีองโปรัแกรัม เพื่��อด2ว'าม�สำ'วนใด ผิ&ดจึากหล�กการัขีองภาษาน�4นหรั�อไม' ถ�าไม'พื่บขี�อผิ&ด

พื่ลาดคอมไพื่เลอรั)จึะที่าการัแปลคาสำ��งที่�4งหมดในโปรัแกรัมให�เป�นภาษาเครั��องแล�วจึ,งที่างานPrint “Hello Link \n ”;

print “How are you?”;Hello LinkHow are You

Compiler

Page 25: C  Programming

ขี�4นตัอนการัที่างานขีอง ภาษา ขี�4นตัอนการัที่างานขีอง ภาษา CC

#include (iostream.h)main(){ cout<<Hello World\n;}

Object File.obj

test.obj

ฟั7งก)ช่��นจึากไลบรัารั� ในภาษา C

Binary File.exe

test.exe

C Compiler Linker

ไฟล�ช5�อ Test.c

คอมไพื่ล) ล&งค)

Page 26: C  Programming

ก�รนิ��ภ�ษ� ก�รนิ��ภ�ษ� C C ไปใช�ง�นิไปใช�ง�นิ•สร��งระบบปฏิบ�ตัก�ร• ง�นิท�งดำ��นิก�รควบค)มอ)ปกรณิ� H/W•สร��งโปรแกรมส��ห้ร�บจั�ดำพิ่มพิ่�เอกส�ร• สร��งตั�วแปรภ�ษ�อ5�นิ ๆ• สร��งโปรแกรมเพิ่5�อใช�ส��ห้ร�บง�นิท��ว ๆ ไป•เป0นิร�กฐ�นิท&�ส��ค�ญข้องภ�ษ�ให้ม$จั��นิวนิ

ม�ก

Page 27: C  Programming

โครงสร��งข้องภ�ษ� โครงสร��งข้องภ�ษ� CC จัะแบ$งออกเป0นิ 2 ส$วนิดำ�งนิ&%

สำ'วนห�วขีองโปรัแกรัมซึ่,�งเป�นสำ'วนขีอง การักาหนดค'าเรั&�มตั�น และปรัะกาศตั�วแปรั

สำ'วนขีองตั�วโปรัแกรัมซึ่,�งเรั&�มจึากMain() ซึ่,�งอาจึจึะม�การัเรั�ยกใช่�

Function อ��น ๆ กไ็ด�

1

2

Page 28: C  Programming

ตั�วอย$�ง ก�รเข้&ยนิโปรแกรม ตั�วอย$�ง ก�รเข้&ยนิโปรแกรม ภ�ษ� ภ�ษ� CC

#include (iostream.h)main(){

cout<<“C++”;return 0

}

Head

Body

Page 29: C  Programming

สำ'วนห�วขีองโปรัแกรัมสำ'วนห�วขีองโปรัแกรัมสำ'วนห�วขีองโปรัแกรัมจึะเรั&�มตั�นตั�4งแตั'บรัรัที่�ดแรักขีองโปรัแกรัมจึนมา

สำ&4นสำ!ดที่��บรัรัที่�ดก'อน Main() จึะแบ'งออกเป�น 2 สำ'วนด�งน�41. คาสำ��งพื่&เศษ (Preprocessor Directive)

2. การัปรัะกาศตั�วแปรั (Declaration)

#include (stdio.h)int x =4;

main(){

cout<<“C++”;return

}

1

2

main เป�นสำ'วนขีองฟั7งฟั9ช่� �นหล�ก ซึ่,�งโปรัแกรัมภาษาซึ่�ที่!กโปรัแกรัมจึะตั�องม�ฟั7งฟั9ช่� �นน�4อย2'ในโปรัแกรัมเสำมอ โดยขีอบเขีตัขีองฟั7งก)ช่� �นจึะถ2กกาหนดด�วยเครั��องหมาย { }

Page 30: C  Programming

Preprocessor Preprocessor directivedirective

เป�นคาสำ��งรั2ปแบบหน,�งขีองภาษา C ที่��ม�ความ พื่&เศษ โดยในขี�4นตัอนการัแปลความหมายขีอง

โปรัแกรัม ถ�าตั�วแปลภาษา C ตัรัวจึพื่บว'าม�การัใช่� Preprocessor ภายในโปรัแกรัม ก็จึะถ2กแปล

ความหมายเป�นลาด�บแรักก'อนคาสำ��งอ��น ๆ รั2ปแบบขีองการัเขี�ยน Preprocessor จึะ

ตั�องขี,4นตั�นเครั��องหมาย # แตั'ไม'ตั�องลงที่�ายด�วย เครั��อง ; เหม�นคาสำ��งอ��น ๆ ที่��วไป

Page 31: C  Programming

Preprocessor directive Preprocessor directive ((ตั$อตั$อ))

#Include #Define #Error #if #Endfi#Elid #Else #ifdef #ifndef #undef#Line #Pragma

คาสำ��งที่��จึ�ดอย2'ในกล!'มขีอง Preprocessor Directive

Page 32: C  Programming

ร�ปแบบก�รเข้&ยนิค��ส��งภ�ษ� ร�ปแบบก�รเข้&ยนิค��ส��งภ�ษ� CC

• ค��ส��งในิภ�ษ� ค��ส��งในิภ�ษ� C C จัะตั�องเข้&ยนิดำ�วยจัะตั�องเข้&ยนิดำ�วยตั�วอ�กษรพิ่มพิ่�เล?กตั�วอ�กษรพิ่มพิ่�เล?ก

• ท)กค��ส��งตั�องลงท��ยดำ�วย ท)กค��ส��งตั�องลงท��ยดำ�วย ;;•ส�ม�รถูเข้&ยนิค��ส��งไดำ�อย$�งอสระส�ม�รถูเข้&ยนิค��ส��งไดำ�อย$�งอสระ

Page 33: C  Programming

ชนิดำข้องข้�อม�ลในิภ�ษ� ชนิดำข้องข้�อม�ลในิภ�ษ� CC

• ข้�อม�ลเลข้จั��นิวนิเตั?ม ข้�อม�ลเลข้จั��นิวนิเตั?ม (Integer)(Integer)• ข้�อม�ลเลข้ทศนิยม ข้�อม�ลเลข้ทศนิยม (Float)(Float)• ข้�อม�ลชนิดำเลข้ฐ�นิแปดำ ข้�อม�ลชนิดำเลข้ฐ�นิแปดำ (Octal)(Octal)• ข้�อม�ลชนิดำเลข้ฐ�นิสบห้ก ข้�อม�ลชนิดำเลข้ฐ�นิสบห้ก (Hexadecimal)(Hexadecimal)• ข้�อม�ลชนิดำตั�วอ�กข้ระ ข้�อม�ลชนิดำตั�วอ�กข้ระ (Character)(Character)• ข้�อม�ลชนิดำข้�อคว�ม ข้�อม�ลชนิดำข้�อคว�ม (String)(String)

Page 34: C  Programming

ตั�วแปรและห้นิ��ท&�ข้องตั�วแปรตั�วแปรและห้นิ��ท&�ข้องตั�วแปรตั�วแปรตั�วแปร (Variable) (Variable) ค5อ ก�รจัองท&�เก?บข้�อม�ลในิห้นิ$วยคว�มจั��ห้ล�ก ค5อ ก�รจัองท&�เก?บข้�อม�ลในิห้นิ$วยคว�มจั��ห้ล�ก (RAM)(RAM)

ข้องเคร5�องคอมพิ่วเตัอร� พิ่ร�อมก�บก��ห้นิดำช5�อเร&ยกแทนิห้นิ$วยคว�มจั��ในิตั��แห้นิ$งนิ�%นิ ข้องเคร5�องคอมพิ่วเตัอร� พิ่ร�อมก�บก��ห้นิดำช5�อเร&ยกแทนิห้นิ$วยคว�มจั��ในิตั��แห้นิ$งนิ�%นิ อย$�งเช$นิ ถู��เร�สร��งตั�วแปรข้2%นิม� อย$�งเช$นิ ถู��เร�สร��งตั�วแปรข้2%นิม� 1 1 ตั�วโดำยใช�ช5�อ ตั�วโดำยใช�ช5�อ num num ส��ห้ร�บเก?บค$�ข้องส��ห้ร�บเก?บค$�ข้อง

ตั�วเลข้ ตั�วเลข้ 16 16 เม5�อตั�องก�รนิ��ค$� เม5�อตั�องก�รนิ��ค$� 16 16 ม�ใช� เร�ก?เพิ่&ยงแตั$เร&ยกช5�อ ม�ใช� เร�ก?เพิ่&ยงแตั$เร&ยกช5�อ num num ซึ่2�งภ�ษ� ซึ่2�งภ�ษ� C C จัะแปลจัะแปล คว�มห้ม�ยไดำ�ถู�กตั�องว$�ม&ค$�เท$�ก�บ คว�มห้ม�ยไดำ�ถู�กตั�องว$�ม&ค$�เท$�ก�บ 1616

ก�รก��ห้นิดำค$�ให้�ก�บก�รก��ห้นิดำค$�ให้�ก�บตั�วแปรตั�วแปรตั�วแปร ตั�วแปร = = นิพิ่จันิ� เช$นินิพิ่จันิ� เช$นิ

x = 10;x = 10; m = m = x+y; x+y; a = ‘A’;a = ‘A’;

Page 35: C  Programming

ก�รประก�ศตั�วแปรก�รประก�ศตั�วแปร

#include <Stdio.h>int a= 5;int b= 10;int c;main(){

c= a+b;printf (“sum = %d\n”, c);

}

ตั�วแปรัจึานวนเต็ัม

หาผิลบวกแสำดงผิลบวก

Page 36: C  Programming

ชนิดำข้องตั�วแปรในิภ�ษ� ชนิดำข้องตั�วแปรในิภ�ษ� CC ส�ม�รถูแบ$งไดำ� ส�ม�รถูแบ$งไดำ� 2 2 ประเภทให้ญ$ ๆ ค5อ ประเภทให้ญ$ ๆ ค5อ

1. 1. ตั�วแปรแบบพิ่5%นิฐ�นิ ตั�วแปรแบบพิ่5%นิฐ�นิ (Scalar) (Scalar) ซึ่2�งห้ม�ยถู2งท&�ซึ่2�งห้ม�ยถู2งท&�เก?บข้�อม�ลไดำ�เพิ่&ยงค$�เดำ&ยวเก?บข้�อม�ลไดำ�เพิ่&ยงค$�เดำ&ยว เช$นิเช$นิช่น&ดขีองตั�วแปรั ขีนาด(Bits) ขีอบเขีตั ความหมาย

Char 8 -128 ถ,ง127 เกบ็ขี�อม2ลช่น&ดอ�กขีรัะ ใช่�พื่�4นที่��เกบ็ในหน'วยความจึาปรัะมาณ์8 Bits

unsigned Char 8 0 - 255 เกบ็ขี�อม2ลช่น&ดอ�กขีรัะ แบบไม'ค&ดเครั��องหมายint 16 -32768 - 32767 เกบ็ขี�อม2ลขีน&ดตั�วเลขีจึานวนเต็ัมใช่�พื่�4นที่��16 Bits

unsigned int 16 0 - 65535 เกบ็ขี�อม2ลขีน&ดตั�วเลขีจึานวนเต็ัมแบบไม'ค&ดเครั��องหมายshort 8 -128 - 127 เกบ็ขี�อม2ลช่น&ดตั�วเลขีจึานวนเต็ัมแบบสำ�4นใช่�พื่�4นที่��8 Bits

unsigned short 8 0 - 255 เกบ็ขี�อม2ลช่น&ดตั�วเลขีจึานวนเต็ัมแบบสำ�4นแบบไม'ค&ดเครั��องหมายlong 32 -2147483648 เกบ็ขี�อม2ลช่น&ดเลขีจึานวนเต็ัมแบบยาวใช่�พื่�4นที่��32 Bits

unsigned long 32 0 - 4294967296 เกบ็ขี�อม2ลช่น&ดเลขีจึานวนเต็ัมแบบยาวแบบไม'ค&ดเครั��องหมายFloat 32 เกบ็ขี�อม2ลช่น&ดตั�วเลขีที่ศน&ยมใช่�พื่�4นที่��32 Bit เกบ็ที่ศน&ยม6 ตั�ว

double 64 เกบ็ขี�อม2ลช่น&ดตั�วเลขีที่ศน&ยมใช่�พื่�4นที่��Bits เกบ็ที่สำน&ยม12 ตั�วlong double 128 เกบ็ขี�อม2ลช่น&ดตั�วเลขีที่ศน&ยมใช่�พื่�4นที่��128 Bit เกบ็ที่ศน&ยม24 ตั�ว

Page 37: C  Programming

รั2ปแบบการัปรัะกาศตั�วแปรั

Type variable;

type : ช่น&ดขีองตั�วแปรัที่��จึะสำรั�างขี,4นvariable : ช่��อขีองตั�วแปรัที่��ตั�องการัจึะใช่�

int num; float y; char c; double salary;

ตั�วอย'าง

Page 38: C  Programming

ร�ปแบบก�รประก�ศตั�วแปร ร�ปแบบก�รประก�ศตั�วแปร ((ตั$อตั$อ))

Type variable = value;

long million = 1000000; int oct = 0234; int hex = 0x45; float temp = 15.236; double stat = 1.25e-02; char ch =‘#’;

ตั�วอย'าง

Page 39: C  Programming

ร�ปแบบก�รประก�ศตั�วแปร ร�ปแบบก�รประก�ศตั�วแปร ((ตั$อตั$อ)

Type variable-1, Type variable-1, variable-2,... variable-2,... variable-n;variable-n;

type : ชนิดำข้องตั�วแปรท&�จัะสร��งข้2%นิvariable-1... Variable-n : ช5�อข้องตั�วแปรท&�ตั�องก�รจัะใช�

int num1,num2,num3; float point1, point2,point3 = 12.00; char a,b = ‘B’, c,d =‘D’;

ตั�วอย'าง

Page 40: C  Programming

ห้ล�กก�รตั�%งช5�อตั�วแปร• ตั�องข้2%นิตั�นิดำ�วยตั�วอ�กษร ตั�องข้2%นิตั�นิดำ�วยตั�วอ�กษร A-Z A-Z ห้ร5อ ห้ร5อ a-z a-z ห้ร5อเคร5�องห้ม�ย ห้ร5อเคร5�องห้ม�ย _ _

เท$�นิ�%นิเท$�นิ�%นิ• ภ�ยในิช5�อตั�วแปรให้�ใช�ตั�วอ�กษร ภ�ยในิช5�อตั�วแปรให้�ใช�ตั�วอ�กษร A-Z A-Z ห้ร5อ ห้ร5อ a-z a-z ห้ร5อ ห้ร5อ 0-9 0-9 ห้ร5อ ห้ร5อ __• ห้��มเว�นิช$องว$�งภ�ยในิตั�วแปร ห้ร5อใช�ส�ญล�กษณิ�นิอกเห้นิ5อจั�ก ห้��มเว�นิช$องว$�งภ�ยในิตั�วแปร ห้ร5อใช�ส�ญล�กษณิ�นิอกเห้นิ5อจั�ก

ข้�อ ข้�อ 22• ก�รใช�ตั�วอ�กษรตั�วให้ญ$ และตั�วเล?ก ม&คว�มแตักตั$�งก�นิ ก�รใช�ตั�วอ�กษรตั�วให้ญ$ และตั�วเล?ก ม&คว�มแตักตั$�งก�นิ• ห้��มตั�%งช5�อตั�วแปรซึ่�%�ก�บค��สงวนิ ห้��มตั�%งช5�อตั�วแปรซึ่�%�ก�บค��สงวนิ (Reserved Word) (Reserved Word) • ตั�%งช5�อตั�วแปรย�วเท$�ไรก?ไดำ� แตั$เคร5�องร�$จั�กแค$ ตั�%งช5�อตั�วแปรย�วเท$�ไรก?ไดำ� แตั$เคร5�องร�$จั�กแค$ 32 32 ตั�วเท$�นิ�%นิตั�วเท$�นิ�%นิ

Page 41: C  Programming

ค��สงวนิ ค��สงวนิ (Reserved (Reserved Word)Word)

auto break case char const continue default do double else if int long register return short signed sizeof static structswitch typedef union unsigned voidvolatile while

Page 42: C  Programming

ตั�วอย$�งก�รตั�%งช5�อตั�วแปรตั�วอย$�งก�รตั�%งช5�อตั�วแปร

class_room hi-tech 9number _hello123 age# right! last name

ถ2กตั�อง

ถ2กตั�อง

ไม'ถ2กตั�องไม'ถ2กตั�อง

ไม'ถ2กตั�องไม'ถ2กตั�องไม'ถ2กตั�อง

Page 43: C  Programming

ตั�วแปรส��ห้ร�บข้�อม�ลชนิดำตั�วแปรส��ห้ร�บข้�อม�ลชนิดำข้�อคว�มข้�อคว�ม

char[n] variable; nn : : ค5อจั��นิวนิข้องตั�วแปรชนิดำอ�กข้ระ ค5อจั��นิวนิข้องตั�วแปรชนิดำอ�กข้ระ(Char) (Char) ท&�จัะสร��งข้2%นิ โดำยถู��ข้�อคว�มม&อ�กข้ระท�%งห้มดำ ท&�จัะสร��งข้2%นิ โดำยถู��ข้�อคว�มม&อ�กข้ระท�%งห้มดำ10 10 ตั�ว จัะตั�องใส$จั��นิวนิเป0นิ ตั�ว จัะตั�องใส$จั��นิวนิเป0นิ 11 11 เนิ5�องจั�กภ�ษ� เนิ5�องจั�กภ�ษ� C C ม&ข้�อม&ข้�อ

ก��ห้นิดำว$�จัะเก?บข้�อม�ลชนิดำข้�อคว�ม ตั�วส)ดำท��ยตั�องเป0นิ ก��ห้นิดำว$�จัะเก?บข้�อม�ลชนิดำข้�อคว�ม ตั�วส)ดำท��ยตั�องเป0นิ อ�กข้ระว$�ง ซึ่2�งจัะเข้&ยนิแทนิดำ�วย อ�กข้ระว$�ง ซึ่2�งจัะเข้&ยนิแทนิดำ�วย \0 \0 เพิ่5�อบอกให้�ร��ว$�เป0นิเพิ่5�อบอกให้�ร��ว$�เป0นิ

ข้�อคว�มข้�อคว�ม VariableVariable : : ช5�อข้องตั�วแปร โดำยตั�องตั�%งช5�อ ช5�อข้องตั�วแปร โดำยตั�องตั�%งช5�อให้�ถู�กตั�องตั�มห้ล�กก�รตั�%งช5�อให้�ถู�กตั�องตั�มห้ล�กก�รตั�%งช5�อ

char[10] name; char[ ] color;

Page 44: C  Programming

ค��ส��งในิก�รแสดำงผลข้�อม�ลค��ส��งในิก�รแสดำงผลข้�อม�ล cout cout ท��ห้นิ��เห้ม5อนิส�ยนิ��ส$งข้�อม�ลท��ห้นิ��เห้ม5อนิส�ยนิ��ส$งข้�อม�ลจั�กโปรแกรมไปปร�กฏิท&�จั�กโปรแกรมไปปร�กฏิท&�จัอภ�พิ่ท&ละตั�วอ�กษรตั�มล��ดำ�บ โดำยม&ตั�วจัอภ�พิ่ท&ละตั�วอ�กษรตั�มล��ดำ�บ โดำยม&ตั�วดำ��เนินิก�รส$งออก ดำ��เนินิก�รส$งออก (<<)(<<)อย�$ระห้ว$�ง อย�$ระห้ว$�ง cout cout ก�บข้�อม�ลก�บข้�อม�ล cout << cout << ข้�อม�ลข้�อม�ล;;เช$นิ เช$นิ cout<<“What’s cout<<“What’s Your Name?”<<endl;Your Name?”<<endl; cout<<“Your Age cout<<“Your Age is: ”<<age<<endl;is: ”<<age<<endl;ค��ส��ง ค��ส��ง endlendl (end line) (end line) เป0นิค��ส��งข้2%นิบรรท�ดำให้ม$เช$นิเดำ&ยวก�บเป0นิค��ส��งข้2%นิบรรท�ดำให้ม$เช$นิเดำ&ยวก�บค��ส��ง ค��ส��ง \n\n

Page 45: C  Programming

ก�รใช� ก�รใช� CommentComment Comment Comment ค5อ ส$วนิท&�เป0นิห้ม�ยเห้ตั)ข้องค5อ ส$วนิท&�เป0นิห้ม�ยเห้ตั)ข้อง

โปรแกรมม&ไว�เพิ่5�อให้�ผ��เข้&ยนิโปรแกรมใส$ข้�อคว�มโปรแกรมม&ไว�เพิ่5�อให้�ผ��เข้&ยนิโปรแกรมใส$ข้�อคว�มอธีบ�ยก��ก�บลงในิ อธีบ�ยก��ก�บลงในิ Source code Source code ซึ่2�ง ซึ่2�ง compiler compiler จัะข้��มก�รแปลผลในิส$วนิท&�เป0นิ จัะข้��มก�รแปลผลในิส$วนิท&�เป0นิ commentcomment

ก�ร ก�ร Comment Comment ในิภ�ษ�ซึ่& ม& ในิภ�ษ�ซึ่& ม& 2 2 แบบแบบ1.1.Comment Comment บรรท�ดำเดำ&ยวใช� เคร5�องห้ม�ย บรรท�ดำเดำ&ยวใช� เคร5�องห้ม�ย ////2.2. Comment Comment ห้ล�ยบรรท�ดำใช� เคร5�องห้ม�ย ห้ล�ยบรรท�ดำใช� เคร5�องห้ม�ย /* /*

และ และ ** //

ตั�วอย$�งเช$นิตั�วอย$�งเช$นิ // // Writen program by Writen program by A.PrayoonA.Prayoon

Page 46: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 22 #include <iostream.h>#include <iostream.h> // Test cout Command// Test cout Command main()main() { { cout<<“Sriwattana cout<<“Sriwattana Institute of Institute of International”<<endl;International”<<endl; return 0;return 0; }}

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 11 #include <iostream.h>#include <iostream.h> main()main() { int n;{ int n; n = 66;n = 66; cout << n << cout << n << endl;endl;

return 0;return 0;}}

Page 47: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 33 #include <iostream.h>#include <iostream.h> // Test cout Command// Test cout Command main()main() { int m,n,sum;{ int m,n,sum;

m = 10;m = 10;n = 20;n = 20;sum = 0;sum = 0;

cout<<“Amount of M = cout<<“Amount of M = ”<<m<<endl;”<<m<<endl; cout<<“Amount of N = cout<<“Amount of N = ”<<n<<endl;”<<n<<endl; sum = m + n;sum = m + n; cout<<“Sum of M + N = cout<<“Sum of M + N = ”<<sum<<endl;”<<sum<<endl; return 0; return 0; }}

Page 48: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 44 ((โปรแกรมฝึCกก�รใช� โปรแกรมฝึCกก�รใช� cout cout เพิ่5�อแสดำงผลห้นิ��จัอเพิ่5�อแสดำงผลห้นิ��จัอ)) #include <iostream.h>#include <iostream.h> main()main() { { cout<<“***********************cout<<“******************************”<<endl;*******”<<endl; cout<<“ Number Name cout<<“ Number Name Surname ”<<endl; Surname ”<<endl; cout<<“471-1564 Urai cout<<“471-1564 Urai Srimeed ”<<endl; Srimeed ”<<endl; cout<<“471-1662 cout<<“471-1662 Chanont Jitmun ”<<endl;Chanont Jitmun ”<<endl; cout<<“”<<endl;cout<<“”<<endl; cout<<“”<<endl;cout<<“”<<endl; cout<<“”<<endl;cout<<“”<<endl; cout<<“***********************cout<<“******************************”<<endl;*******”<<endl; return 0; return 0; }}

Page 49: C  Programming

โปรแกรมท&� โปรแกรมท&� 55 ((ก�รใช� ก�รใช� cout, cincout, cin ในิก�รร�บในิก�รร�บ--ส$งข้�อม�ลส$งข้�อม�ล)) #include <iostream.h>#include <iostream.h> // Test cout, cin Command// Test cout, cin Command main()main() { int x;{ int x; cout<<“Enter Number : cout<<“Enter Number : ”<<endl;”<<endl; cin>> x;cin>> x; cout<<“Number is : ”<< x cout<<“Number is : ”<< x <<endl;<<endl; return 0; return 0; }}ตั�วดำ��เนินิก�รคณิตัศ�สตัร�ตั�วดำ��เนินิก�รคณิตัศ�สตัร� ( Operators)( Operators) ตั�วดำ��เนินิก�รคณิตัศ�สตัร� ค5อ ตั�วดำ��เนินิก�รคณิตัศ�สตัร� ค5อ ส�ญล�กษณิ�ท&�ใช�ท��ห้นิ��ท&�ค��นิวณิส�ญล�กษณิ�ท&�ใช�ท��ห้นิ��ท&�ค��นิวณินิพิ่จันิ�คณิตัศ�ตัร� เพิ่5�อให้�ไดำ�ค$�ผลล�พิ่ธี� แล�วนิพิ่จันิ�คณิตัศ�ตัร� เพิ่5�อให้�ไดำ�ค$�ผลล�พิ่ธี� แล�วนิ��ไปเก?บไว�ท&�ตั�วแปรนิ��ไปเก?บไว�ท&�ตั�วแปรไดำ�แก$ไดำ�แก$

Page 50: C  Programming

ตั�วดำ��เนินิก�รตั�วดำ��เนินิก�ร ห้นิ��ท&�ห้นิ��ท&� ตั�วอย$�งตั�วอย$�ง

++ บวกบวก m+nm+n- - ลบ ลบ m-nm-n

-- นิเสธี นิเสธี --n n ((ค$�ตัดำลบค$�ตัดำลบ))** ค�ณิ ค�ณิ m*nm*n// ห้�ร ห้�ร m/nm/n%% แสดำงเศษข้องก�รห้�รแสดำงเศษข้องก�รห้�ร mm%n%n

โปรแกรมท&� โปรแกรมท&� 66 ก�รใช�ตั�วดำ��เนินิก�รก�รใช�ตั�วดำ��เนินิก�รคณิตัศ�สตัร�คณิตัศ�สตัร� #include <iostream.h>#include <iostream.h> // Test Arithmetic Operators;// Test Arithmetic Operators; main()main() { int m=38, n=5;{ int m=38, n=5; cout<<m<<“+”<<n<<“=”<<(m+cout<<m<<“+”<<n<<“=”<<(m+n)<<endl;n)<<endl;cout<<m<<“-”<<n<<“=”<<(m-cout<<m<<“-”<<n<<“=”<<(m-n)<<endl;n)<<endl;

cout<<“ ”<<“ - ” <<“ = cout<<“ ”<<“ - ” <<“ = ”<<(-n)<<endl;”<<(-n)<<endl;cout<<m<<“*”<<n<<“=”<<(m*ncout<<m<<“*”<<n<<“=”<<(m*n)<<endl;)<<endl;cout<<m<<“/”<<n<<“=”<<(m/cout<<m<<“/”<<n<<“=”<<(m/n)<<endl;n)<<endl;

cout<<m<<“%”<<n<<“=”<<(mcout<<m<<“%”<<n<<“=”<<(m%n)<<endl;%n)<<endl; return 0;return 0; }}

Page 51: C  Programming

ตั�วดำ��เนินิก�รเพิ่�ม และลดำตั�วแปรตั�วดำ��เนินิก�รเพิ่�ม และลดำตั�วแปร เพิ่5�อให้�ก�รเข้&ยนิโปรแกรมม&คว�มเพิ่5�อให้�ก�รเข้&ยนิโปรแกรมม&คว�มกะท�ดำร�ดำข้2%นิ ภ�ษ�ซึ่&จั2งไดำ�ม&กะท�ดำร�ดำข้2%นิ ภ�ษ�ซึ่&จั2งไดำ�ม&ก�รก��ห้นิดำร�ปแบบในิก�รเข้&ยนินิพิ่จันิ� ก�รก��ห้นิดำร�ปแบบในิก�รเข้&ยนินิพิ่จันิ� ส��ห้ร�บก�รเพิ่�ม ส��ห้ร�บก�รเพิ่�ม / / ลดำลดำค$�ตั�วแปร ค5อค$�ตั�วแปร ค5อ ++++ ตั�วดำ��เนินิก�รเพิ่�มตั�วดำ��เนินิก�รเพิ่�มค$�ตั�วแปรค$�ตั�วแปร

---- ตั�วดำ��เนินิก�รลดำค$�ตั�วแปรตั�วดำ��เนินิก�รลดำค$�ตั�วแปรก�รเพิ่�มก�รเพิ่�ม

ค$�ค$�

ก�รลดำก�รลดำค$�ค$�

++++m m ห้ร5อ ห้ร5อ m++m++m = m+1 m = m+1

--m --m ห้ร5อ ห้ร5อ m--m--m = m-1 m = m-1

Page 52: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 77 #include <iostream.h>#include <iostream.h> // Test the increment and // Test the increment and decrement operatorsdecrement operators main()main() { int m=44, n=66;{ int m=44, n=66;

cout<<“m = ”<<m<<“, n cout<<“m = ”<<m<<“, n = ”<<n<<endl;= ”<<n<<endl; ++m;++m;

--n;--n;cout<<“m = ”<<m<<“, n cout<<“m = ”<<m<<“, n

= ”<<n<<endl;= ”<<n<<endl;m++;m++;n--;n--;cout<<“m = ”<<m<<“, n cout<<“m = ”<<m<<“, n

= ”<<n<<endl;= ”<<n<<endl; return 0; return 0; }}

Page 53: C  Programming

ตั�วดำ��เนินิก�รเพิ่�ม ตั�วดำ��เนินิก�รเพิ่�ม / / ลดำ ลดำ ++++m m ห้ร5อ ห้ร5อ m++ m++ และ –และ –m m ห้ร5อ ห้ร5อ m—m—ถู��นิ��ไปใช�ในินิพิ่จันิ�ย$อยจัะม&คว�มห้ม�ยแตักถู��นิ��ไปใช�ในินิพิ่จันิ�ย$อยจัะม&คว�มห้ม�ยแตักตั$�งก�นิค5อตั$�งก�นิค5อ

++++mm จัะดำ��เนินิก�รเพิ่�มค$�จัะดำ��เนินิก�รเพิ่�มค$�ก$อนิก$อนิm++m++ จัะดำ��เนินิก�รเพิ่�มค$�จัะดำ��เนินิก�รเพิ่�มค$�ห้ล�งห้ล�ง--m--m จัะดำ��เนินิก�รลดำค$�จัะดำ��เนินิก�รลดำค$�ก$อนิก$อนิm--m-- จัะดำ��เนินิก�รลดำค$�จัะดำ��เนินิก�รลดำค$�ห้ล�งห้ล�ง

Page 54: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 88 #include <iostream.h>#include <iostream.h> // Test the increment and // Test the increment and decrement operatorsdecrement operators main()main() { int m={ int m=66 6,n;6,n;

n = ++m;n = ++m;cout<<“m = ”<<m<<“, n cout<<“m = ”<<m<<“, n

= ”<<n<<endl;= ”<<n<<endl; n = m++;n = m++;

cout<<“m = ”<<m<<“, n cout<<“m = ”<<m<<“, n = ”<<n<<endl;= ”<<n<<endl;

cout<<“m = ”<<m+cout<<“m = ”<<m++<<endl;+<<endl;

cout<<“m = cout<<“m = ”<<m<<endl;”<<m<<endl;

cout<<“ m = ”<<+cout<<“ m = ”<<++m<<endl;+m<<endl; return 0; return 0; }}

Page 55: C  Programming

ข้�อม�ลชนิดำข้�อม�ลชนิดำ (Character)(Character)ข้�อม�ลชนิดำ ข้�อม�ลชนิดำ Character Character ภ�ษ�ซึ่& ถู5อภ�ษ�ซึ่& ถู5อ

เป0นิข้�อม�ลจั��นิวนิเตั?มเป0นิข้�อม�ลจั��นิวนิเตั?มชนิดำห้นิ2�ง โดำยจัะท��ก�รแปลเป0นิตั�วอ�กข้ระ ชนิดำห้นิ2�ง โดำยจัะท��ก�รแปลเป0นิตั�วอ�กข้ระ โดำยใช�ภ�ษ� โดำยใช�ภ�ษ� ASCIIASCII(American Standard Code for (American Standard Code for Information Interchange)Information Interchange)MoniMonitortor

ASCII ASCII ตั�วตั�ว

อ�กข้ระอ�กข้ระตั�วเตั�วเลข้ลข้

CPUCPU

Page 56: C  Programming

ตั�วอย$�งโปรแกรมท&� ตั�วอย$�งโปรแกรมท&� 99 #include <iostream.h>#include <iostream.h> // Test output of type char;// Test output of type char; main()main() { char c = ‘A’;{ char c = ‘A’;

n = ++m;n = ++m;cout<<c++ << “ ” << cout<<c++ << “ ” <<

int(c) << endl;int(c) << endl;cout<<c++ << “ ” << cout<<c++ << “ ” <<

int(c) <<endl;int(c) <<endl;cout<<c++ << “ ” << cout<<c++ << “ ” <<

int(c) <<endl;int(c) <<endl; return 0; return 0; }} ห้ม�ยเห้ตั)ห้ม�ยเห้ตั)

ฟ:งก�ช��นิ ฟ:งก�ช��นิ int(c) int(c) ม&ห้นิ��ท&�แปลงข้�อม�ลม&ห้นิ��ท&�แปลงข้�อม�ลตั�วอ�กข้ระเป0นิข้�อม�ลตั�วอ�กข้ระเป0นิข้�อม�ล จั��นิวนิเตั?มตั�มรห้�สจั��นิวนิเตั?มตั�มรห้�สข้อง ข้อง ASCIIASCII

Page 57: C  Programming

ก�รใช�ค��ส��ง ก�รใช�ค��ส��ง \t\t และและ \n\n \t \t เท$�ก�บ เท$�ก�บ tab tab ใช�ในิก�รส��งให้�พิ่มพิ่�ใช�ในิก�รส��งให้�พิ่มพิ่�ข้�อคว�มย$อห้นิ��ข้�อคว�มย$อห้นิ��

\n \n เท$�ก�บ เท$�ก�บ endl endl ใช�ในิก�รข้2%นิบรรท�ดำใช�ในิก�รข้2%นิบรรท�ดำให้ม$ให้ม$โปรแกรมท&� โปรแกรมท&� 1010 #include <iostream.h>#include <iostream.h> main()main() { cout<<“\tFourscore { cout<<“\tFourscore andseven years ago our andseven years ago our fathers \n”fathers \n” <<“brought forth upon <<“brought forth upon this continent a new nation: \this continent a new nation: \n”n” <<“concieved in liberty, <<“concieved in liberty, and dedicated to the \n”and dedicated to the \n” <<“proposition that all <<“proposition that all men are created equal. \n”;men are created equal. \n”; return 0;return 0; }}

Page 58: C  Programming

โปรแกรมท&� โปรแกรมท&� 11 11 ((ก�รร�บข้�อม�ลตั�วก�รร�บข้�อม�ลตั�วอ�กข้ระเข้��ส�$โปรแกรมอ�กข้ระเข้��ส�$โปรแกรม)) #include <iostream.h>#include <iostream.h> main()main() {{ char first, last;char first, last;

cout<<“Enter your cout<<“Enter your initials: \n”;initials: \n”;cout<<“ \tFirst name cout<<“ \tFirst name initial: ”;initial: ”;cin>>first;cin>>first;cout<<“\tLast name cout<<“\tLast name initial: ”;initial: ”;cin>>last;cin>>last;cout<<“Hello; ”<<first<< cout<<“Hello; ”<<first<< “ . ”<<last<<“.! \n”;“ . ”<<last<<“.! \n”;return 0;return 0;

}}

Page 59: C  Programming

แบบฝึCกห้�ดำแบบฝึCกห้�ดำ1. เ จึงเขี�ยนโปรัแกรัมเพื่��อแสำดงค'าหล'าน�4ออกที่างจึอภาพื่

ค'าที่��ตั�องการัให�แสำดงออก 200, 10.33745, A, Thailand

2. ในการักรัอกขี�อม2ลเพื่��อสำม�ครัเขี�าเรั�ยนขีองสำถานกวดว&ช่าแห'งหน,�ง ขี�อม2ลที่��ตั�องการัให�ผิ2�สำม�ครักรัอกปรัะกอบด�วย

ช่��อและนามสำก!ลอาย!เพื่ศที่��อย2'เบอรั)โที่รัศ�พื่ที่)

ให�น�กศ,กษาเขี�ยนโปรัแกรัมพื่��อให�ผิ2�สำม�ครักรัอกขี�อม2ลเหล'าน�4 และแสำดงผิลที่��จึอภาพื่

Page 60: C  Programming

ล�กษณิะก�รท��ง�นิล�กษณิะก�รท��ง�นิ ( ( ก�รวนิรอบ ก�รวนิรอบ )) coucou

nt+nt+++CountCount

<=n;<=n;coucount=nt=11

Cout<<“Cout<<“Hello.”;Hello.”;

TrTrueue

FalFalseseโปรแกรมท&� โปรแกรมท&� 1313 ก�รวนิรอบโดำยใช�ก�รวนิรอบโดำยใช�ค��ส��ง ค��ส��ง forfor

#include <iostream.h>#include <iostream.h> main()main(){ int i;{ int i;

for (i=1; i< 3; i++)for (i=1; i< 3; i++)cout<<“Computer cout<<“Computer Program”<<endl;Program”<<endl;return 0;return 0;

}}

Page 61: C  Programming

โปรแกรมท&� โปรแกรมท&� 11 44 ((ก�รวนิรอบโดำยผ��ใช�ก�รวนิรอบโดำยผ��ใช�ก��ห้นิดำค$�จั��นิวนิคร�%งท&�วนิก��ห้นิดำค$�จั��นิวนิคร�%งท&�วนิ)) #include <iostream.h>#include <iostream.h> main()main() {{ int i, n; int i, n;

cout<<“Enter Number of cout<<“Enter Number of Loop”<<endl;Loop”<<endl;cin>>n;cin>>n;for(i=1; i<=n; i++)for(i=1; i<=n; i++)cout<<“Good morning cout<<“Good morning every body”<<endl;every body”<<endl;return 0;return 0;

}}

Page 62: C  Programming

โปรแกรมท&� โปรแกรมท&� 11 66 ((โปรแกรมแสดำงก�รโปรแกรมแสดำงก�รร�บค$�และห้�ผลรวมร�บค$�และห้�ผลรวม)) #include <iostream.h>#include <iostream.h> main()main() {{ int i, sum, n; int i, sum, n;

sum = 0;sum = 0;cout<<“Enter Number to cout<<“Enter Number to Sum: ”; cin>>n;Sum: ”; cin>>n;for (i=1; i<=n; i++)for (i=1; i<=n; i++)

sumsum == sum+ i ;sum+ i ;return 0;return 0;

}}

Page 63: C  Programming

โปรแกรมท&� โปรแกรมท&� 1717 ((โปรแกรมแสดำงก�รโปรแกรมแสดำงก�รใช� ใช� loop for 2 loop for 2 ช�%นิช�%นิ)) #include <iostream.h>#include <iostream.h> main()main() {{ int i, j; int i, j;

for (i=1; i<=3; i++)for (i=1; i<=3; i++)for (j=1; j<=3; j++)for (j=1; j<=3; j++)cout<<“Hi! How are cout<<“Hi! How are you?” <<endl;you?” <<endl;

return 0;return 0; }}ห้ม�ยเห้ตั)ห้ม�ยเห้ตั)• จัะท��ก�รวนิ จัะท��ก�รวนิ for for แรก แรก 1 1 คร�%ง แล�วท��ก�รคร�%ง แล�วท��ก�รวนิ วนิ for for ท&�สอง ท&�สอง 3 3 คร�%งจั2งกล�บม�วนิ คร�%งจั2งกล�บม�วนิ for for แรกแรกอ&ก จันิครบ อ&ก จันิครบ 3 3 คร�%งคร�%ง• ถู��ตั�องก�รก��ห้นิดำค$�ก�รวนิ ถู��ตั�องก�รก��ห้นิดำค$�ก�รวนิ for 1 for 1 และ และ for 2 for 2 ท��ไดำ�โดำยท��ไดำ�โดำย

• ก��ห้นิดำตั�วแปร ก��ห้นิดำตั�วแปร m m และ และ nn• for (i=1; i<= m; i++) for (i=1; i<= m; i++) และ และ for for (j=1; i<=n; j++)(j=1; i<=n; j++)

Page 64: C  Programming

โปรแกรมท&� โปรแกรมท&� 11 8-18-1 ((คว�มแตักตั$�งคว�มแตักตั$�งในิก�รใช�ค��ส��งในิก�รใช�ค��ส��ง forfor)) #include <iostream.h>#include <iostream.h> main()main() {{ int i, j; int i, j;

for (i=1; i<=3; i++)for (i=1; i<=3; i++)for (j=1; j<= i; j++)for (j=1; j<= i; j++)cout<<“Hi! How are cout<<“Hi! How are you?” <<endl;you?” <<endl;

return 0;return 0; }}โปรแกรมท&� โปรแกรมท&� 11 8-28-2 ((คว�มแตักตั$�งคว�มแตักตั$�งในิก�รใช�ค��ส��งในิก�รใช�ค��ส��ง forfor)) #include <iostream.h>#include <iostream.h> main()main() {{ int i, j; int i, j;

for (i=1; i<=3; i++)for (i=1; i<=3; i++)for (j= i; j<= 3; j++)for (j= i; j<= 3; j++)cout<<“Hi! How are cout<<“Hi! How are you?” <<endl;you?” <<endl;

return 0;return 0; }}

Page 65: C  Programming

ก�รท��ง�นิวนิรอบโดำยใช�ค��ส��ง ก�รท��ง�นิวนิรอบโดำยใช�ค��ส��ง whilewhile while while จัะตัรวจัสอบเง5�อนิไข้ก$อนิท��ง�นิ จัะตัรวจัสอบเง5�อนิไข้ก$อนิท��ง�นิ ถู��ไม$เป0นิจัรงจัะข้��มไปท��ถู��ไม$เป0นิจัรงจัะข้��มไปท��ค��ส��งอ5�นิค��ส��งอ5�นิ

Count++ << limitCount++ << limitCout<<“VeCout<<“Very Good”;ry Good”;

whwhileile

ค��ส��งตั$อค��ส��งตั$อไปไป

TruTruee

FalFalsese

Page 66: C  Programming

โปรแกรมท&� โปรแกรมท&� 2020 ((โปรแกรมก�รห้�ผลรวมโปรแกรมก�รห้�ผลรวมข้องร�กท&� ข้องร�กท&� 2 )2 ) #include <iostream.h>#include <iostream.h> main()main() {{ int int i, n, sum;i, n, sum; i= 1; sum= 0;i= 1; sum= 0; cout<<“Enter a Positive cout<<“Enter a Positive Integer: ”;Integer: ”; cin>>n;cin>>n; while (i<=n)while (i<=n) { sum = sum + i * i;{ sum = sum + i * i; i++; i++; }}

cout<<“The Sum of the cout<<“The Sum of the First ”<<n<<endl;First ”<<n<<endl;cout<<“Squares is: cout<<“Squares is: ”<<sum<<endl;”<<sum<<endl;

return 0;return 0; }}

Page 67: C  Programming

โปรแกรมท&� โปรแกรมท&� 2121 ((โปรแกรมก�รห้�ผลรวมโปรแกรมก�รห้�ผลรวมตั�วเลข้ตั�วเลข้)) #include <iostream.h>#include <iostream.h> main()main() {{ int int n, sum;n, sum;

sum= 0;sum= 0;cout<<“Enter Number End cout<<“Enter Number End by-999”<<endl;by-999”<<endl;cin>>n;cin>>n;while (n! = -999)while (n! = -999){sum = sum+n;{sum = sum+n; cin>>n;cin>>n;}}

cout<<“Sum is cout<<“Sum is ”<<sum<<endl;”<<sum<<endl; return 0;return 0; }}

Page 68: C  Programming

โปรแกรมท&� โปรแกรมท&� 2222 ((โปรแกรมก�รยอดำรวมโปรแกรมก�รยอดำรวมและค$�เฉล&�ยและค$�เฉล&�ย)) #include <iostream.h>#include <iostream.h> main()main() {{ float count, ave; int n, float count, ave; int n, sum;sum; sum = 0; count = 0;sum = 0; count = 0;

cout<<“Enter Number(End cout<<“Enter Number(End by -999) : ”<<endl;by -999) : ”<<endl;cin>>n;cin>>n;while (n! = -999)while (n! = -999){count = count + 1;{count = count + 1; sum = sum + n;sum = sum + n; cin>>n;cin>>n;}} ave = sum / count;ave = sum / count; cout<<“Sum is cout<<“Sum is ”<<sum<<endl;”<<sum<<endl; cout<<“Average is cout<<“Average is ”<<ave<<endl;”<<ave<<endl;

return 0;return 0;}}

Page 69: C  Programming

โปรแกรมท&� โปรแกรมท&� 2323 ((โปรแกรมแสดำงค$�ตั�วโปรแกรมแสดำงค$�ตั�วแปรโดำยใช�ค��ส��ง แปรโดำยใช�ค��ส��ง do..whiledo..while)) #include <iostream.h>#include <iostream.h> main()main() { int n;{ int n;

cout<<“Enter Number cout<<“Enter Number (Can’t over 10) : ”;(Can’t over 10) : ”;cin>>n;cin>>n;dodo{ cout<<“Value of n = { cout<<“Value of n = ”<<n<<endl;”<<n<<endl;

}}

Page 70: C  Programming

เป0นิค��ส��งท&�ใช�ในิก�รตัรวจัสอบเง5�อนิไข้ ห้�กในิเป0นิค��ส��งท&�ใช�ในิก�รตัรวจัสอบเง5�อนิไข้ ห้�กในิก�รเข้&ยนิโปรแกรมตั�องก�รม&เง5�อนิไข้ ก�รเข้&ยนิโปรแกรมตั�องก�รม&เง5�อนิไข้ 2 2 ท�งเล5อกท�งเล5อกจัะตั�องใช�ค��ส��ง จัะตั�องใช�ค��ส��ง if….else if….else เพิ่5�อให้�โปรแกรมเพิ่5�อให้�โปรแกรมส�ม�รถูประมวลผลไดำ�ตั�มตั�องก�รส�ม�รถูประมวลผลไดำ�ตั�มตั�องก�ร

ร�ปแบบค��ส��ง ร�ปแบบค��ส��ง if….elseif….else

if (if (เง5�อนิไข้เง5�อนิไข้)) {{ ค��ส��งค��ส��ง;; ค��ส��งค��ส��ง;; }} elseelse { { ค��ส��งค��ส��ง;; ค��ส��งค��ส��ง;; }}

Page 71: C  Programming

#include <iostream.h>#include <iostream.h> main()main() { int score;{ int score;

cout<<“Please Input Your cout<<“Please Input Your Score : ”; cin>>score;Score : ”; cin>>score; if (score>50)if (score>50)

cout<<“You pass cout<<“You pass the Examination ”<<endl;the Examination ”<<endl; return 0;return 0; }}

โปรแกรมท&� โปรแกรมท&� 2626 ((โปรแกรมห้�ค$�ส�งส)ดำโปรแกรมห้�ค$�ส�งส)ดำจั�กเลข้ จั�กเลข้ 3 3 จั��นิวนิจั��นิวนิ)) #include <iostream.h>#include <iostream.h> main()main() { int n1,n2,n3,max;{ int n1,n2,n3,max;

cout<<“Enter three cout<<“Enter three intrgers: ”;intrgers: ”;cin>>n1>>n2>>m3;cin>>n1>>n2>>m3;max=n1;max=n1;if (n2>max) max=n2;if (n2>max) max=n2;if (n3>max) max=n3;if (n3>max) max=n3;cout<<“The maximum is cout<<“The maximum is ”<<max<<endl;”<<max<<endl;return 0;return 0;

}}

Page 72: C  Programming

#include <iostream.h>#include <iostream.h> main()main() { int score;{ int score;

cout<<“Please Input Your cout<<“Please Input Your Score: ”;cin>>score;Score: ”;cin>>score;if (score>50)if (score>50) cout<<“You pass the cout<<“You pass the Examination ”<<endl;Examination ”<<endl;

elseelse cout<<“Try Again ! cout<<“Try Again ! ”<<endl;”<<endl; return 0;return 0; }}

โปรแกรมท&� โปรแกรมท&� 2828 ((โปรแกรมห้�ค$�ส�งส)ดำโปรแกรมห้�ค$�ส�งส)ดำโดำยใช� โดำยใช� if…else)if…else) #include <iostream.h>#include <iostream.h> main()main() { int n1,n2,max;{ int n1,n2,max;

cout<<“Enter two integers: cout<<“Enter two integers: ”;cin>>n1>>n2;”;cin>>n1>>n2; if (n1>n2) max=n1;if (n1>n2) max=n1; else max=n2;else max=n2; cout<<“Maximum is: cout<<“Maximum is: ”<<max<<endl;”<<max<<endl; return 0;return 0; }}

Page 73: C  Programming

ห้�กตั�องก�รเข้&ยนิโปรแกรมท&�ม&ท�งเล5อกห้�กตั�องก�รเข้&ยนิโปรแกรมท&�ม&ท�งเล5อกม�กกว$� ม�กกว$� 2 2 ท�งเล5อกข้2%นิไป จัะตั�องใช�ค��ส��ง ท�งเล5อกข้2%นิไป จัะตั�องใช�ค��ส��ง if….else if….elseif….else if….else

ร�ปแบบค��ส��ง ร�ปแบบค��ส��ง if….else if ….elseif….else if ….else if (if (เง5�อนิไข้เง5�อนิไข้)) ค��ส��งค��ส��ง;; else if else if ((เง5�อนิไข้เง5�อนิไข้))

ค��ส��งค��ส��ง;; elseelse ค��ส��งค��ส��ง;;

Page 74: C  Programming

โปรแกรมท&� โปรแกรมท&� 3131 ((โปรแกรมห้�ยอดำรวม ค$�เฉล&�ย โปรแกรมห้�ยอดำรวม ค$�เฉล&�ย ค$�ส�งส)ดำ และตั���ส)ดำค$�ส�งส)ดำ และตั���ส)ดำ)))) #include <iostream.h>#include <iostream.h> main()main() { float count, ave; int n, sum, max, { float count, ave; int n, sum, max, min;min; sum=0;sum=0; cout<<“Enter Number(End by-cout<<“Enter Number(End by-999): ”<<endl;999): ”<<endl; cin>> n;cin>> n; while(n!=-999)while(n!=-999) {sum=sum+n; count=count+1; {sum=sum+n; count=count+1; max=n, min=n;max=n, min=n;

if (n>max) max=n;if (n>max) max=n;ekse if (n<min) min=n; cin>>n;ekse if (n<min) min=n; cin>>n;

}} ave = sum/count;ave = sum/count; cout<<“-------------------------------------cout<<“-------------------------------------” <<endl;” <<endl; cout<<“ Sum is : ” <<sum<< cout<<“ Sum is : ” <<sum<< endl;endl; cout<<“ Average is : cout<<“ Average is : ”<<ave<<endl;”<<ave<<endl; cout<<“ Maximum is : cout<<“ Maximum is : ”<<max<<endl;”<<max<<endl; cout<<“ Minimum is : cout<<“ Minimum is : ”<<min<<endl;”<<min<<endl; cout<<“------------------------------------”cout<<“------------------------------------”<<endl;<<endl; return 0;return 0; }}

Page 75: C  Programming

ค��ส��งในิก�รท��ง�นิแบบม&เง5�อนิไข้ ค��ส��งในิก�รท��ง�นิแบบม&เง5�อนิไข้ switchswitch ร�ปแบบ ร�ปแบบ switch(switch(ตั�วแปรตั�วแปร))

{ case value1 :{ case value1 :ค��ส��งค��ส��ง;;break;break;

case value2 :case value2 : ค��ส��งค��ส��ง;;

break;break; default:default:

ค��ส��งค��ส��ง;; }}

นิพิ่จันิ�ท&�ตั�มห้ล�งค��ส��ง นิพิ่จันิ�ท&�ตั�มห้ล�งค��ส��ง switch switch จัะถู�กค��นิวณิจัะถู�กค��นิวณิและนิ��ไปเปร&ยบเท&ยบก�บเง5�อนิไข้ท&�อย�$ห้ล�งช)ดำค��ส��ง และนิ��ไปเปร&ยบเท&ยบก�บเง5�อนิไข้ท&�อย�$ห้ล�งช)ดำค��ส��ง case case ตัรงก�บ ตัรงก�บ case case ไห้นิ จัะท��ตั�มค��ส��งท&�อย�$ในิ ไห้นิ จัะท��ตั�มค��ส��งท&�อย�$ในิ case case นิ�%นิ กรณิ&ท&�ไม$ตัรงก�บ นิ�%นิ กรณิ&ท&�ไม$ตัรงก�บ case case ใดำเลย จัะท��ตั�มใดำเลย จัะท��ตั�มค��ส��งท&�อย�$ห้ล�ง ค��ส��งท&�อย�$ห้ล�ง defaultdefault ค��ส��ง ค��ส��ง break break จัะควบค)มให้�โปรแกรมกระโดำดำออกจัะควบค)มให้�โปรแกรมกระโดำดำออกจั�กช)ดำค��ส��ง จั�กช)ดำค��ส��ง switch switch และท��ง�นิตั�ม ค��ส��ง ถู�ดำจั�กและท��ง�นิตั�ม ค��ส��ง ถู�ดำจั�กช)ดำค��ส��ง ช)ดำค��ส��ง switchswitch

Page 76: C  Programming

โปรแกรมท&� โปรแกรมท&� 3232 ((โปรแกรมก�รใช� โปรแกรมก�รใช� switch….case)switch….case) #include <iostream.h>#include <iostream.h> main()main() { int n;{ int n; cout<<“Enter Number : ”; cout<<“Enter Number : ”; cin>>n;cin>>n; switch(n)switch(n)

{ case 1:{ case 1:cout<<“One”<<endl;cout<<“One”<<endl;break;break;

case 2:case 2:cout<<“Two”<<endl;cout<<“Two”<<endl;break;break;

case 3:case 3:cout<<“Three”<<endl;cout<<“Three”<<endl;break;break;

default:default:cout<<“No Value”<<endl;cout<<“No Value”<<endl;

}} return 0;return 0; }}

Page 77: C  Programming

โปรแกรมท&� โปรแกรมท&� 3333 ((โปรแกรมก�รใช� โปรแกรมก�รใช� switch….case switch….case ตั$อตั$อ)) #include <iostream.h>#include <iostream.h> main()main() { char n;{ char n; cout<<“Enter the First Character cout<<“Enter the First Character of Program P/C/B : ”; cin>>n;of Program P/C/B : ”; cin>>n; switch(n)switch(n)

{ case ‘P’:{ case ‘P’: cout<<“Turbo cout<<“Turbo Pascal”<<endl; break;Pascal”<<endl; break; case ‘C’:case ‘C’:

cout<<“Visual C++”<<endl; cout<<“Visual C++”<<endl; break;break; case ‘B’:case ‘B’:

cout<<“Visual cout<<“Visual Basic”<<endl; break;Basic”<<endl; break; default:default:

cout<<“You don’t Select cout<<“You don’t Select Program”<<endl;Program”<<endl; }} return 0;return 0; } }