กฎเกณฑ์การเขียนโปรแกรมภาษาซี
1.ที่ส่วนหัวโปรแกรม จะต้องกำหนดตัวประมวลผลก่อนเสมอ ตัวอย่างเช่น #include<stdio.h> เพื่อใช้งานฟังก์ชั่นเกี่ยวกับการรับค่า (input) หรือแสดงผลข้อมูล (output)
2.ชุดคำสั่งในภาษาซี จะต้องใช้อักษรพิมพ์เล็กทั้งหมด
3.ตัวแปรที่ใช้งาน จะต้องประกาศชนิดข้อมูลไว้เสมอ
4.ภายในโปรแกรม จะต้องมีอย่างน้อยหนึ่งฟังก์ชั่นเสมอ ซึ่งก็คือ ฟังก์ชั่น main()
5.สามารถใช้เครื่องหมายปีกกาเปิด { เพื่อบอกจุดเริ่มต้นของชุดคำสั่ง และเครื่องหมายปีกกาปิด } เพื่อบอกจุดสิ้นสุดของชุดคำสั่ง โดยสามารถมีเครื่องหมายปีกกาซ้อนย่อยอยู่ภายในได้
6.เมื่อเขียนชุดคำสั่งเสร็จแล้ว ต้องจบด้วยเครื่องหมาย ; (semicolon)
7.สามารถอธิบายโปรแกรมตามความจำเป็นด้วยการใช้เครื่องหมาย /* … */ หรือ //
เพิ่มเติม ..
ตัวแปร (Variables)
ตัวแปร จะนำมาใช้เพื่อจัดเก็บและใช้งานในโปรแกรม โดยค่าข้อมูลที่บันทึกอยู่ในตัวแปรนั้น จะถูกจัดเก็บไว้ในหน่วยความจำหลักที่สามารถนำไปประมวลผล และอ้างอิงภายในโปรแกรมได้
กฎการตั้งชื่อตัวแปร
1.สามารถใช้ตัวอักษร A ถึง Z รวมทั้งตัวเลข 0 ถึง 9 และเครื่องหมาย _ (Underscore) มาใช้เพื่อการตั้งชื่อตัวแปร ตัวอย่างเช่น 1digit ถือว่าผิด แต่ถ้าตั้งใหม่เป็น digit1 หรือ digit_1 ถือว่าถูกต้อง
2.ชื่อตัวแปรสามารถมีความยาวได้ถึง 31 ตัวอักษร (กรณีเป็น ASCI-C)
3.ชื่อตัวแปร ต้องไม่มีช่องว่าง เช่น My Name ถือว่าผิด ให้ตั้งติดกัน MyName หรือ My_Name
4.ชื่อตัวแปร ต้องไม่มีตัวอักษรพิเศษต่างๆ เช่น + - * / , % $ # ฯลฯ
5.ชื่อตัวแปรต้องไม่ตรงกับคำสงวน (Reserved Words) ซึ่งถือว่าเป็นชุดคำสั่งที่ใช้ในภาษาซีนั้นเอง
คำสงวนมีดังนี้
auto extern sizeof break float static
case for struct
char goto switch
const if typedef continue int
union default long
unsigned do register void double return
volatile else short
while enum signed
เฉลย
ชนิดข้อมูล
ในภาษาซีจะมีชนิดข้อมูลหลักๆดังนี้
1. char ข้อมูลชนิดตัวอักษร ช่วงข้อมูล -128 ถึง 127 (bits ที่ใช้ 8 ใช้เนื้อที่ 1 byte)
2. int ข้อมูลชนิดเลขจำนวนเต็ม ช่วงข้อมูล -32,768 ถึง 32,767 (bits ที่ใช้ 16 ใช้เนื้อที่ 2 byte)
3. float ข้อมูลชนิดเลขจำนวนจริงมีทศนิยม ช่วงข้อมูล -1.1E-38 ถึง 3.4E+38 (bits ที่ใช้ 32 ใช้เนื้อที่ 4 byte)
4. double ข้อมูลชนิดเลขจำนวนจริง 2 เท่า ช่วงข้อมูล 2.2E-308 ถึง 1.7E+308 (bits ที่ใช้ 64 ใช้เนื้อที่ 8 byte)
รูปแบบการประกาศตัวแปร
การประกาศตัวแปร สามารถทำได้ 2 แบบ คือ แบบไม่กำหนดค่า และแบบกำหนดค่า(มีเครื่อง=ตามด้วยค่าที่ต้องการ)
ชนิดข้อมูล ชื่อตัวแปร;
ชนิดข้อมูล ชื่อตัวแปร=ค่า;
ตัวอย่าง ให้ประกาศตัวแปรตามที่โจทย์กำหนด
เฉลย
พอจะเข้าใจไหมครับ การประกาศตัวแปร คือ โจทย์ต้องการอะไร ดูก่อนว่าเก็บข้อมูลแบบไหน ตัวเลข ทศนิยม หรือตัวอักษร มีแค่ 4 อย่างหลักๆ (int float double char) จริงๆมีย่อยอีก แต่ขอไม่พูดถึง แค่ 4อย่างนี้ก็เพียงพอสำหรับการเริ่มต้น
ข้อแรก ชนิดข้อมูลให้มาแล้วกับชื่อตัวแปร เวลาประกาศตัวแปร คือ เริ่มต้นด้วยชนิดข้อมูล int จากนั้นเว้นวรรคอย่างน้อย 1 ครั้งและตามด้วยชื่อตัวแปรจากโจทย์กำหนดคือ number ก็จะได้ int number; จบด้วยเครื่องหมาย semicolon
ข้อสอง มีการกำหนดค่า และเลข 5 ก็ควรประกาศชนิดข้อมูล int ชื่อตัวแปรแล้วแต่ ข้อแค่ให้ตั้งถูกตามหลักการตั้งชื่อตัวแปร ผมตั้งชื่อตัวแปรเป็น number2 ประกาศตัวแปรได้ int number2=5;
ข้อสาม ตัวอักษร ต้องประกาศชนิดข้อมูลเป็น char เท่านั้น ส่วนชื่อตัวแปรให้มาแล้วคือ grade ประกาศตัวแปรจะได้ char garde='A'; แต่มีที่ต่างจากชนิดข้อมูลแบบอื่น หากประกาศตัวอักษรตัวเดียว ต้องมีเครื่องหมาย ' ด้วย เรียกว่า (apostrophe) อ้างอิง
ข้อสี่ เลข 1.5 เป็นทศนิยม สามารถใช้ได้ 2 อย่าง float หรือ double แต่เลขจำนวนน้อยๆ จะขอใช้ float มันประหยัดพื้นที่ในคอมมากกว่า (การประกาศตัวแปรคือการจองหน่วยความจำในคอมในสมัยก่อน RAM ยังมีน้อย แต่ละชนิดข้อมูลจะมีการใช้พื้นที่ต่างกัน) ชื่อตัวแปรก็ตามสะดวกที่จะตั้ง ผมตั้งเป็น GPA ประกาศตัวแปรจะได้ float GPA=1.5;
ข้อห้า ตัวเลข 1,000,000 หากใช้ int int จะมีค่าข้อมลูมากสุดคือ 32,767 หากใช้ชนิดข้อมูล int จะทำให้ค่าที่ออกมาผิดพลาด (คิดง่ายๆเหมือนกับกล่องใส่ของใส่ของได้ 10ชิ้น แต่ยัดของไป 20 ชิ้น ทำให้ชนาดของของเสียหาย หรือโปรแกรมอาจผิดพลาดเลยก่อนแสดงผล) เพราะฉะนั้นข้อนี้ สามารถใช้ float หรือ double แต่ float อยากให้จำว่าใช้กับทศนิยม จริงๆอันนี้ก็ใช้ได้ ไม่ผิด แต่ผมใช้ double ชื่อตัวแปรผมตั้งเป็น money การประกาศตัวแปรก็จะได้ double money=1000000; จะเห็นว่าไม่มี , ไม่งั้นจะ error การประกาศตัวแปร ค่ามีเท่าไรใส่เลย หากจะใส่ , ให้ดูง่าย สามารถทำตอนแสดงผล (printf) เท่านั้น .. หวังว่าคงเข้าใจ
การเก็บตัวอักษรหลายๆตัวอักษรในตัวแปรเดียว เรียกว่า สตริง (string)
รูปแบบการประกาศ char ชื่อตัวเลข[ความยาวของตัวอักษร]; เช่น
char name[30];
สรุป
การเขียนโปรแกรมภาษาซีต้องเขียนตามโครงสร้างด้านบน เริ่มด้วยตัวปละมวลผลก่อน #include<stdio.h> ตัวประมวลผลก่อน จะมีมากมายแต่ที่ใช้ต้องมีตลอดคือ stdio.h หากจะเรียกใช้เกี่ยวกับคณิตศาสตร์ ต้องเรียก math.h
หากจะทำเกมแล้วมีเวลามาเกี่ยวข้อง time.h ขึ้นอยู่กับว่าจะเขียนโปรแกรมอะไร ต้องใช้อะไรบ้าง
ฟังก์ชั่นหลัก คือ main() ในหนังสือบางเล่มหรือบางเว็บ จะเขียนแบบอื่น เช่น int main() หรือ int main(int) ซึ่งตรงนี้หากมีการเรียกใช้ int ข้างหน้า ข้างล่างสุดของโปรแกรมจะต้องมี return 0; (ตามรูป)
แต่แบบง่ายเลยไม่ต้องมีอะไร เพราะเมื่อเรียนถึงการสร้างฟังก์ชั่น จะรู้ว่ามีการ int ข้างหน้า main หมายถึงอะไร และ (int) ในวงเล็บก็เหมือนกัน
โครงสร้างภาษาซีส่วนต่อมา คือมีปีกกาเปิดและปิดเป็นการแสดงขอบเขตของส่วนที่จะเขียนโปรแกรม { }
ข้างในนี้ก็ ประกาศตัวแปร และชุดคำสั่งต่างๆ ก็เขียนในนี้ทั้งหมด
สุดท้าย คำอธิบายโปรแกรม จะเขียนส่วนไหนของโปรแกรมก็ได้ เพราะโปรแกรมจะไม่เอาไปคอมไพล์ (ใช้ // หรือ /* ... */)
เพิ่มเติมอีกนิด แก้ไขวันที่ (26/7/0560)
คิดว่าหลายคน อาจจะงงกับ ช่วงข้อมูล ของชนิดข้อมูล
ชนิดข้อมูลตัวอักษร char เก็บข้อมูลช่วง -128 ถึง 127 คือ ช่วงรหัสของแอสกี (ASCII)
เช่นตัวอักษร A จะมีรหัสแอสกีเป็น 65 และ 41 (เลขฐาน10และ16ตามลำดับ) แต่ไม่ต้องไปจำหรอก ตอนนี้
ส่วนชนิดข้อมูล int float double เก็บเลขตามปกติ ถ้าใช้เลขเยอะก็ต้องประกาศชนิดข้อมูลที่ใหญ่กว่า
(หวังว่าคงเข้าใจ - -)
อ้างอิง
เพิ่มเติมอีกนิด แก้ไขวันที่ (26/7/0560)
คิดว่าหลายคน อาจจะงงกับ ช่วงข้อมูล ของชนิดข้อมูล
ชนิดข้อมูลตัวอักษร char เก็บข้อมูลช่วง -128 ถึง 127 คือ ช่วงรหัสของแอสกี (ASCII)
เช่นตัวอักษร A จะมีรหัสแอสกีเป็น 65 และ 41 (เลขฐาน10และ16ตามลำดับ) แต่ไม่ต้องไปจำหรอก ตอนนี้
ส่วนชนิดข้อมูล int float double เก็บเลขตามปกติ ถ้าใช้เลขเยอะก็ต้องประกาศชนิดข้อมูลที่ใหญ่กว่า
(หวังว่าคงเข้าใจ - -)
อ้างอิง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น