วันศุกร์ที่ 29 มิถุนายน พ.ศ. 2555

ความรู้เบื้องต้นเกี่ยวกับภาษาซี


ความรู้เบื้องต้นเกี่ยวกับภาษาซี
ภาษาซีเป็นภาษาที่ได้รับความนิยมเป็นอย่างมากในกลุ่มนักเขียนโปรแกรม  จนมีการพัฒนาภาษาซี   ให้เป็นภาษาที่มีความสามารถสูงและสะดวกในการใช้คำสั่งต่าง ๆ  เพื่อให้ผู้เขียนโปรแกรมง่ายต่อการใช้ภาษาซีในการเขียนโปรแกรมที่มีสมรรถนะสูง  อันเป็นองค์ประกอบหลักของพัฒนาโปรแกรม          
                ในบทนี้จะกล่าวถึงเรื่องของประวัติความเป็นมาของภาษาคอมพิวเตอร์  ระดับของภาษา  องค์ประกอบของภาษาซี  เพื่อให้มีความเข้าใจพื้นฐานในเรื่องของภาษาซี  ขั้นตอนและหลักการต่าง ๆ เกี่ยวกับภาษาซี




1.1  วิวัฒนาการของภาษา C
                ภาษา C พัฒนาโดย Dennis Ritchie แห่งห้องปฏิบัติการ Bell Laboratories ในปี ค.ศ 1972 พัฒนาเพื่อใช้งานบนระบบปฏิบัติการ Unix  ซึ่งมีลำดับการพัฒนาดังนี้
                ภาษา Algol (ปี 1960 : ใช้คำนวณ) à ภาษา CPL (ปี 1963) à ภาษา BCPL (ปี 1967) àภาษา B (ปี 1970) à ภาษา C (ปี 1972) à ภาษา C++ (ปี 1990) à ภาษา Java, C#, Visual C++

ภาษาคอมพิวเตอร์             
                การทำงานกับเครื่องคอมพิวเตอร์  เป็นการติดต่อสารระหว่างมนุษย์กับเครื่องคอมพิวเตอร์  นั่นคือการสั่งให้เครื่องคอมพิวเตอร์ทำงานหรือเป็นการโต้ตอบระหว่างมนุษย์กับเครื่องคอมพิวเตอร์  การที่จะพูดจากับคอมพิวเตอร์ได้ต้องอาศัยภาษาที่คอมพิวเตอร์เข้าใจ ภาษาคอมพิวเตอร์ในปัจจุบันถูกพัฒนามาจากภาษา คอมพิวเตอร์ในยุคต้น ๆ  ตามแนวความคิดของผู้ประดิษฐ์ภาษาเพื่อให้มีประสิทธิภาพมากขึ้น  โดยถูกสร้างขึ้นมาตามวัตถุประสงค์และความแตกต่างของการใช้งาน  เช่นงานเกี่ยวกับข้อมูลข่าวสาร  งานคำนวณทางด้านคณิตศาสตร์  งานด้านการบัญชี  งานด้านกราฟิก  และงานเขียนรายงานทางด้านเอกสารเป็นต้น ภาษา คอมพิวเตอร์ที่ดีควรเป็นภาษาที่เขียนง่ายเข้าใจง่าย  มีขนาดเล็กมีความรวดเร็วและความถูกต้องสูง  มีความยืดหยุ่นในการใช้งานสูง  หมายความว่ามีข้อจำกัดต่ำ  สามารถที่จะประยุกต์ใช้งานได้กว้างขวาง 
                ระดับของภาษาคอมพิวเตอร์
1.             ภาษาระดับต่ำ (Low-level Language)  เช่น  ภาษาเครื่อง (machine code) และภาษา Assembly
2.             ภาษาระดับกลาง (Middle-level Language) เช่น  ภาษา C
3.             ภาษาระดับสูง (High-level Language) เช่น Fortran, Cobol, Pascal, Vissual Basic, Java

ลักษณะของภาษาซี


ลักษณะของภาษาซี
          ภาษาซีเป็นภาษาระดับกลาง และเป็นภาษาโครงสร้างเช่นเดียวกับภาษาปาลคาล
สามารถประยุกต์ใช้ได้กับงานในลักษณะต่างๆ เป็นภาษาที่ใกล้เคียงกับภาษาแอสเซมบล
ี ผู้ที่เขียนโปรแกรมได้อย่างคล่องตัว โดยไม่มีข้อจำกัดในการวางตำแหน่งฟังก์ชันของโปรแกรม
ภาษาซีจึงเป็นภาษาที่ง่ายต่องการใช้งาน การสร้างโปรแกรมภาษาซีจะเริ่มจาการเขียนโปรแกรมต้นกำเนิด
แล้วนำไปทำการแปลด้วยตัวแปลภาษาซีเกิดเป็นโปรแกรมประสงค์หลังจากนั้นจึงนำโปรแกรมประสงค์
ไปทำการเชื่อมโยง เพื่อให้เิกิดเป็นโปรแกรมทำการที่สามารถทำงานได้อย่างรวดเร็ว
รูปแบบของภาษาซีจะเป็นการกำหนดขอบเขตของกลุ่มคำสั่งหรือฟังก์ชัน
ฟังก์ชันในภาษาซี จัดเป็นคำสั่งอย่างหนึ่ง ดังนั้น การสร้างฟังก์ชันจึงเป็นการสร้างคำสั่งนั่นเอง
ฟังก์ชันในภาษาซีจึงมีความหมายที่พิเศษกว่าฟังก์ชันในภาษาอื่นๆ กล่าวคือ
ในภาษาซีจะมีไลบรารีฟังก์ชัน (Library Function) ที่สามารถนำมาใช้งานเพิ่มเติม ในคำสั่งพื้นฐานมากมาย
นอกจากไลบรารีฟังก์ชันที่ติดตั้งให้ใช้งานแล้ว ผู้ใช้สามารถสร้างไลบรารีฟังก์ชันขึ้นใช้งานได้เอง
คุณสมบัติสำคัญอีกประการหนึ่งของภาษซี คือ เราสามารถจะย้ายโปรแกรมภาษาซีไปทำงานในเครื่องอื่นๆ
ได้อย่างง่ายดาย เนื่องจากภาษาซี จะแยกส่วนที่ขึ้ึนกับเครื่องคอมพิวเตอร์ไปไว้เป็นไลบรารีฟังก์ชัน
โปรแกรมจึงทำงานโดยเรียกใช้ฟังก์ชันมาตรฐาน จากไลบรารีฟังก์ชันที่เขียนขึ้น
สำหรับคอมพิวเตอร์แต่ละเครื่อง โดยวิธีการเรียกใช้งานก็จะเป็นทำนองเดียวกัน
โปรแกรมภาษาซี จึงสามารถนำไปใช้งานบนเครื่องคอมพิวเตอร์ต่างๆได้
โดยอาจทำการแก้ไขโปรแกรมบ้างเล็กน้อยเท่านั้น และด้วยลักษณะของภาษาซี
ที่สามารถทำงานด้วยความเร็วสูง ยิ่งทำให้ภาษาซีเป็นภาษาที่นิยมใช้กับเครื่องในระดับต่างๆ
เช่น Turbo C, Microsoft C, Quick C , Turbo C++ เป็นต้น



โครงสร้างของภาษาซี



โครงสร้างของภาษา C
ภาษา C เป็นภาษาคอมพิวเตอร์ที่ถูกค้นคิดขึ้นโดย Denis Ritchie ในปี ค.ศ. 1970 
โดยใช้ระบบปฏิบัติการของยูนิกซ์ (UNIX) นับจากนั้นมาก็ได้รับความนิยมเพิ่มขั้นจนถึงปัจจุบัน ภาษา C สามารถติดต่อในระดับฮาร์ดแวร์ได้ดีกว่าภาษาระดับสูงอื่น ๆ ไม่ว่าจะเป็นภาษาเบสิกฟอร์แทน ขณะเดียวกันก็มีคุณสมบัติของภาษาระดับสูงอยู่ด้วย ด้วยเหตุผลดังกล่าวจึงจัดได้ว่าภาษา C เป็นภาษาระดับกลาง (Middle –lever language) 
ภาษา C เป็นภาษาคอมพิวเตอร์ชนิดคอมไพล์ (compiled Language) ซึ่งมีคอมไพลเลอร์ (Compiler) ทำหน้าที่ในการคอมไพล์ (Compile) หรือแปลงคำสั่งทั้งหมดในโปรแกรมให้เป็นภาษาเครื่อง (Machine Language) เพื่อให้เครื่องคอมพิวเตอร์นำคำสั่งเหล่านั้นไปทำงานต่อไป
โครงสร้างของภาษา C
ทุกโปรแกรมของภาษา C มีโครงสร้างเป็นลักษณะดังรูป
 
      Int main (void)
{
เฮดเดอร์ไฟล์ (Header Files)
เป็นส่วนที่เก็บไลบรารี่มาตรฐานของภาษา C ซึ่งจะถูกดึงเข้ามารวมกับโปรแกรมในขณะที่กำลังทำการคอมไพล์ โดยใช้คำสั่ง
#include<ชื่อเฮดเดอร์ไฟล์> หรือ
#include  “ชื่อเฮดเดอร์ไฟล์”
ตัวอย่าง
#include<stdio.h>
                เฮดเดอร์ไฟล์นี้จะมีส่วนขยายเป็น .h เสมอ และเฮดเดอร์ไฟล์เป็นส่วนที่จำเป็นต้องมีอย่างน้อย 1 เฮดเดอร์ไฟล์ ก็คือ เฮดเดอร์ไฟล์ stdio.h ซึ่งจะเป็นที่เก็บไลบรารี่มาตรฐานที่จัดการเกี่ยวกับอินพุตและเอาท์พุต
ส่วนตัวแปรแบบ Global (Global Variables)
เป็นส่วนที่ใช้ประกาศตัวแปรหรือค่าต่าง ๆ ที่ให้ใช้ได้ทั้งโปรแกรม ซึ่งใช้ได้ทั้งโปรแกรม  ซึ่งในส่วนไม่จำเป็นต้องมีก็ได้
ฟังก์ชัน (Functions)
เป็นส่วนที่เก็บคำสั่งต่าง ๆ ไว้ ซึ่งในภาษา C จะบังคับให้มีฟังก์ชันอย่างน้อย 1 ฟังก์ชั่นนั่นคือ ฟังก์ชั่น Main() และในโปรแกรม 1 โปรแกรมสามารถมีฟังก์ชันได้มากกว่า 1 ฟังก์ชั่น
ส่วนตัวแปรแบบ Local (Local Variables)
เป็นส่วนที่ใช้สำหรับประกาศตัวแปรที่จะใช้ในเฉพาะฟังก์ชันของตนเอง ฟังก์ชั่นอื่นไม่สามารถเข้าถึงหรือใช้ได้ ซึ่งจะต้องทำการประกาศตัวแปรก่อนการใช้งานเสมอ  และจะต้องประกาศไว้ในส่วนนี้เท่านั้น
ตัวแปรโปรแกรม (Statements)
เป็นส่วนที่อยู่ถัดลงมาจากส่วนตัวแปรภายใน ซึ่งประกอบไปด้วยคำสั่งต่าง ๆ ของภาษา C และคำสั่งต่าง ๆ จะใช้เครื่องหมาย ; เพื่อเป็นการบอกให้รู้ว่าจบคำสั่งหนึ่ง ๆ แล้ว ส่วนใหญ่ คำสั่งต่าง ๆ ของภาษา C เขียนด้วยตัวพิมพ์เล็ก เนื่องจากภาษา C จะแยกความแตกต่างชองตัวพิมพ์เล็กและพิมพ์ใหญ่หรือ Case Sensitive นั่นเอง ยกตัวอย่างใช้ Test, test หรือจะถือว่าเป็นตัวแปรคนละตัวกัน นอกจากนี้ภาษา C ยังไม่สนใจกับการขึ้นบรรทัดใหม่ เพราะฉะนั้นผู้ใช้สามารถพิมพ์คำสั่งหลายคำสั่งในบรรทัดเดียวกันได้ โดยไม่เครื่องหมาย ; เป็นตัวจบคำสั่ง

ค่าส่งกลับ (Return Value)
เป็นส่วนที่บอกให้รู้ว่า ฟังก์ชันนี้จะส่งค่าอะไรกลับไปให้กับฟังก์ชั่นที่เรียกฟังก์ชั่น ซึ่งเรื่องนี้ผู้เขียนจะยกไปกล่าวในเรื่องฟังก์ชั่นอย่างละเอียดอีกทีหนึ่ง

วันพฤหัสบดีที่ 28 มิถุนายน พ.ศ. 2555

ประวัติภาษาซี

ภาษาซี
ภาษาซีเป็นภาษาระดับสูง( High-Level-Language) และภาษาโปรแกรมที่โปรแกรมเมอร์นิยมใช้กันมาก เนื่องจากเป็นภาษาที่มีความเร็วในการทำงานสูงใกล้เคียงกับภาษาเครื่อง มีโครงสร้างที่ชัดเจน เข้าใจง่าย สามารถเขียนโปรแกรมเพื่อติดต่อกับฮาร์ดแวร์ของเครื่องคอมพิวเตอร์ได้อย่างดี ภาษาซีเกิดขึ้นในปี ค . ศ .1972 ผู้คิดค้นคือนายเดนนีส ริทชี (Dennis Ritchi) การศึกษาภาษาซีถือว่าเป็นพื้นฐานในการศึกษาภาษาใหม่ ๆ ได้