SlideShare a Scribd company logo
1 of 23
 ฝึกฝนและพัฒนาการเขียนโปรแกรมภาษา C
Introduction to C Programming
 การพัฒนาโปรแกรมคอมพิวเตอร์ บางคนก็ว่ายาก บางคนก็ว่าเป็นเรื่องสนุก
หลายคนบอกว่า ขอเป็นแค่ผู้ใช้สนุกที่สุด แต่จะมีซักกี่คนที่จะมีใจรักที่จะก้าวไปบน
ถนนแห่งการพัฒนาฝีมือและฝึกฝนการเขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจ
นาไปใช้งาน และเพิ่มประสิทธิ์ภาพในการทางาน และ ความสะดวกสบายๆ ต่างๆมาก
ขึ้น ว่าไปแล้วนักโปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลังพระมากนัก
เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันในปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียน
โปรแกรมเหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนักพัฒนาโปรแกรมมือ
อาชีพ คงต้องอาศัยใจรักที่จะอยากจะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์
มืออาชีพมาเป็นอันดับหนึ่ง สาหรับบทความนี้จะเริ่มต้นด้วยการสอนให้เข้าใจใน
หลักการพื้นฐานของการการพัฒนาโปรแกรมในภาษา C ความรู้และความเข้าใจที่
จาเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต เราลองเริ่มมาเรียนรู้กันอย่าง
คร่าวๆ กันเลยล่ะกัน โดยผู้เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่
 1. พื้นฐานโปรแกรมภาษา C (Introduction
to C Programming)
2. การเขียนโปรแกรมทางเลือก (Selection
Structures)
3. การเขียนโปรแกรมแบบ วนซ้า (Repetition
& Loop)
4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล
(Functions & Modular Programming)
5. ตารางอาเรย์ (Arrays)
6. ตัวแปรพอยเตอร์ (Pointers)
7. ตัวแปรสตริง (String)
8. โครงสร้างสตักเจอร์ (Structure)
 1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)
 ก่อนอื่นของแนะนาพื้นฐานเกี่ยวกับคอมพิวเตอร์กันซักนิด ก่อนที่จะเริ่มเรียนรู้ภาษา C กัน
หน่วยสาคัญที่สุดของคอมพิวเตอร์ก็คือ หน่วยประมวลผลหรือที่เรียกกันว่า CPU โดยปกติ
CPU จะมีภาษาของตัวเองที่เรียกว่า ภาษาเครื่อง (Machine Language) ซึ่งจะ
เป็นภาษาที่ประกอบไปด้วยเลขฐานสองมากมาย ดังนั้นการที่จะเขียนโปรแกรมควบคุมการ
ทางานของคอมพิวเตอร์ โดยใช้ภาษาเครื่องโดยตรงนั้นจึงทาได้ยาก จึงได้มีการพัฒนาตัวแปร
ภาษาเครื่องที่เรียกว่า โปรแกรมภาษาระดับสูงขึ้นมา หรือที่เรียกว่า High Level
Languages โดยภาษาในระดับสูงเหล่านี้ จะมีลักษณะรูปแบบการเขียน (Syntax) ที่
ทาให้เข้าใจได้ง่ายต่อการสื่อสารกับผู้พัฒนา และถูกออกแบบมาให้ง่ายต่อการใช้งาน และจะ
เปลี่ยนคาสั่งจากผู้ใช้งาน ไปเป็นเป็นภาษาเครื่อง เพื่อที่จะควบคุมการทางานของคอมพิวเตอร์
ต่อไป ตัวอย่างของโปรแกรมภาษาระดับสูง ได้แก่ COBOL ใช้กันมากสาหรับโปรแกรม
ทางด้านธุรกิจ, Fortran ใช้กันมากสาหรับการพัฒนาโปรแกรมด้านวิทยาศาสตร์และ
วิศวกรรมศาสตร์ เพราะง่ายต่อการคานวณ, Pascal มีใช้กันทั่วไป แต่เน้นสาหรับการ
พัฒนาเครื่องมือสาหรับการเรียนการสอน, C & C++ ใช้ทั่วไป ปัจจุบันมีผู้เลือกที่จะใช้กัน
อย่างแพร่หลาย, PROLOG เน้นหนักไปทางด้านงานประเภท AI และ JAVA ใช้ได้
ทั่วไป ปัจจุบันเริ่มมีผู้หันมาสนใจกันมากและเพิ่มขึ้นอย่างรวดเร็ว
 คราวนี้เราลองมาเตรียมตัวกันซักนิก ก่อนที่จะลงมือพัฒนาโปรแกรมคอมพิวเตอร์ ขั้น
แรก เราต้องศึกษารูปแบบความต้องการของโปรแกรมที่จะพัฒนา จากนั้นก็วิเคราะห์ถึง
ปัญหาตลอดจนวิธีการแก้ปัญหา จากนั้นจึงนาเอาความคิดในการแก้ปัญหาอย่างเป็น
ขั้นตอน ไปเขียนในรูปแบบของโปรแกรมภาษาในระดับสูง ซึ่งจะอยู่ในรูปแบบของ
Source Program หรือ Source Code จากนั้นเราก็จะใช้ Complier
ของภาษาที่เราเลือก มาทาการ Compile Source code หรือกล่าวง่ายๆ คือ
แปลง Source code ของเราให้เป็นภาษาเครื่องนั่นเอง ซึ่งในขั้นตอนนี้ ผลที่ได้
เราจะเรียกว่า Object code จากนั้น Complier ก็จะทาการ Link หรือ
เชื่อม Object code เข้ากับฟังก์ชันการทางานใน Libraries ต่างๆ ที่จาเป็น
ต่อการใช้งาน แล้วนาไปไว้ในหน่วยความจา แล้วเราก็จะสามารถ Run เพื่อดูผลของ
การทางานโปรแกรมได้ หากโปรแกรมมีข้อผิดพลาด เราก็จะทาการแก้ หรือที่เรียกกัน
ในภาษาคอมพิวเตอร์ว่า การ Debug นั่นเอง
 ภาษา C เป็นโปรแกรมภาษาระดับสูง ถูกพัฒนาขึ้นในปี 1972 ที่ AT&T Bell Lab
เราสามารถใช้ภาษา C มาเขียนเป็นคาสั่งต่างๆ ที่คอมพิวเตอร์สามารถเข้าใจได้ และกลุ่มของ
คาสั่งเหล่านี้ เราก็เรียกกันว่า อัลกอริธึม ได้มีผู้ให้คาจากัดความของคาว่า อัลกอริธึม ว่าเป็น
“A precise description of a step-by-step process that is
guaranteed to terminate after a finite number of steps with
a correct answer for every particular instance of an
algorithmic problem that may occur.” สาหรับ Compiler ภาษา C
ที่มีในปัจจุบัน มี 2 ค่ายใหญ่ๆ ที่มีผู้คนสนใจใช้กันมากได้แก่ Microsoft และ
Borland การใช้งาน Compiler ทั้งสองตัวนี้ สามารถเรียนรู้ได้ไม่ยากนัก เราจึงจะมา
เริ่มต้นที่การเขียนโปรแกรมในภาษา C กันเลย เราลองมาเริ่มจากตัวอย่างการเขียน ภาษา C
แบบ ง่ายๆ กันก่อนกับโปรแกรม Hello World
 #include
main()
{
printf(“Hello World !! “);
}
 บรรทัดแรก #include เป็นการบอกว่าให้ทาการรวม Header file ที่ชื่อว่า
stdio.h (.h = header) ซึ่งเป็น header ที่เกี่ยวข้องกับการรับและให้ข้อมูล
(Standard Input Output) นอกจาก stdio.h แล้ว ก็ยังมี Header
อื่นๆ ที่ผู้พัฒนาสามารถที่จะเรียกใช้งาน Function ที่จาเป็นจาก Header
นั้นๆ ได้ อาทิเช่น
 รู้จัก Header File กันไปล่ะ คราวนี้ เราลองมาดูบรรทัดถัดไปกัน ก็คือ ฟังก์ชัน
main() จะเป็นจุดเริ่มต้นของโปรแกรม และโปรแกรมทุกโปรแกรมในภาษา C
จะต้องมี Function main() นี้ โดยส่วนมาก เราจะใช้ Function
main() ในการกาหนดค่าเริ่มต้นต่างๆ ของโปรแกรม จากนั้นจึงเข้าสู่
Function ต่างๆ ที่ผู้พัฒนา ได้กาหนดขึ้นไว้
 บรรทัดถัดมาจะเป็นเครื่องหมาย { ซึ่งเป็นเครื่องหมายบ่งบอกขอบเขตของ
Function โดยขอบเขตของฟังก์ชัน จะเปิดและปิดโดยใช้เครื่องหมายเปิด { และ
เครื่องหมายปิด } ตามลาดับ ภายใน Function main() จะมีคาสั่ง
(Statement) printf(“Hello World !! “); ซึ่ง printf เป็น
Function ในภาษา C ทาหน้าที่ให้โปรแกรม ทาการแสดงผลออกทางหน้าจอว่า
Hello World !! และทุกครั้ง ผู้พัฒนาจะต้องทาการจบคาสั่งหรือ
Statement ด้วยเครื่องหมาย semi-colon ;
ดังนั้นรูปแบบของการเขียนโปรแกรม จึงเขียนออกมาในรูปแบบดังนี้
// ข้อความที่อยู่ข้างหลังเครื่องหมาย // จะเป็นคาอธิบายโปรแกรม
#include
void main()
{
constant declarations; // การกาหนดค่าคงที่ต่างๆ
variable declarations; // การกาหนดตัวแปรต่างๆ
executable statements; // คาสั่งการทางานของโปรแกรม
}
การอ่านข้อมูลและการแสดงผล (Input & Output)
รูปแบบการใช้งานฟังก์ชัน printf จะทาการพิมพ์ในรูปแบบที่ เริ่มต้นด้วย
Format ที่ต้องการจะพิมพ์ และตามด้วยตัวแปรที่ต้องการพิมพ์ ดังนี้
printf( const char *format [, argument]… );
สาหรับการนาข้อมูลเข้าก็เช่นกัน จะใช้ฟังก์ชัน scanf ซึ่งจะเป็นฟังก์ชันสาหรับ
อ่านข้อมูลจากคีย์บอร์ด และจะนาข้อมูลที่ User ทาการพิมพ์ไปเก็บไว้ใน
argument โดยแต่ละ argument จะต้องเป็นตัวแปรที่เรียกว่า pointer
(รายละเอียดจะได้กล่าวต่อไป) และมีชนิดที่ตัวแปรที่สัมพันธ์กับที่ได้กาหนดไว้ใน
Format รูปแบบการใช้งานของฟังก์ชัน scanf สามารถเขียนได้ดังนี้
scanf( const char *format [,argument]… );
 หน้าที่ 2 – ตัวแปร (Variables)
 ตัวแปร (Variables) ตัวแปรจะเป็นชื่อที่ใช้ในการบอกจานวนหรือปริมาณ ซึ่ง
สามารถที่จะทาการเปลี่ยนแปลงจานวนได้ด้วยโปรแกรมคอมพิวเตอร์ การตั้งชื่อตัว
แปร จะต้องตั้งชื่อให้แตกต่างไปจากชื่อของตัวแปรอื่นๆ ยกตัวอย่างชื่อของตัวแปร
ได้แก่ x, y, peter, num_of_points และ streetnum เป็นต้น โดย
ปกติการเขียนโปรแกรมที่ดี ควรจะตั้งชื่อตัวแปรให้สอดคล้องกับการทางานหรือหน้าที่
ของตัวแปรนั้นๆ เพราะเมื่อถึงเวลาต้องมาทาการปรับปรุงแก้ไขโปรแกรม จะสามารถ
ทาได้โดยไม่ยากนัก
 ในภาษา C หรือ C++ ได้มีกฏในการตั้งชื่อตัวแปรที่สามารถใช้งานได้ดังนี้
 – ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษร
 – ชื่อตัวแปรจะประกอบไปด้วย ตัวอักษร ตัวแลข และ _ ได้เท่านั้น
 – ชื่อตัวแปรจะต้องไม่ใช่ชื่อ reserved word (ชื่อที่มีการจองไว้แล้ว)
 ตัวอย่างของชื่อตัวแปรที่สามารถนามาใช้ตั้งชื่อได้ ได้แก่
 length, days_in_year, DataSet1, Profit95, Pressure, first_one
 และตัวอย่างของชื่อ ที่ไม่สามารถนามาใช้เป็นชื่อตัวแปรได้ ยกตัวอย่างเช่น
 day-in-year, 1data, int, first.val เป็นต้น
 reserved word (ชื่อที่มีการจองไว้แล้ว)
Reserved words หรือตัวแปรที่ได้จองไว้แล้วนั้น จะประกอบไปด้วยตัวอักษร
ตัวเล็กทั้งหมด และจะมีความสาคัญสาหรับภาษา C++ และจะไม่นามาใช้ด้วยวัตถุประสงค์อื่นๆ
ตัวอย่างของ Reserved words ได้แก่ and, bool, break, case, catch,
char, class, continue, default, delete, do, double, if , else,
enum, export, extern เป็นต้น
นอกจากนี้ในภาษา C หรือ C++ ชื่อตัวแปร ที่ประกอบไปด้วยอักษรเล็ก หรือ
ใหญ่ ก็มีความแตกต่างกัน หรือที่เรียกว่า Case sensitive ยกตัวอย่างเช่น
 ‘X’ และ ‘x’ เป็นตัวแปรต่างกัน
 ‘peter’ และ ‘Peter’ เป็นตัวแปรต่างกัน
 ‘bookno1’ และ ‘bookNo1’ เป็นตัวแปรต่างกัน
 ‘XTREME’ และ ‘xtreme’ เป็นตัวแปรต่างกัน
 ‘X1’ และ ‘x1’ เป็นตัวแปรต่างกัน
 ‘int’ และ ‘Int’ เป็นตัวแปรต่างกัน
 การกาหนดชนิดของตัวแปร (Declaration of Variables)
ในภาษา C หรือ C++ (และโปรแกรมในภาษาอื่นๆ) ตัวแปรทุกตัวที่จะมีการ
เรียกใช้ในโปรแกรมจาเป็นต้องมีการกาหนดชนิดของตัวแปรนั้นๆ ก่อนที่จะทาการเรียกใช้
ตัวแปร
 การกาหนดชนิดของตัวแปรมีวัตถุประสงค์หลัก 2 ประการได้แก่
 – เป็นการบอกชนิด และตั้งชื่อตัวแปรที่จะเรียกใช้ ชนิดของตัวแปรจะทาให้
คอมไพเลอร์สามารถแปลคาสั่งได้อย่างถูกต้อง (ยกตัวอย่างเช่น ใน CPU คาสั่งที่ใช้
ในการบวกตัวเลขจานวนเต็ม 2 จานวน ย่อมแตกต่างจากคาสั่งที่จะบวกจานวนจริง 2
จานวนเข้าด้วยกัน)
 – ชนิดของตัวแปร ยังเป็นบ่งบอกคอมไพเลอร์ให้ทราบว่าจะต้องจัดเตรียมเนื้อที่ให้กับ
ตัวแปรตัวนั้นมากน้อยเท่าใด และจะจัดวางตัวแปรนั้นไว้แอดเดรส (Address) ไหน
ที่สามารถเรียกมาใช้ใน code ได้
 สาหรับในบทความนี้จะพิจารณาชนิดตัวแปร 4 ชนิดที่ใช้กันมากได้แก่ int, float,
bool และ char
 int ชนิดตัวแปรที่สามารถแทนค่าจานวนเต็มได้ทั้งบวกและลบ โดยปกติสาหรับ
คอมพิวเตอร์ทั่วไป คอมไพเลอร์ จะจองเนื้อที่ 2 ไบต์ สาหรับตัวแปรชนิด int จึงทา
ให้ค่าของตัวแปรมีค่าตั้งแต่ -32768 ถึง +32768
 ตัวอย่างของค่า int ได้แก่ 123 -56 0 5645 เป็นต้น
 floatชนิดของตัวแปรที่เป็นตัวแทนของจานวนจริง หรือตัวเลขที่มีค่าทศนิยม ความ
ละเอียดของตัวเลขหลังจุดทศนิยมขึ้นอยู่กับระบบคอมพิวเตอร์ โดยปกติแล้ว ตัวแปร
ชนิด float จะใช้เนื้อที่ 4 ไบต์ นั่นคือจะให้ความละเอียดของตัวเลขหลังจุดทศนิยม
6 ตาแหน่ง และมีค่าอยู่ระหว่าง -1038 ถึง +1038
 ตัวอย่างของค่า float ได้แก่ 16.315 -0.67 31.567
 bool ชนิดของตัวแปรที่สามารถเก็บค่าลอจิก จริง (True) หรือ เท็จ (False) ตัว
แปรชนิดนี้ เป็นที่รู้จักกันอีกชื่อคือ ตัวแปรบูลีน (Boolean)
 ตัวอย่างของตัวแปรชนิด bool ได้แก่ 1 0 true false (เมื่อ 1 = true และ 0
= false)
 char เป็นชนิดตัวแปรที่เป็นตัวแทนของ ตัวอักษรเพียงตัวเดียว อาจเป็นตัวอักษร
ตัวเลข หรือตัวอักขระพิเศษ โดยปกติตัวแปรชนิดนี้จะใช้เนื้อที่เพียง 1 ไบต์ ซึ่งจะให้
ตัวอักษรในรูปแบบที่แตกต่างกันได้ถึง 256 ค่า การเขียนรูปแบบของ char หลายๆ
ตัว โดยปกติ จะอ้างอิงกับ American Standard Code for
Information Interchange (ASCII)
ตัวอย่างของตัวแปรชนิด char ได้แก่ ‘+’ ‘A’ ‘a’ ‘*’ ‘7’
การกาหนดชนิดของตัวแปร สามารถเขียนได้อยู่ในรูป type identifier-list;
เมื่อ type บ่งบอกชนิดของตัวแปร ส่วน identifier-list เป็นการกาหนดชื่อของตัว
แปร ซึ่งอาจจะมีมากกว่า 1 ตัวแปร และจะแยกตัวแปรแต่ละตัวออกจากกันด้วย
เครื่องหมาย comma (,)
ตัวอย่าง รูปแบบของการกาหนดชนิดของตัวแปร ได้แก่
int i, j, count;
float sum, product;
char ch;
bool passed_exam;
มาถึงตอนนี้ เราก็จะสามารถปรับปรุงการเขียนโปรแกรมแบบง่ายๆ ได้ดังนี้
#include
main()
{
int its_price;
printf("How much is that ? ");
scanf("%d", &its_price);
printf("oh! %d ?, hmmm...., too
expensivenn",its_price);
}
จาก code ข้างบน ผู้อ่านจะเห็น %d เมื่อมีการเรียกใช้ฟังก์ชัน scanf และ
printf ทั้งนี้ %d จะเป็น format ที่ใช้บ่งบอกชนิดของตาแหน่ง (Place
Holders) ที่จะมีการส่งข้อมูล โดยในที่นี้ %d หมายถึงตาแหน่งของจานวนเต็ม หรือ
int นั่นเอง ตัวอย่างของ Place Holders อื่นๆ สามารถแสดงได้ดังตาราง
คราวนี้ลองมาดูตัวอย่างของการใช้ Place Holders
printf("C=%f, F=%f",cel,fah);
printf("He wants to score %d goals today",9);
เมื่อ % เป็นการบ่งบอกตาแหน่งเริ่มต้นของ Place Holder จากนั้น
ตัวอักษร f ตัวแรก จะบ่งบอกถึง ตัวแปรcel ว่ามีค่าเป็นจานวนจริง (Float)
ส่วน f ตัวทีสอง จะบ่งบอกคอมไพเลอร์ว่า ตัวแปร fah ก็มีค่าเป็นจานวนจริงเช่นกัน
นอกจากนี้ Place holder %d และ %f ยังสามารถใช้กับการกาหนดตาแหน่ง
ตัวเลขตามต้องการได้ ยกตัวอย่างเช่น สมมุติให้ x=235; และ y=6.54321;
การให้กาหนดค่าตัวแปร (Variable Assignment)
เราสามารถกาหนดค่าให้กับตัวแปรได้ ด้วยเครื่องหมาย = ยกตัวอย่างเช่น
int name; // กาหนดตัวแปร name ที่เก็บค่าจานวนเต็ม
name = 23; // กาหนดให้ตัวแปร name มีค่าเป็น 23
ในขณะเดียวกัน เราสามารถใช้เครื่องหมาย = ระหว่างตัวแปรกับตัวแปร หรือตัวแปรกับ
จานวนใดๆ ได้ อาทิเช่น
change = x1 - x2;
mean = (x1 + x2)/2;
x = x + 1;
ตอนนี้เราลองมาเขียนโปรแกรมอย่างง่าย เพื่อทาการแก้ปัญหาทางคณิตศาสตร์ ด้วย
การแปลงค่า อุณหภูมิ ในหน่วยของ ฟาเรนไฮต์ เป็น เซลเซียส เมื่ออุณหภูมิในหน่วยฟาเรนไฮต์
มีค่า = 85 และเป็นที่ทราบกันดีว่า ความสัมพันธ์ระหว่าง องศาฟาเรนไฮต์ และ เซลเซียส
สามารถเขียนได้อยู่ในรูปของสมการ
การเขียนโปรแกรม เพื่อแก้ปัญหา การแปลงค่า 85 ฟาเรนไฮต์ให้เป็นเซลเซียส
สามารถเขียนได้ดังนี้
#include
void main()
{
float F;
float C;
F = 85;
C = 5*(F-32)/9;
printf("the result is %f",C);
}
อีกตัวอย่าง ของโปรแกรม การบวกค่าจานวนเต็ม 2 จานวนเข้าด้วยกัน แล้วแสดง
ผลลัพธ์ออกทางหน้าจอ การเขียนโปรแกรมเพื่อแก้ปัญหานี้ สามารถเขียนได้ดังนี้
#include
void main()
{
int N1, N2, Sum;
printf("please input an integer number : ");
scanf("%d",&N1);
printf("please input another integer number : ");
scanf("%d",&N2);
Sum = N1 + N2;
printf("so, %d + %d = %d",N1,N2,Sum);
}
จากตัวอย่างการเขียนโปรแกรมข้างต้น จะเห็นว่ามีการคานวณทางคณิตศาสตร์
เข้ามาเกี่ยวข้อง คราวนี้เราลองมาดู การคานวณในภาษา C กันว่าจะเขียนกันได้อย่างไร
บ้าง

More Related Content

What's hot

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)N'Name Phuthiphong
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
การเขียนโปรแกรม
การเขียนโปรแกรมการเขียนโปรแกรม
การเขียนโปรแกรมikanok
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมBaramee Chomphoo
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)Visaitus Palasak
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซีrussana
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1Ja Phenpitcha
 
ภาษา C เบื้องต้น
ภาษา C เบื้องต้นภาษา C เบื้องต้น
ภาษา C เบื้องต้นApinyaphorn
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซีnative
 

What's hot (15)

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
Chapter1
Chapter1Chapter1
Chapter1
 
การเขียนโปรแกรม
การเขียนโปรแกรมการเขียนโปรแกรม
การเขียนโปรแกรม
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
 
Learn 2
Learn 2Learn 2
Learn 2
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
Pbl2
Pbl2Pbl2
Pbl2
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
 
ภาษา C เบื้องต้น
ภาษา C เบื้องต้นภาษา C เบื้องต้น
ภาษา C เบื้องต้น
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 

Similar to บทที่ 1

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
Multimedia of introducation to programming c++
Multimedia of introducation to programming c++Multimedia of introducation to programming c++
Multimedia of introducation to programming c++จู ลิ
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlopPor Kung
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1SubLt Masu
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีณัฐพล บัวพันธ์
 
งานPblที่2
งานPblที่2งานPblที่2
งานPblที่2Naynoyjolii
 
ตัวแปรและชนิดของข้อมูลในภาษาซี
ตัวแปรและชนิดของข้อมูลในภาษาซีตัวแปรและชนิดของข้อมูลในภาษาซี
ตัวแปรและชนิดของข้อมูลในภาษาซีkorn27122540
 
ใบความรู้ที่ 1.4
ใบความรู้ที่ 1.4 ใบความรู้ที่ 1.4
ใบความรู้ที่ 1.4 Orapan Chamnan
 

Similar to บทที่ 1 (20)

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
Multimedia of introducation to programming c++
Multimedia of introducation to programming c++Multimedia of introducation to programming c++
Multimedia of introducation to programming c++
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
 
Lab Computer Programming 1
Lab Computer Programming 1Lab Computer Programming 1
Lab Computer Programming 1
 
งานจารทรงศักดิ์
งานจารทรงศักดิ์งานจารทรงศักดิ์
งานจารทรงศักดิ์
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
งานPblที่2
งานPblที่2งานPblที่2
งานPblที่2
 
งานPbl 2
งานPbl 2งานPbl 2
งานPbl 2
 
ตัวแปรและชนิดของข้อมูลในภาษาซี
ตัวแปรและชนิดของข้อมูลในภาษาซีตัวแปรและชนิดของข้อมูลในภาษาซี
ตัวแปรและชนิดของข้อมูลในภาษาซี
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
ใบความรู้ที่ 1.4
ใบความรู้ที่ 1.4 ใบความรู้ที่ 1.4
ใบความรู้ที่ 1.4
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 

More from Wittaya Kaewchat

More from Wittaya Kaewchat (7)

บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
ความเป็นมาของภาษาC
ความเป็นมาของภาษาCความเป็นมาของภาษาC
ความเป็นมาของภาษาC
 

บทที่ 1

  • 1.
  • 2.  ฝึกฝนและพัฒนาการเขียนโปรแกรมภาษา C Introduction to C Programming  การพัฒนาโปรแกรมคอมพิวเตอร์ บางคนก็ว่ายาก บางคนก็ว่าเป็นเรื่องสนุก หลายคนบอกว่า ขอเป็นแค่ผู้ใช้สนุกที่สุด แต่จะมีซักกี่คนที่จะมีใจรักที่จะก้าวไปบน ถนนแห่งการพัฒนาฝีมือและฝึกฝนการเขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจ นาไปใช้งาน และเพิ่มประสิทธิ์ภาพในการทางาน และ ความสะดวกสบายๆ ต่างๆมาก ขึ้น ว่าไปแล้วนักโปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลังพระมากนัก เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันในปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียน โปรแกรมเหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนักพัฒนาโปรแกรมมือ อาชีพ คงต้องอาศัยใจรักที่จะอยากจะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์ มืออาชีพมาเป็นอันดับหนึ่ง สาหรับบทความนี้จะเริ่มต้นด้วยการสอนให้เข้าใจใน หลักการพื้นฐานของการการพัฒนาโปรแกรมในภาษา C ความรู้และความเข้าใจที่ จาเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต เราลองเริ่มมาเรียนรู้กันอย่าง คร่าวๆ กันเลยล่ะกัน โดยผู้เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่
  • 3.  1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming) 2. การเขียนโปรแกรมทางเลือก (Selection Structures) 3. การเขียนโปรแกรมแบบ วนซ้า (Repetition & Loop) 4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล (Functions & Modular Programming) 5. ตารางอาเรย์ (Arrays) 6. ตัวแปรพอยเตอร์ (Pointers) 7. ตัวแปรสตริง (String) 8. โครงสร้างสตักเจอร์ (Structure)
  • 4.  1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)  ก่อนอื่นของแนะนาพื้นฐานเกี่ยวกับคอมพิวเตอร์กันซักนิด ก่อนที่จะเริ่มเรียนรู้ภาษา C กัน หน่วยสาคัญที่สุดของคอมพิวเตอร์ก็คือ หน่วยประมวลผลหรือที่เรียกกันว่า CPU โดยปกติ CPU จะมีภาษาของตัวเองที่เรียกว่า ภาษาเครื่อง (Machine Language) ซึ่งจะ เป็นภาษาที่ประกอบไปด้วยเลขฐานสองมากมาย ดังนั้นการที่จะเขียนโปรแกรมควบคุมการ ทางานของคอมพิวเตอร์ โดยใช้ภาษาเครื่องโดยตรงนั้นจึงทาได้ยาก จึงได้มีการพัฒนาตัวแปร ภาษาเครื่องที่เรียกว่า โปรแกรมภาษาระดับสูงขึ้นมา หรือที่เรียกว่า High Level Languages โดยภาษาในระดับสูงเหล่านี้ จะมีลักษณะรูปแบบการเขียน (Syntax) ที่ ทาให้เข้าใจได้ง่ายต่อการสื่อสารกับผู้พัฒนา และถูกออกแบบมาให้ง่ายต่อการใช้งาน และจะ เปลี่ยนคาสั่งจากผู้ใช้งาน ไปเป็นเป็นภาษาเครื่อง เพื่อที่จะควบคุมการทางานของคอมพิวเตอร์ ต่อไป ตัวอย่างของโปรแกรมภาษาระดับสูง ได้แก่ COBOL ใช้กันมากสาหรับโปรแกรม ทางด้านธุรกิจ, Fortran ใช้กันมากสาหรับการพัฒนาโปรแกรมด้านวิทยาศาสตร์และ วิศวกรรมศาสตร์ เพราะง่ายต่อการคานวณ, Pascal มีใช้กันทั่วไป แต่เน้นสาหรับการ พัฒนาเครื่องมือสาหรับการเรียนการสอน, C & C++ ใช้ทั่วไป ปัจจุบันมีผู้เลือกที่จะใช้กัน อย่างแพร่หลาย, PROLOG เน้นหนักไปทางด้านงานประเภท AI และ JAVA ใช้ได้ ทั่วไป ปัจจุบันเริ่มมีผู้หันมาสนใจกันมากและเพิ่มขึ้นอย่างรวดเร็ว
  • 5.  คราวนี้เราลองมาเตรียมตัวกันซักนิก ก่อนที่จะลงมือพัฒนาโปรแกรมคอมพิวเตอร์ ขั้น แรก เราต้องศึกษารูปแบบความต้องการของโปรแกรมที่จะพัฒนา จากนั้นก็วิเคราะห์ถึง ปัญหาตลอดจนวิธีการแก้ปัญหา จากนั้นจึงนาเอาความคิดในการแก้ปัญหาอย่างเป็น ขั้นตอน ไปเขียนในรูปแบบของโปรแกรมภาษาในระดับสูง ซึ่งจะอยู่ในรูปแบบของ Source Program หรือ Source Code จากนั้นเราก็จะใช้ Complier ของภาษาที่เราเลือก มาทาการ Compile Source code หรือกล่าวง่ายๆ คือ แปลง Source code ของเราให้เป็นภาษาเครื่องนั่นเอง ซึ่งในขั้นตอนนี้ ผลที่ได้ เราจะเรียกว่า Object code จากนั้น Complier ก็จะทาการ Link หรือ เชื่อม Object code เข้ากับฟังก์ชันการทางานใน Libraries ต่างๆ ที่จาเป็น ต่อการใช้งาน แล้วนาไปไว้ในหน่วยความจา แล้วเราก็จะสามารถ Run เพื่อดูผลของ การทางานโปรแกรมได้ หากโปรแกรมมีข้อผิดพลาด เราก็จะทาการแก้ หรือที่เรียกกัน ในภาษาคอมพิวเตอร์ว่า การ Debug นั่นเอง
  • 6.  ภาษา C เป็นโปรแกรมภาษาระดับสูง ถูกพัฒนาขึ้นในปี 1972 ที่ AT&T Bell Lab เราสามารถใช้ภาษา C มาเขียนเป็นคาสั่งต่างๆ ที่คอมพิวเตอร์สามารถเข้าใจได้ และกลุ่มของ คาสั่งเหล่านี้ เราก็เรียกกันว่า อัลกอริธึม ได้มีผู้ให้คาจากัดความของคาว่า อัลกอริธึม ว่าเป็น “A precise description of a step-by-step process that is guaranteed to terminate after a finite number of steps with a correct answer for every particular instance of an algorithmic problem that may occur.” สาหรับ Compiler ภาษา C ที่มีในปัจจุบัน มี 2 ค่ายใหญ่ๆ ที่มีผู้คนสนใจใช้กันมากได้แก่ Microsoft และ Borland การใช้งาน Compiler ทั้งสองตัวนี้ สามารถเรียนรู้ได้ไม่ยากนัก เราจึงจะมา เริ่มต้นที่การเขียนโปรแกรมในภาษา C กันเลย เราลองมาเริ่มจากตัวอย่างการเขียน ภาษา C แบบ ง่ายๆ กันก่อนกับโปรแกรม Hello World  #include main() { printf(“Hello World !! “); }
  • 7.  บรรทัดแรก #include เป็นการบอกว่าให้ทาการรวม Header file ที่ชื่อว่า stdio.h (.h = header) ซึ่งเป็น header ที่เกี่ยวข้องกับการรับและให้ข้อมูล (Standard Input Output) นอกจาก stdio.h แล้ว ก็ยังมี Header อื่นๆ ที่ผู้พัฒนาสามารถที่จะเรียกใช้งาน Function ที่จาเป็นจาก Header นั้นๆ ได้ อาทิเช่น  รู้จัก Header File กันไปล่ะ คราวนี้ เราลองมาดูบรรทัดถัดไปกัน ก็คือ ฟังก์ชัน main() จะเป็นจุดเริ่มต้นของโปรแกรม และโปรแกรมทุกโปรแกรมในภาษา C จะต้องมี Function main() นี้ โดยส่วนมาก เราจะใช้ Function main() ในการกาหนดค่าเริ่มต้นต่างๆ ของโปรแกรม จากนั้นจึงเข้าสู่ Function ต่างๆ ที่ผู้พัฒนา ได้กาหนดขึ้นไว้
  • 8.  บรรทัดถัดมาจะเป็นเครื่องหมาย { ซึ่งเป็นเครื่องหมายบ่งบอกขอบเขตของ Function โดยขอบเขตของฟังก์ชัน จะเปิดและปิดโดยใช้เครื่องหมายเปิด { และ เครื่องหมายปิด } ตามลาดับ ภายใน Function main() จะมีคาสั่ง (Statement) printf(“Hello World !! “); ซึ่ง printf เป็น Function ในภาษา C ทาหน้าที่ให้โปรแกรม ทาการแสดงผลออกทางหน้าจอว่า Hello World !! และทุกครั้ง ผู้พัฒนาจะต้องทาการจบคาสั่งหรือ Statement ด้วยเครื่องหมาย semi-colon ; ดังนั้นรูปแบบของการเขียนโปรแกรม จึงเขียนออกมาในรูปแบบดังนี้
  • 9. // ข้อความที่อยู่ข้างหลังเครื่องหมาย // จะเป็นคาอธิบายโปรแกรม #include void main() { constant declarations; // การกาหนดค่าคงที่ต่างๆ variable declarations; // การกาหนดตัวแปรต่างๆ executable statements; // คาสั่งการทางานของโปรแกรม } การอ่านข้อมูลและการแสดงผล (Input & Output)
  • 10. รูปแบบการใช้งานฟังก์ชัน printf จะทาการพิมพ์ในรูปแบบที่ เริ่มต้นด้วย Format ที่ต้องการจะพิมพ์ และตามด้วยตัวแปรที่ต้องการพิมพ์ ดังนี้ printf( const char *format [, argument]… ); สาหรับการนาข้อมูลเข้าก็เช่นกัน จะใช้ฟังก์ชัน scanf ซึ่งจะเป็นฟังก์ชันสาหรับ อ่านข้อมูลจากคีย์บอร์ด และจะนาข้อมูลที่ User ทาการพิมพ์ไปเก็บไว้ใน argument โดยแต่ละ argument จะต้องเป็นตัวแปรที่เรียกว่า pointer (รายละเอียดจะได้กล่าวต่อไป) และมีชนิดที่ตัวแปรที่สัมพันธ์กับที่ได้กาหนดไว้ใน Format รูปแบบการใช้งานของฟังก์ชัน scanf สามารถเขียนได้ดังนี้ scanf( const char *format [,argument]… );
  • 11.  หน้าที่ 2 – ตัวแปร (Variables)  ตัวแปร (Variables) ตัวแปรจะเป็นชื่อที่ใช้ในการบอกจานวนหรือปริมาณ ซึ่ง สามารถที่จะทาการเปลี่ยนแปลงจานวนได้ด้วยโปรแกรมคอมพิวเตอร์ การตั้งชื่อตัว แปร จะต้องตั้งชื่อให้แตกต่างไปจากชื่อของตัวแปรอื่นๆ ยกตัวอย่างชื่อของตัวแปร ได้แก่ x, y, peter, num_of_points และ streetnum เป็นต้น โดย ปกติการเขียนโปรแกรมที่ดี ควรจะตั้งชื่อตัวแปรให้สอดคล้องกับการทางานหรือหน้าที่ ของตัวแปรนั้นๆ เพราะเมื่อถึงเวลาต้องมาทาการปรับปรุงแก้ไขโปรแกรม จะสามารถ ทาได้โดยไม่ยากนัก
  • 12.  ในภาษา C หรือ C++ ได้มีกฏในการตั้งชื่อตัวแปรที่สามารถใช้งานได้ดังนี้  – ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษร  – ชื่อตัวแปรจะประกอบไปด้วย ตัวอักษร ตัวแลข และ _ ได้เท่านั้น  – ชื่อตัวแปรจะต้องไม่ใช่ชื่อ reserved word (ชื่อที่มีการจองไว้แล้ว)  ตัวอย่างของชื่อตัวแปรที่สามารถนามาใช้ตั้งชื่อได้ ได้แก่  length, days_in_year, DataSet1, Profit95, Pressure, first_one  และตัวอย่างของชื่อ ที่ไม่สามารถนามาใช้เป็นชื่อตัวแปรได้ ยกตัวอย่างเช่น  day-in-year, 1data, int, first.val เป็นต้น  reserved word (ชื่อที่มีการจองไว้แล้ว) Reserved words หรือตัวแปรที่ได้จองไว้แล้วนั้น จะประกอบไปด้วยตัวอักษร ตัวเล็กทั้งหมด และจะมีความสาคัญสาหรับภาษา C++ และจะไม่นามาใช้ด้วยวัตถุประสงค์อื่นๆ ตัวอย่างของ Reserved words ได้แก่ and, bool, break, case, catch, char, class, continue, default, delete, do, double, if , else, enum, export, extern เป็นต้น
  • 13. นอกจากนี้ในภาษา C หรือ C++ ชื่อตัวแปร ที่ประกอบไปด้วยอักษรเล็ก หรือ ใหญ่ ก็มีความแตกต่างกัน หรือที่เรียกว่า Case sensitive ยกตัวอย่างเช่น  ‘X’ และ ‘x’ เป็นตัวแปรต่างกัน  ‘peter’ และ ‘Peter’ เป็นตัวแปรต่างกัน  ‘bookno1’ และ ‘bookNo1’ เป็นตัวแปรต่างกัน  ‘XTREME’ และ ‘xtreme’ เป็นตัวแปรต่างกัน  ‘X1’ และ ‘x1’ เป็นตัวแปรต่างกัน  ‘int’ และ ‘Int’ เป็นตัวแปรต่างกัน  การกาหนดชนิดของตัวแปร (Declaration of Variables) ในภาษา C หรือ C++ (และโปรแกรมในภาษาอื่นๆ) ตัวแปรทุกตัวที่จะมีการ เรียกใช้ในโปรแกรมจาเป็นต้องมีการกาหนดชนิดของตัวแปรนั้นๆ ก่อนที่จะทาการเรียกใช้ ตัวแปร
  • 14.  การกาหนดชนิดของตัวแปรมีวัตถุประสงค์หลัก 2 ประการได้แก่  – เป็นการบอกชนิด และตั้งชื่อตัวแปรที่จะเรียกใช้ ชนิดของตัวแปรจะทาให้ คอมไพเลอร์สามารถแปลคาสั่งได้อย่างถูกต้อง (ยกตัวอย่างเช่น ใน CPU คาสั่งที่ใช้ ในการบวกตัวเลขจานวนเต็ม 2 จานวน ย่อมแตกต่างจากคาสั่งที่จะบวกจานวนจริง 2 จานวนเข้าด้วยกัน)  – ชนิดของตัวแปร ยังเป็นบ่งบอกคอมไพเลอร์ให้ทราบว่าจะต้องจัดเตรียมเนื้อที่ให้กับ ตัวแปรตัวนั้นมากน้อยเท่าใด และจะจัดวางตัวแปรนั้นไว้แอดเดรส (Address) ไหน ที่สามารถเรียกมาใช้ใน code ได้  สาหรับในบทความนี้จะพิจารณาชนิดตัวแปร 4 ชนิดที่ใช้กันมากได้แก่ int, float, bool และ char  int ชนิดตัวแปรที่สามารถแทนค่าจานวนเต็มได้ทั้งบวกและลบ โดยปกติสาหรับ คอมพิวเตอร์ทั่วไป คอมไพเลอร์ จะจองเนื้อที่ 2 ไบต์ สาหรับตัวแปรชนิด int จึงทา ให้ค่าของตัวแปรมีค่าตั้งแต่ -32768 ถึง +32768
  • 15.  ตัวอย่างของค่า int ได้แก่ 123 -56 0 5645 เป็นต้น  floatชนิดของตัวแปรที่เป็นตัวแทนของจานวนจริง หรือตัวเลขที่มีค่าทศนิยม ความ ละเอียดของตัวเลขหลังจุดทศนิยมขึ้นอยู่กับระบบคอมพิวเตอร์ โดยปกติแล้ว ตัวแปร ชนิด float จะใช้เนื้อที่ 4 ไบต์ นั่นคือจะให้ความละเอียดของตัวเลขหลังจุดทศนิยม 6 ตาแหน่ง และมีค่าอยู่ระหว่าง -1038 ถึง +1038  ตัวอย่างของค่า float ได้แก่ 16.315 -0.67 31.567  bool ชนิดของตัวแปรที่สามารถเก็บค่าลอจิก จริง (True) หรือ เท็จ (False) ตัว แปรชนิดนี้ เป็นที่รู้จักกันอีกชื่อคือ ตัวแปรบูลีน (Boolean)  ตัวอย่างของตัวแปรชนิด bool ได้แก่ 1 0 true false (เมื่อ 1 = true และ 0 = false)  char เป็นชนิดตัวแปรที่เป็นตัวแทนของ ตัวอักษรเพียงตัวเดียว อาจเป็นตัวอักษร ตัวเลข หรือตัวอักขระพิเศษ โดยปกติตัวแปรชนิดนี้จะใช้เนื้อที่เพียง 1 ไบต์ ซึ่งจะให้ ตัวอักษรในรูปแบบที่แตกต่างกันได้ถึง 256 ค่า การเขียนรูปแบบของ char หลายๆ ตัว โดยปกติ จะอ้างอิงกับ American Standard Code for Information Interchange (ASCII)
  • 16. ตัวอย่างของตัวแปรชนิด char ได้แก่ ‘+’ ‘A’ ‘a’ ‘*’ ‘7’ การกาหนดชนิดของตัวแปร สามารถเขียนได้อยู่ในรูป type identifier-list; เมื่อ type บ่งบอกชนิดของตัวแปร ส่วน identifier-list เป็นการกาหนดชื่อของตัว แปร ซึ่งอาจจะมีมากกว่า 1 ตัวแปร และจะแยกตัวแปรแต่ละตัวออกจากกันด้วย เครื่องหมาย comma (,) ตัวอย่าง รูปแบบของการกาหนดชนิดของตัวแปร ได้แก่ int i, j, count; float sum, product; char ch; bool passed_exam;
  • 17. มาถึงตอนนี้ เราก็จะสามารถปรับปรุงการเขียนโปรแกรมแบบง่ายๆ ได้ดังนี้ #include main() { int its_price; printf("How much is that ? "); scanf("%d", &its_price); printf("oh! %d ?, hmmm...., too expensivenn",its_price); } จาก code ข้างบน ผู้อ่านจะเห็น %d เมื่อมีการเรียกใช้ฟังก์ชัน scanf และ printf ทั้งนี้ %d จะเป็น format ที่ใช้บ่งบอกชนิดของตาแหน่ง (Place Holders) ที่จะมีการส่งข้อมูล โดยในที่นี้ %d หมายถึงตาแหน่งของจานวนเต็ม หรือ int นั่นเอง ตัวอย่างของ Place Holders อื่นๆ สามารถแสดงได้ดังตาราง
  • 18. คราวนี้ลองมาดูตัวอย่างของการใช้ Place Holders printf("C=%f, F=%f",cel,fah); printf("He wants to score %d goals today",9); เมื่อ % เป็นการบ่งบอกตาแหน่งเริ่มต้นของ Place Holder จากนั้น ตัวอักษร f ตัวแรก จะบ่งบอกถึง ตัวแปรcel ว่ามีค่าเป็นจานวนจริง (Float) ส่วน f ตัวทีสอง จะบ่งบอกคอมไพเลอร์ว่า ตัวแปร fah ก็มีค่าเป็นจานวนจริงเช่นกัน นอกจากนี้ Place holder %d และ %f ยังสามารถใช้กับการกาหนดตาแหน่ง ตัวเลขตามต้องการได้ ยกตัวอย่างเช่น สมมุติให้ x=235; และ y=6.54321;
  • 19.
  • 20. การให้กาหนดค่าตัวแปร (Variable Assignment) เราสามารถกาหนดค่าให้กับตัวแปรได้ ด้วยเครื่องหมาย = ยกตัวอย่างเช่น int name; // กาหนดตัวแปร name ที่เก็บค่าจานวนเต็ม name = 23; // กาหนดให้ตัวแปร name มีค่าเป็น 23 ในขณะเดียวกัน เราสามารถใช้เครื่องหมาย = ระหว่างตัวแปรกับตัวแปร หรือตัวแปรกับ จานวนใดๆ ได้ อาทิเช่น change = x1 - x2; mean = (x1 + x2)/2; x = x + 1;
  • 21. ตอนนี้เราลองมาเขียนโปรแกรมอย่างง่าย เพื่อทาการแก้ปัญหาทางคณิตศาสตร์ ด้วย การแปลงค่า อุณหภูมิ ในหน่วยของ ฟาเรนไฮต์ เป็น เซลเซียส เมื่ออุณหภูมิในหน่วยฟาเรนไฮต์ มีค่า = 85 และเป็นที่ทราบกันดีว่า ความสัมพันธ์ระหว่าง องศาฟาเรนไฮต์ และ เซลเซียส สามารถเขียนได้อยู่ในรูปของสมการ การเขียนโปรแกรม เพื่อแก้ปัญหา การแปลงค่า 85 ฟาเรนไฮต์ให้เป็นเซลเซียส สามารถเขียนได้ดังนี้ #include void main() { float F; float C; F = 85; C = 5*(F-32)/9; printf("the result is %f",C); }
  • 22. อีกตัวอย่าง ของโปรแกรม การบวกค่าจานวนเต็ม 2 จานวนเข้าด้วยกัน แล้วแสดง ผลลัพธ์ออกทางหน้าจอ การเขียนโปรแกรมเพื่อแก้ปัญหานี้ สามารถเขียนได้ดังนี้ #include void main() { int N1, N2, Sum; printf("please input an integer number : "); scanf("%d",&N1); printf("please input another integer number : "); scanf("%d",&N2); Sum = N1 + N2; printf("so, %d + %d = %d",N1,N2,Sum); }