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

ประวัติส่วนตัว

ชื่อ นาย กิตติภพ มั่นคง
ชั้น ปวช.2/3
เลขที่ 32
james_numwan@hotmail.com



ประวัติความเป็นมาของภาษา C ภาษา C คิดค้นขึ้นเป็นครั้งแรกโดย เดนนิส ริทชี่ (Dennis Ritchie) ที่ห้องแล็บเบล (Bell Labs) ในปี ค.ศ.1972 โดยได้แนวคิดมาจากภาษา BCPL และภาษา B ที่เขียนขึ้นโดย เคน ทอมพ์สัน (Ken Thompson) (จำไว้นะได้แนวคิดมาจาก ภาษา BCPL และ ภาษา B ส่วนคนคิดค้นของภาษานี้ จำไว้ก็ดี หรือ ไม่จำก็ได้เพราะคิดว่าคงไม่ออกในข้อสอบ) หลังจากคิดค้นและพัฒนาจนได้ภาษาใหม่ที่มีประสิทธิภาพการทำงานสูง (ก็ภาษา C นั่นแหละ) หลังจากนั้นในปี ค.ศ.1978 ภาษา C จึงได้รับการเผยแพร่อย่างเป็นทางการโดย เคอร์นิกแฮน (Kernighan) และ เดนนิส ริทชี่ จนเป็นที่นิยมสำหรับโปรแกรมเมอร์ทั่วโลก **ปัจจุบันภาษา C ได้พัฒนาไปเป็น C++ ซึ่งมีความสามารถในการเขียนโปรแกรมแบบ OOP หรือ การเขียนโปรแกรมเชิงวัตถุ (ผมอยากให้อาจารย์สอนอันนี้เลยมากกว่า)จุดเด่นของภาษา C
เป็นภาษาที่มีการกำหนดมาตรฐานสำหรับคอมพิวเตอร์ทุกรุ่นและระบบปฏิบัติการทุกชนิด ทำให้โครงสร้างทางภาษา ฟังก์ชั่นและไลบราลี (Library) ต่างๆ สามารถนำไปใช้ได้ทุกรุ่นและทุกระบบปฏิบัติการ
โปรแกรมที่เขียนออกมาจะมีขนาดเล็กและทำงานได้รวดเร็วเหมือนภาษาระดับต่ำ แต่เข้าใจง่ายเหมือนภาษาระดับสูง (ภาษาซีจัดอยู่ในภาษาระดับกลาง แต่หนังสือบางเล่มจะจัดภาษาซีอยู่ในภาษาระดับสูง แต่ผมว่าระดับกลางน่าจะเหมาะกว่า อิอิ)
มีโครงสร้างทางภาษาที่ดี และเครื่องหมายการดำเนินการ (Operators) มีประสิทธิภาพสูงและยืดหยุน (สังเกตุได้จาก x++,++x ที่งงกันไปพักนึง ฮ่าๆ)
ภาษา C สามารถเขียนเพื่อควบคุมฮาร์ดแวร์ได้ ซึ่งบางภาษามันทำไม่ได้เช่น ภาษา Basic
มีฟังก์ชั่นสำเร็จรูปไว้ให้เราใช้งานเยอะ!! ทำให้เราไม่ต้องเขียนเอง และหากว่า ฟังก์ชั่นที่มีมาให้มันไม่โดนใจ เราสามารถเขียนเองและเพิ่มเติมลงไปได้ หรืออาจจะแจกจ่ายให้เพื่อนๆ ในห้องใช้ด้วยก็ได้



printf("%d\n", list[listlength-1]);
จะพิมพ์ค่าสุดท้ายในลำดับออกมา. คำสั่ง printf รับค่าตัวแรกเป็นข้อความที่จัดรูปแบบการแสดงผล และรับรายการของข้อมูลที่ต้องการแสดงผลถัดไป. รูปแบบการแสดงผลจะถูกระบุโดยเครื่องหมาย % ตามด้วยอักษรแสดงรูปแบบ. ในกรณีนี้ %d ระบุว่าเราจะพิมพ์ตัวเลขฐานสิบ. เครื่องหมาย \n ในการจัดรูปแบบ ระบุให้ printf ขึ้นบรรทัดใหม่. ในการสั่งคำสั่ง printf โดยปกติแล้วเครื่องจะยังไม่แสดงข้อความที่เราสั่งพิมพ์ ถ้าโปรแกรมยังไม่สั่งขึ้นบรรทัดใหม่
.

list[listlength] = (line[i]-'0');
เรานำตัวอักษรตัวที่ i มาแล้วลบด้วยค่าของตัวอักษร '0' เพื่อจะได้ค่าตัวเลขของมัน ก่อนที่จะนำมันไปเก็บไว้ในลำดับ.
คำสั่ง listlength-=2 มีความหมายเหมือนกับ listlength = listlength - 2 และคำสั่ง


if( เงื่อนไข ) คำสั่งที่ทำเมื่อเงื่อนไขเป็นจริง; else คำสั่งที่ทำเมื่อเงื่อนไขเป็นเท็จ;
เราต้องการทดสอบว่าอักษรตัวที่ i นั้นเป็นเครื่องหมายหรือไม่. เราสามารถเขียนเงื่อนไขได้เป็น



for( คำสั่งเริ่มต้น ; เงื่อนไข ; คำสั่งที่ทำก่อนจะเริ่มทำงานครั้งต่อไป )
คำสั่ง;
คำสั่ง for นี้ โดยทั่วไปเราจะใช้ในกรณีที่เราทราบจำนวนครั้งของการวนรอบ. เรารู้ว่าเราจะทำงานจำนวนเท่ากับความยาวของข้อความ. เรามีฟังก์ชั่น strlen จะคือค่าความยาวของข้อความที่เราป้อนไป. ในการจะใช่้ฟังก์ชั่นนี้ เราต้องประกาศ #include ไว้ที่หัวของโปรแกรมด้วย. เราจะเขียนส่วนวนรอบหลัก


scanf("\%s",line);
ในการเรียกใช้คำสั่งนี้ เราต้องมีการประกาศมันเสียก่อน


char line[100];
ตัวแปรประเภท char คือตัวแปรที่เก็บตัวอักษร. เราสามารถสั่งอ่านข้อความจากผู้ใช้เข้ามายังตัวแปร line