2.4 โครงสร้างของภาษาซี

โปรแกรมภาษาต่างๆ จะมีรูปแบบหรือโครงสร้างเฉพาะที่แตกต่างกันไป สำหรับโปรแกรมภาษาซี มีโครงสร้างและลำดับการเขียนดังนี้

  1. ส่วนประมวลผลก่อน (Preprocessor statement)
  2. ส่วนประกาศตัวแปรส่วนกลาง (Global declarations statement)
  3. ส่วนฟังก์ชันหลัก (Function main)
  4. ส่วนฟังก์ชันที่กำหนดเอง (User-defined function)
  5. ส่วนอธิบายโปรแกรม (Program Comment)

รูปแบบ

//StructureOfC.c //ส่วนอธิบายโปรแกรม
/*Program by Jaturapad Pratoom*/ //ส่วนอธิบายโปรแกรม
#include //ส่วนประมวลผลก่อน
   
int a,b; //ส่วนประกาศตัวแปรส่วนกลาง
int sum(int x, int y); //ส่วนประกาศตัวแปรส่วนกลาง
   
int main() //ส่วนฟังก์ชันหลัก main()
{ // เริ่มต้นฟังก์ชันหลัก main()
  int c; //ส่วนประกาศตัวแปรท้องถิ่น
  printf("Input number 1: "); //คำสั่งในฟังก์ชันหลัก main()
  scanf("%d", &a); //คำสั่งในฟังก์ชันหลัก main()
  printf("Input number 2: "); //คำสั่งในฟังก์ชันหลัก main()
  scanf("%d", &b); //คำสั่งในฟังก์ชันหลัก main()
  c = sum( a, b); //คำสั่งในฟังก์ชันหลัก main()
  printf(" %d + %d = %d", a, b,c); //คำสั่งในฟังก์ชันหลัก main()
  getch(); //คำสั่งในฟังก์ชันหลัก main()
} // จบฟังก์ชันหลัก main()
   
int sum(int x, int y) //ฟังก์ชัน sum()
{ // เริ่มต้นฟังก์ชัน sum()
  return(x + y); //คำสั่งในฟังก์ชัน sum()
} // จบฟังก์ชัน sum()

 

ส่วนประมวลผลก่อน (Preprocessor statement)

          ส่วนนี้จะต้องมีทุกโปรแกรม อาจเรียกว่าส่วนหัวของโปรแกรม จำเป็นต้องกำหนดไว้ในตอนต้นโปรแกรมเสมอ โดยจะขึ้นต้นด้วยเครื่องหมาย # ตามด้วยคำสั่งไดเร็คทีฟ (Directive) ที่ต้องการกำหนดค่า เช่น

          #include  หรือ #include "stdio.h"

          หมายถึงการผนวกเฮดเดอร์ไฟล์ชื่อ stdio.h เข้ามาใช้งาน ทั้งนี้เฮดเดอร์ไฟล์ stdio.h นั้นจะเป็นไฟล์ชนิดข้อความ (Text file) ที่ภายในโปรแกรมจะมีการประกาศค่าตัวแปร และค่าคงที่ต่างๆ บรรจุฟังก์ชันมาตรฐานต่างๆ รวมเข้าด้วยกันตามหมวดหมู่เดียวกันไว้ และจัดเก็บลงในไลบรารี โดยจะถูกนำเข้ามาอ่านรวมกันกับชุดคำสั่งในโปรแกรมขณะที่คอมไพล์โปรแกรม

 

ส่วนประกาศตัวแปรส่วนกลาง (Global declarations statement)

          ส่วนนี้จะใช้ในการประกาศตัวแปรหรือฟังก์ชันที่ต้องใช้ในโปรแกรม โดยทุกๆ ส่วนของโปรแกรมสามารถเรียกใช้ข้อมูลที่ประกาศไว้ในส่วนนี้ได้

 

ส่วนฟังก์ชันหลัก (Function main)

          ส่วนนี้ทุกโปรแกรมจะต้องมี ซึ่งภายในฟังก์ชันหลักจะประกอบด้วยคำสั่งต่างๆ ที่จะให้โปรแกรมทำงาน ฟังก์ชันนี้เริ่มต้นการทำงานด้วยฟังก์ชัน main() ส่วนคำสั่งต่างๆ จะต้องเขียนอยู่ระหว่างเครื่องหมาย { และ } เสมอ และคำสั่งทุกคำสั่งในภาษาซีจะต้องปิดท้ายด้วยเครื่องหมาย ; (semicolon) เสมอ

 

ส่วนฟังก์ชันที่กำหนดเอง (User-defined function)

          เป็นการเขียนคำสั่งและฟังก์ชันต่างๆ ขึ้นใช้ในโปรแกรม โดยต้องอยู่ในเครื่องหมาย { } และต้องสร้างฟังก์ชันหรือคำใหม่ที่ให้ทำงานที่เราต้องการให้กับโปรแกรมและสามารถเรียกใช้ได้ ภายในโปรแกรม

 

ส่วนอธิบายโปรแกรม (Program Comment)

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

          คอมเมนต์ในภาษาซีมี 2 แบบคือ

  1. คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //
  2. คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */

 

    ตัวอย่างการคอมเมนต์ในภาษาซี

1 //Comment only one line
2  
3 #include
4  
5 int main()
6 {
7    /*Comment
8       many
9          line*/
10 }

 

โปรแกรมแรกของฉัน

1 //MyFirstProgram.c
2  
3 #include
4  
5 int main()
6 {
7   printf("Hello World ! ");
8   getch();
9 }

     ผลลัพธ์คือ

Hello World ! 
  • หมายเหตุ
  •   หมายถึง ให้กดปุ่ม Enter บนแป้นพิมพ์

     อธิบายโปรแกรม

บรรทัดที่ 1: เป็นส่วนที่เป็นหมายเหตุแบบบรรทัดเดียวของโปรแกรม เพื่อให้ทราบชื่อโปรแกรมว่า MyFirstProgram.c
บรรทัดที่ 3: เป็นการบอกให้คอมไพเลอร์นำเฮดเดอร์ไฟล์ชื่อ stdio.h เข้ามาร่วมในการแปลผลด้วย โดย stdio ย่อมาจาก standard input/output และ .h คือ นามสกุลของเฮดเดอร์ไฟล์ในภาษาซี (h ย่อมาจาก header) ซึ่ง stdio.h คือ เฮดเดอร์ไฟล์ที่รวมเอาการประกาศ (declaration) ของฟังก์ชันมาตรฐานของภาษาซีที่เกี่ยวกับการจัดการด้านอินพุตและเอาต์พุตเข้ามาไว้ด้วยกันโปรแกรมนี้มีการเรียกใช้งานฟังก์ชัน printf() เพื่อแสดงข้อมูลออกทางจอภาพ และเนื่องจากส่วนของการประกาศฟังก์ชัน printf() ถูกบรรจุอยู่ในเฮดเดอร์ไฟล์ stdio.h ดังนั้นจึงจำเป็นต้องนำเฮดเดอร์ไฟล์ stdio.h เข้าร่วมในการแปลผลด้วย
บรรทัดที่ 5: คือฟังก์ชัน main() ซึ่งเป็นฟังก์ชันหลักของโปรแกรม การทำงานของโปรแกรมภาษาซีจะเริ่มต้นที่ฟังก์ชันนี้
บรรทัดที่ 6: เครื่องหมาย { ระบุจุดเริ่มต้นของฟังก์ชัน main()
บรรทัดที่ 7: เป็นคำสั่งให้เคลียร์หน้าจอเวลาแสดงผลลัพธ์
บรรทัดที่ 8: เป็นการเรียกใช้ฟังก์ชัน printf() ซึ่งเป็นฟังก์ชันมาตรฐานของภาษาซีทำหน้าที่แสดงผลข้อมูลออกทางจอภาพ ในที่นี้จะแสดงข้อความ Hello World ! ออกทางจอภาพ
บรรทัดที่ 9: เป็นการเรียกใช้ฟังก์ชัน getch() ซึ่งเป็นฟังก์ชันมาตรฐานของภาษาซีทำหน้าที่รับตัวอักษรใด เพื่อออกจากหน้าจอปัจจุบัน
บรรทัดที่ 10: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชัน main()

เข้าดู : 554 ครั้ง