ดร. จันทร์จิรา สินทนะโยธิน, วิศรุต พลสิทธิ
สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ
(สวทช)ฝึกฝนและพัฒนาการเขียนโปรแกรมภาษา 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)
พื้นฐานโปรแกรมภาษา 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]... );
ที่มา:http://www.vcharkarn.com/varticle/18065
http://cai.lamplaimat.ac.th/suradath/2013/05/
http://cai.lamplaimat.ac.th/suradath/2013/05/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น