วันเสาร์ที่ 20 มิถุนายน พ.ศ. 2558

Week 4 :โปรแกรมภาษาคอมพิวเตอร์ (C)

สวัสดีค่ะทุกๆคนเพื่อนๆหลายๆคนอาจจะงงเกี่ยวกับคำว่าภาษาโปรแกรมคอมพิวเตอร์กันว่ามันคืออะไรวันนี้ดิฉันจะมาอธิบายให้ทุกคนฟังเองค่ะแต่ในที่นี้ดิฉันขออธิบายแค่ภาษาซีละกันนะค่ะเนื่องจากภาษาโปรแกรมมีเยอะมากๆๆเลยเนอะคงอธิบายหมดไม่ไหวเนอะแฮะๆ ^^มาเริ่มกันเลยยยยยย

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

ภาษาซีคือ  ภาษาคอมพิวเตอร์ใช้สำหรับพัฒนาโปรแกรมทั่วไปถูกพัฒนาครั้งแรกเพื่อใช้
เป็นภาษาสำหรับพัฒนาระบบปฏิบัติการยูนิกซ์ ( Unix Opearating System) แทนภาษา  แอสเซมบลี ซึ่งเป็นภาษาระดับต่ำที่สามารถกระทำในระบบฮาร์ดแวร์ได้ด้วยความรวดเร็ว แต่จุดอ่อนของภาษาแอซเซมบลีก็คือความยุ่งยากในการโปรแกรม ความเป็นเฉพาะตัว และความแตกต่างกันไปในแต่ละเครื่อง
ที่มา : http://guru.sanook.com/6394/

เมื่อภาษาซี ได้รับความนิยมมากขึ้น จึงมีผู้ผลิต compiler ภาษาซีออกมาแข่งขันกันมากมาย ทำให้เริ่มมีการใส่ลูกเล่นต่างๆ เพื่อดึงดูดใจผู้ซื้อ


โครงสร้างของโปรแกรมภาษาซี 
ปรแกรมทุกโปรแกรมในภาษาซีจะมีฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันคือฟังก์ชัน main โดยโปรแกรมภาษาซีจะเริ่มทำงานที่ฟังก์ชันmain ในแต่ละฟังก์ชันจะประกอบไปด้วย
 1. Function Heading ประกอบด้วยชื่อฟังก์ชัน และอาจมีรายการของ argument 
 2. Variable Declaration ส่วนประกาศตัวแปรสำหรับภาษาซีนั้นตัวแปรหรือค่าคงที่ทุกตัวที่ใช้ในโปรแกรมจะต้องมีการประกาศก่อนว่าจะใช้งานอย่างไรและจะเก็บค่าในรูปแบบใด
  3. Compound Statements ส่วนของประโยคคำสั่งต่างๆ ซึ่งแบ่งจะเป็นประโยคเชิงซ้อน (compound statement) กับประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่ภายในวงเล็บปีกกาคู่หนึ่ง { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วยเครื่องหมาย semicolon (;) หลายๆ ประโยครวมกัน และอาจจะมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้าไปอีกก็ได้
ที่มา: http://krumam.wikispaces.com/

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


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


ลักษณะเฉพาะ ภาษาซีมีสิ่งอำนวยสำหรับการเขียนโปรแกรมเชิงโครงสร้าง และสามารถกำหนดขอบข่ายตัวแปรและเรียกซ้ำส่วนการส่งผ่านด้วยการอ้างอิงจะถูกจำลองขึ้นโดยการส่งผ่านค่าตัวชี้ชนิดข้อมูลรวมแบบแตกต่าง (struct) ช่วยให้สมาชิกข้อมูลที่เกี่ยวข้องกันสามารถรวมกันและจัดการได้ในหน่วยเดียว รหัสต้นฉบับของภาษาซีเป็นรูปแบบอิสระ ซึ่งใช้อัฒภาค (;) เป็นตัวจบคำสั่ง (มิใช่ตัวแบ่ง)
ภาษาซียังมีลักษณะเฉพาะต่อไปนี้
  • ตัวแปรอาจถูกซ่อนในบล็อกซ้อนใน
  • ชนิดตัวแปรไม่เคร่งครัด เช่นข้อมูลตัวอักษรสามารถใช้เป็นจำนวนเต็ม
  • เข้าถึงหน่วยความจำคอมพิวเตอร์ในระดับต่ำโดยแปลงที่อยู่ในเครื่องด้วยชนิดตัวแปรตัวชี้ (pointer)
  • ฟังก์ชันและตัวชี้ข้อมูลรองรับการทำงานในภาวะหลายรูปแบบ (polymorphism)
  • การกำหนดดัชนีแถวลำดับสามารถทำได้ด้วยวิธีรอง คือนิยามในพจน์ของเลขคณิตของตัวชี้
  • ตัวประมวลผลก่อนสำหรับการนิยามแมโคร การรวมไฟล์รหัสต้นฉบับ และการแปลโปรแกรมแบบมีเงื่อนไข
  • ความสามารถที่ซับซ้อนเช่น ไอ/โอ การจัดการสายอักขระ และฟังก์ชันทางคณิตศาสตร์ รวมอยู่ในไลบรารี
  • คำหลักที่สงวนไว้มีจำนวนค่อนข้างน้อย
  • ตัวดำเนินการแบบประสมจำนวนมาก อาทิ +=-=*=++ ฯลฯ
โครงสร้างการเขียน คล้ายภาษาบีมากกว่าภาษาอัลกอล ตัวอย่างเช่น
  • ใช้วงเล็บปีกกา { ... } แทนที่จะเป็น begin ... end ในภาษาอัลกอล 60 หรือวงเล็บโค้ง ( ... ) ในภาษาอัลกอล 68
  • เท่ากับ = ใช้สำหรับกำหนดค่า (คัดลอกข้อมูล) เหมือนภาษาฟอร์แทรน แทนที่จะเป็น:=  ในภาษาอัลกอล
  • เท่ากับสองตัว == ใช้สำหรับเปรียบเทียบความเท่ากัน แทนที่จะเป็น .EQ. ในภาษาฟอร์แทรนหรือ = ในภาษาเบสิกและภาษาอัลกอล
  • ตรรกะ "และ" กับ "หรือ" แทนด้วย && กับ || ตามลำดับ แทนที่จะเป็นตัวดำเนินการ กับ ในภาษาอัลกอล แต่ตัวดำเนินการดังกล่าวจะไม่ประเมินค่าตัวถูกดำเนินการทางขวา ถ้าหากผลลัพธ์จากทางซ้ายสามารถพิจารณาได้แล้ว เหตุการณ์เช่นนี้เรียกว่าการประเมินค่าแบบลัดวงจร (short-circuit evaluation) และตัวดำเนินการดังกล่าวก็มีความหมายต่างจากตัวดำเนินการระดับบิต & กับ


คุณลักษณะที่ขาดไป
วากยสัมพันธ์  รหัสต้นฉบับของภาษาซีจะมีรูปแบบอิสระที่สามารถใช้อักขระช่องว่างเท่าใดก็ได้ในรหัส ข้อความหมายเหตุจะปรากฏระหว่างตัวคั่น /* และ */ (แบบดั้งเดิม) หรือตามหลัง // จนกว่าจะจบบรรทัดรหัสต้นรหัสแต่ละไฟล์จะประกอบไปด้วยการประกาศและการนิยามฟังก์ชันต่าง ๆ และการนิยามฟังก์ชันก็จะประกอบด้วยการประกาศและข้อความสั่งต่างๆการประกาศอาจกำหนดชนิดข้อมูลใหม่โดยใช้คำหลักเช่น

structunion และ enum หรือกำหนดค่าของชนิดข้อมูลและอาจสงวนเนื้อที่สำรองให้กับตัวแปรใหม่ โดยการเขียนชื่อของชนิดข้อมูลตามด้วยชื่อตัวแปร คำหลักอาทิ charและ int เป็นชนิดข้อมูลพื้นฐานที่มากับภาษา ส่วนต่าง ๆ ของรหัสถูกคลุมด้วย วงเล็บปีกกา { กับ } เพื่อจำกัดขอบเขตของการประกาศ และเพื่อกระทำเสมือนข้อความสั่งเดียวสำหรับโครงสร้างการควบคุม
ภาษาซีใช้ข้อความสั่งเช่นเดียวกับภาษาเชิงคำสั่งอื่นข้อความสั่งที่สามัญที่สุดคือ ข้อความสั่งนิพจน์ ซึ่งประกอบด้วยนิพจน์ที่จะถูกนำไปประเมินค่า ตามด้วยอัฒภาค ; จากผลข้างเคียงของการประเมินค่า ฟังก์ชันหลายฟังก์ชันอาจถูกเรียกใช้และตัวแปรหลายตัวอาจถูกกำหนดค่าใหม่ภษาซีได้เตรียมข้อความสั่งสำหรับควบคุมการไหลของโปรแกรมไว้หลายข้อความซึ่งดูได้จากคำสงวนต่าง ๆ ตัวอย่างเช่น การใช้ if-else เพื่อการทำงานแบบมีเงื่อนไข และการใช้ do-whilewhile และ for เพื่อการทำงานแบบวนรอบ เพื่อปรับเปลี่ยนการทำงานอันเป็นลำดับปกติสำหรับข้อความสั่ง for นั้นมีนิพจน์ของการกำหนดค่าเริ่มต้น การทดสอบเงื่อนไข และการกำหนดค่ารอบใหม่ทั้งสามอย่างในตัวเอง ซึ่งสามารถละเว้นนิพจน์ใดก็ได้ ข้อความสั่ง break และ continue สามารถใช้ภายในการทำงานแบบวนรอบ เพื่อหยุดการวนรอบ หรือข้ามไปยังการกำหนดค่ารอบใหม่ทันทีนอกจากนี้ยังมีข้อความสั่งที่ไม่เป็นเชิงโครงสร้างคือ goto ซึ่งจะทำให้การไหลของโปรแกรมข้ามไปยังป้าย (label)
ที่ตั้งชื่อไว้ทันทีภายในฟังก์ชัน ข้อความสั่ง switch และ case ใช้สำหรับพิจารณาในการเลือกการทำงานโดยพิจารณานิพจน์ที่เป็นจำนวนเต็ม

                                       
ที่มา:https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%8B%E0%B8%B5   https://kroobee.wordpress.com/2010/09/16/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C/  

1 ความคิดเห็น:

  1. ลองทำตามวีดีโอที่แนะนำก็ไม่ได้ยากเลยขอบคุณสำหรับข้อมูลนะค้าาา

    ตอบลบ