หากต้องการคอมเมนต์บรรทัดเดียว

คอมเมนต์(Comment) คือ ส่วนที่ใช้เขียนอธิบายโปรแกรม มีไว้ให้ Programmer หรือผู้เขียนโปรแกรม เขียนอธิบายไว้ใน source code คอมไพเลอร์จะข้ามส่วนนี้ไปไม่นํามาแปลผล

การเขียน Comment สามารถเขียนได้ 2 แบบ คือ

  • Comment แบบ บรรทัดเดียว ให้ใช้เครื่องหมาย // นําหน้าบรรทัดนั้นๆ
  • Comment แบบ หลายบรรทัด ให้ใช้เครื่องหมาย /* ตรงต้นบรรทัดแรก และ */ ตรงท้ายบรรทัดสุดท้าย

ตัวอย่าง

//Comment one line
#include <stdio.h>
main(){

    /*comment
      many
      line*/

}

การใช้ Comment ไม่สามารถใช้แบบ comment ซ้อน Comment ได้ มิฉะนั้นจะทําให้เกิดความผิดพลาดในการคอมไพล์ได้

โปรแกรมภาษาซีเบื้องต้น

หากต้องการคอมเมนต์บรรทัดเดียว

โครงสร้างของโปรแกรมภาษาซี


                การเขียนโปแกรมภาษาซี จะมีรูปแบบโครงสร้างของภาษาแน่นอน จากโปรแกรมอย่างง่ายของภาษาซีทางขวามือ ต่อไปนี้ จะเห็นว่า การเขียนโปรแกรมภาษาซี จะมีโครงสร้าง 2 ส่วนคือ

               1. ส่วนหัว (Head) เป็นส่วนหัวของโปรแกรมทุกโปรแกรม ส่วนนี้จะต้องอยู่บนสุดของโปรแกรมเสมอ บางที่เรียกส่วนนี้ว่า Preprocessor ใช้เพื่อระบุชื่อ header file เพื่อควบคุมการทำงานของ ฟังก์ชันมาตรฐาน ที่ถูกเรียกใช้งานในส่วนของ main function

ส่วนที่เขียนว่า #include เรียกว่า Directives
               ส่วนที่ตามหลังมา อาจเขียนให้อยู่ในเครื่องหมาย "   " หรือ <   > ก็ได้ เรียกว่า header file ซึ่ง header file มีส่วนขยายเป็น .h และ header file เหล่านี้ จะอยู่ในโฟลเดอร์ include

               2. ส่วนฟังก์ชันหลัก ( main Function) เป็นส่วนเขียนคำสั่งควบคุมการทำงานโดยจะเขียนอยู่ภายในเครื่องหมาย {     } ในการเขียนโปรแกรมภาษาซี จะต้องมีฟังก์ชันอย่างน้อย 1 ฟังก์ชัน ชื่อ main() โดยทั่วไปผู้เขียนสามารถตั้งชื่อฟังก์ชันได้เอง แต่สำหรับฟังก์ชัน main() จะเป็นฟังก์ชันบังคับของโปรแกรม เพื่อใช้เป็น จุดเริ่มต้นการประมวลผลโปรแกรม และเป็นจุดเริ่มต้นในการเรียกใช้ฟังก์ชันอื่น สรุปว่า ทุกโปรแกรมจะต้องมีฟังก์ชัน main()

              ฟังก์ชัน main() จะต้องเขียนในรูปของ int main() ซึ่งเป็นรูปแบบตามมาตรฐานของ Ansi standard C ซึ่งหมายหความว่าฟังก์ชัน main() จะไม่มีการรับค่าใด ๆ เข้ามาประมวลผล แต่จะส่งค่า int กลับไป ( int หมายถึง integer ซึ่งเป็นเลขจำนวนเต็มที่ไม่มีทศนิยม) ดังจะเห็นว่า บรรทัดรองสุดท้ายก่อนจบ จะเขียนว่า return 0;


               การส่งค่ากลับให้ฟังก์ชัน main() ถ้า return 0; หมายความว่า โปรแกรมทำงานเสร็จสิ้นสมบูรณ์ไม่มีข้อผิดพลาดใด ๆ เกิดขึ้น แต่ถ้า return 1; หรือ return <ค่าอื่น ๆ ที่ไม่ใช่ 0>; หมายความว่า โปรแกรมจบไม่สมบูรณ์ มีการข้ามการทำงานบ้างขั้นตอนเพื่อให้โปรแกรมสิ้นสุดลง


การใส่คำอธิบายโปรแกรม (Comment)

                comment เป็นส่วนของโปรแกรมที่คอมไพเลอร์ไม่ต้องคอมไพล์ หมายความว่าเมื่อคอมไพเลอร์ทำการคอมไพล์มาถึงส่วนของ comment คอมไพเลอร์จะข้ามส่วนนั้นไปโดยไม่ต้องคอมไพล์ การใช้คอมเมนต์ในโปรแกรมจะมี 2 ลักษณะ คือ


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

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


Comment ในภาษาซี มี 2 ประเภท คือ

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

กฏการตั้งชื่อ (Identifier)

                 ชื่อ หรือ Identifier คือการประกาศ หรือการตั้งชื่อให้กับตัวแปร ค่าคงที่ ฟังก์ชัน หรือ class ซึ่งจะอยู่ภายในส่วนต่าง ๆของโปรแกรม

ประเภทของ Identifier มี 3 ประเภทคือ

  1. reserve word เป็นชื่อที่มีความหมายและวิธีการใช้แน่นอน ได้กำหนดไว้ในภาษาซีแล้ว คอมไพเลอร์จะไม่ยอมให้เราใช้ชื่อนี้ในลักษณะที่แตกต่างไปจากที่กำหนดไว้
  2. standard identifier หมายถึง ชื่อที่กำหนดขึ้นในคอมไพเลอร์ ชื่อเหล่านี้มีความหมาย และวิธีการใช้ตามเงื่อนไขที่คอมไพเลอร์กำหนดไว้ แต่เราสามารถเปลี่ยนแปลงวิธีการทำงานและเงื่อนไขการใช้ชื่อเหล่านี้ได้ โดยคอมไพเลอร์จะยกเลิกเงื่อนไขเดิมและเปลี่ยนมาใช้เงื่อนไขที่เรากำหนดขึ้นใหม่ standard identifier ส่วนใหญ่จะเป็นชื่อฟังก์ชันที่มีอยู่ในภาษาซี เช่น abs   arc   getch   open   rename
  3. user define identifier หมายถึงชื่อที่เรากำหนดความหมายและเงื่อนไขในการใช้ขึ้นเอง แต่ต้องตั้งขึ้นตามกฏเกณฑ์ที่ภาษาซีกำหนดขึ้นสำหรับในภาษาซีมีหลักเกณฑ์ในการตั้งชื่อดังนี้

    1. ต้องขึ้นต้นด้วยตัวอักษรในภาษาอังกฤษ หรือเครื่องหมาย _ (Underscore)

    2. ต้องไม่เป็นชื่อเดียวกับคำสงวน (Reserve word) หรือคำมาตรฐานที่คอมไพเลอร์รู้จัก

    3. ชื่ออาจตามด้วยตัวเลขได้ แต่ห้ามขึ้นต้นด้วยตัวเลข

    4. ห้ามใช้เครื่องหมายพิเศษต่าง ๆ ในการตั้งชื่อ เช่น @  !   #  $   ^  &  *  +  -  /  \

    5. ห้ามเว้นช่องว่าง

    6. ชื่อในภาษาซี มีความแตกต่างกันระหว่างตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เช่น Name จะไม่เหมือนกับ name

คำสงวน (Reserve word)

คำสงวน หมายถึง ชื่อหรือคำที่คอมไพเลอร์ สงวนไว้เพื่อเป็นคำเฉพาะในภาษาซี ห้ามนำคำสงวนนี้ไปใช้ในการตั้งชื่อ ประกอบด้วยคำต่าง ๆ ตามตารางต่อไปนี้

หากต้องการคอมเมนต์บรรทัดเดียว

ข้อสังเกตเกี่ยวกับการตั้งชื่อ

1. ควรตั้งชื่อให้มีความหมายและเข้าใจได้ง่าย ดังตัวอย่างต่อไปนี้ 
   Length มีความหมายและเข้าใจได้ง่ายกว่า L
2. ควรตั้งให้เห็นส่วนประกอบต่าง ๆ ได้ง่าย ดังตัวอย่างต่อไปนี้
   StudentName เห็นส่วนประกอบต่าง ๆ ได้ง่ายกว่า studentname
   Part_Number เห็นส่วนประกอบต่าง ๆ ได้ง่ายกว่า PARTNUMBER
3. เนื่องจากชื่อส่วนมากที่มีอยู่ในคอมไพเลอร์มักนิยมเริ่มด้วยเครื่องหมายขีดเส้นใต้ ( _ ) ดังที่เราได้เห็นตัวอย่างมาแล้วจากคำสงวน (Reserve word) เพราะฉะนั้นถ้าเป็นไปได้ เราควรหลีกเลี่ยงการตั้งชื่อที่เริ่มต้นด้วยเครื่องหมายขีดเส้นใต้