วันพฤหัสบดีที่ 1 มกราคม พ.ศ. 2558

ภาษาซี

1.กำเนิดภาษาซี


            ด้วยศักยภาพและเทคโนโลยีของคอมพิวเตอร์ที่แพรหลาย จึงทำให้มีผู้คิดค้นพัฒนาโปรแกรมคอมพิวเตอร์ภาษาซีขึ้น คือ นายเดนนิส ริทชี่ (Dennis Ritchie) ที่ศูนย์วิจัยเบล (Bell Laboratories) ประเทศสหรัฐอเมริกาเมื่อปี ค.ศ.1972  และเป็นภาษาคอมพิวเตอร์ที่ใช้เขียนระบบปฏิบัติการยูนิกส์ ซึ่งใช้กันแพร่หลายในระบบเครือข่ายคอมพิวเตอร์ในปัจจุบัน   ภาษาซีเป็นภาษาที่มีความใกล้เคียงกับภาษาระดับต่ำ (Low-Level Language) จึงทำให้นักพัฒนาโปรแกรมสามารถที่จะกำหนดรายละเอียดของโปรแกรมให้เข้าถึงการทำงานในส่วนต่าง ๆ ของคอมพิวเตอร์ให้มากที่สุดเพื่อให้เกิดความเร็วในการทำงานสูงสุด และในขณะเดียวกันภาษาซีก็ยังมีความเป็นภาษาระดับสูง (High-Level Language) ทำให้ผู้พัฒนา  สามารถที่จะพัฒนาโปรแกรมได้ โดยเน้นไปที่การแก้ปัญหาที่ต้องการได้อย่างอิสระโดยไม่ต้องคำนึงถึงฮาร์ดแวร์ใด ๆ    ภาษาซีเป็นภาษาโปรแกรมคอมพิวเตอร์ที่ได้รับความนิยมและมีการพัฒนาอย่างต่อเนื่อง นาย Bjarne Stroustrup  นักวิจัยและพัฒนาของศูนย์วิจัยเบล (Bell Laboratiories) ได้พัฒนาภาษา C++ (ซีพลัสพลัส) ขึ้นมา โดยที่ภาษา C++  มีความสามารถในการทำงานได้ทุกอย่างเหมือนกับภาษาซี ซึ่งมีรูปแบบและโครงสร้างของภาษาใกล้เคียงกัน แต่ภาษา  C++ ใช้หลักการออกแบบโปแกรมเชิงวัตถุ (Object Oriented Design) ในขณะที่ภาษาซีใช้หลักการออกแบบโปรแกรมแบบโมดูลาร์ (Modular Design)





2.หลักการเขียนโปรแกรม

        ในการเขียนโปรแกรมคอมพิวเตอร์ ้เขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษา
โปรแกรม และระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไร ซึ่งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม ประกอบด้วย 5 ขั้นตอนดังนี้คือ

                         1. ทำความเข้าใจและวิเคราะห์ปัญหา
                         2. กำหนดแผนในการแก้ปัญหา
                         3. เขียนโปรแกรมตามแผนที่กำหนด
                         4. ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
                         5. นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน

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

กำหนดแผนในการแก้ปัญหา 
           หลังจากทำความเข้าใจและวิเคราะห์ปัญหาโจทย์จนได้ข้อสรปุว่าโจทย์ต้องการอะไรแล้ว 
ผู้เขียนโปรแกรมก็จะทำการกำหนดแผนในการแก้ไขปัญหาโดยการเขียนผังงาน (Flowchart) ซึ่งการเขียนผังงานคือการเขียนแผนภาพที่เป็นลำดับ เพื่อแสดงขั้นตอนการทำงาน
ของโปรแกรมเพื่อให้ง่ายต่อการทำความเข้าใจ การเขียนผังงานมี 3 แบบคือ แบบเรียงลำดับ(Sequential) แบบมีการกำหนดเงื่อนไข(Condition) และแบบมีการทำงานวนรอบ(Looping)  ซึ่งสัญลักษณ์ของผังงาน(Flowchart Symbol)
มีดังนี้คือ



เขียนโปรแกรมตามแผนที่กำหนด
          เมื่อผู้เขียนโปรแกรมเขียนผังงานเสร็จเรียบร้อยแล้ว ขั้นตอนต่อไปคือ
การเขียนโปรแกรมตามผังงาน ที่ได้กำหนดเอาไว้ ในกรณีที่เขียนด้วยภาษาซี
การเขียนโปรแกรมก็ต้องเป็นไปตามกฎเกณฑ์และโครงสร้างของภาษาซี เท่านั้น 

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

นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน 
         ถ้าหากรันโปรแกรมแล้วใช้งานได้แสดงว่าจะได้ไฟล์ที่มีส่วนขยายเป็น EXE เพื่อนำไปทดสอบ้งานในที่ต่างๆ และถ้านำไปใช้งานแล้วมีปัญหาก็ให้ทำการแก้ไขโปรแกรมอีกครั้ง แต่ถ้ารันโปรแกรมแล้วไม่มีปัญหาใดๆ แสดงว่าโปรแกรมนี้ใช้งานได้อย่างสมบูรณ์ จากนั้นผู้เขียนโปรแกรม ก็ต้องจัดทำคู่มือประกอบการใช้งานและนำไปเผยแพร่ต่อไป





3.โครงสร้างของโปรแกรม

 โปรแกรมภาษาซีมีองค์ประกอบที่สำคัญ 2 ส่วนคือไฟล์ส่วนหัวโปรแกรม และไฟล์โปรแกรม ไฟล์ส่วนหัวโปรแกรมเป็นไฟล์ที่ใช้เก็บไลบราลีเพื่อใช้รวม (include) ในการคอมไพล์โปรแกรมซึ่งจะมีส่วนขยายเป็น *.h มีชื่อเรียกว่า Compiler Directive ไฟล์โปรแกรมจะเริ่มต้นด้วยฟังก์ชัน main() และตามด้วยเครื่องหมายปีกกาเปิด เพื่อเริ่มต้นเขียนโปรแกรม การเขียนโปรแกรมจะต้องเขียนด้วยอักษาภาษาอังกฤษตัวพิมพ์เล็กเสอม และเมื่อจบประโยคคำสั่ง จะใช้เครื่องหมายเซมิโคล่อน ( ; ) ในการคั่นแต่ละคำสั่ง ภายในโปรแกรมจะประกอบด้วยฟังก์ขันและส่วนของคำอธิบาย เมื่อเขียนคำสั่งเสร็จจะปิดท้ายโปรแกรมด้วยเครื่องหมายปีกกาปิดเสมอ

  #include<library> /* ไฟล์ส่วนหัวโปรแกรม*/
  void main(void)  /*ฟังก์ชันหลักของโปรแกรม*/
  {                         /*เริ่มต้นการเขียนโปรแกรมด้วยเครื่องหมายปีกกาเปิด*/
     variable declaration; /*การประกาศค่าตัวแปรที่ใช้ในโปรแกรม*/
     program statement; /*ประโยคคำสั่งในโปรแกรม*/

  }                                 /*จบการเขียนโปรแกรมด้วยเครื่องหมายปีกกาปิด*/







4.ตัวแปร (variable)

 ตัวแปร (variable)  คือชื่อที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล โดยมีกฏในการตั้งชื่อตัวแปรดังนี้
1.ต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจจะเป็นตัวอักษรหรือตัวเลขก็ได้
2.ห้ามใช้สัญลักษณ์อื่นใด ยกเว้นเครื่องหมายสตริงก์ ($) และขีดล่าง (Underscore)
3.ตัวแปรอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีความหมายแตกต่างกัน
4.ห้ามเว้นวรรคระหว่างตัวแปร
5.ห้ามตั้งชื่อซ้ำกับคำสงวนในภาษาซ
                
ก่อนที่จะนำตัวแปรไปใช้งาน ในภาษาซีจะต้องมีการประกาศค่าตัวแปรให้สอดคล้องกับข้อมูลที่จะนำไปใช้โดยมีรูปแบบดังนี้ 
รูปแบบ     Type varible name
type           ชนิดของตัวแปร ซึ่งอาจจะป็น char, int, float, double หรือตัวแปรชนิดอื่นๆ เป็นต้น
variable name    ชื่อของตัวแปร ถ้ามีมากกว่า 1 ตัวให้ใช้เครื่องหมายคอมม่าคั่น

ตัวอย่างการประกาศตัวแปร

char n; ประกาศค่าตัวแปรชื่อ n เป็นข้อมูลชนิด character
float a,b,c; ประกาศค่าตัวแปรชื่อ a,b,c เป็นข้อมูลชนิด float
int number=1; ประกาศค่าตัวแปรชื่อ number เป็นข้อมูลชนิด integer และกำหนดให้ตัวแปร count มีค่าเท่ากับ 1
char name[15]; ประกาศตัวแปรชื่อ name เป็นลักษณะตัวแปรชุดเก็บชื่อยาวไม่เกิน 15 ตัวอักษร






5.คำสงวน (reserbed word)

คำสงวนคือคำที่กำหนดขึ้นในภาษาซีเพื่อให้มีความหมายอย่างใดอย่างหนึ่ง และนำไปใช้งานแตกต่างกัน การประกาศค่าตัวแปรจะต้องไม่ให้ซ้ำกับคำสงวน






6.ชนิดข้อมูล (data type)

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

การใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ
1 ข้อมูลชนิดตัวอักษร (Character) คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็ม ได้แก่ ตัวอักษร ตัวเลขและกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต ์
2 ข้อมูลชนิดจำนวนเต็ม (Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูล ขนาด 2 ไบต์
3 ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ใช้พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต ์
4 ข้อมูลชนิดเลขทศนิยม (Float)คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์

5 ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double)คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ float คือมีขนาด 8 ไบต์





7.รหัสควบคุม

 สำหรับรูปแบบของรหัสควบคุมนั้น จะเริ่มต้นด้วยตัวอักษร back slash(\) จากนั้นก็ตามด้วยตัวอักษรพิเศษ รหัสควบคุมที่นิยมใช้กันทั่วไปมีดังนี้คือ



























































ไม่มีความคิดเห็น:

แสดงความคิดเห็น