โปรแกรมภาษาต่างๆ จะมีรูปแบบหรือโครงสร้างเฉพาะที่แตกต่างกันไป สำหรับโปรแกรมภาษาซี มีโครงสร้างและลำดับการเขียนดังนี้
- ส่วนประมวลผลก่อน (Preprocessor statement)
- ส่วนประกาศตัวแปรส่วนกลาง (Global declarations statement)
- ส่วนฟังก์ชันหลัก (Function main)
- ส่วนฟังก์ชันที่กำหนดเอง (User-defined function)
- ส่วนอธิบายโปรแกรม (Program Comment)
รูปแบบ
|
|
|
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
int a,b; |
|
|
int sum(int x, int y); |
|
|
|
|
|
int main() |
|
|
{ |
|
|
int c; |
|
|
printf("Input number 1: "); |
|
|
scanf("%d", &a); |
|
|
printf("Input number 2: "); |
|
|
scanf("%d", &b); |
|
|
c = sum( a, b);
|
|
|
printf("\n%d + %d = %d", a, b,c); |
|
|
getch(); |
|
|
} |
|
|
|
|
|
int sum(int x, int y) |
|
|
{ |
|
|
return(x + y); |
|
|
} |
|
|
ส่วนประมวลผลก่อน (Preprocessor statement)
ส่วนนี้จะต้องมีทุกโปรแกรม อาจเรียกว่าส่วนหัวของโปรแกรม จำเป็นต้องกำหนดไว้ในตอนต้นโปรแกรมเสมอ โดยจะขึ้นต้นด้วยเครื่องหมาย # ตามด้วยคำสั่งไดเร็คทีฟ (Directive) ที่ต้องการกำหนดค่า เช่น
#include <stdio.h> หรือ #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 แบบคือ
- คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //
- คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
ตัวอย่างการคอมเมนต์ในภาษาซี
|
|
|
|
|
#include <stdio.h> |
|
|
|
int main() |
|
{ |
|
|
|
|
|
|
|
} |
|
โปรแกรมแรกของฉัน
|
|
|
|
|
#include <stdio.h> |
|
|
|
int main() |
|
{ |
|
clrscr(); |
|
printf("Hello World !\n"); |
|
getch(); |
|
} |
|
ผลลัพธ์คือ
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()
|
|