1. ส่วนหัวของโปรแกรม
ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทำการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่คำสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นำเฮดเดอร์ไฟล์ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกำหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ
คำสั่งที่ใช้ระบุให้คอมไพเลอร์นำเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ
- #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include)
- #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์โดยเฉพาะ
2. ส่วนของฟังก์ชั่นหลัก
ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “หลัก” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกำหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทำงานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย
3. ส่วนรายละเอียดของโปรแกรม
เป็นส่วนของการเขียนคำสั่ง เพื่อให้โปรแกรมทำงานตามที่ได้ออกแบบไว้
คอมเมนต์ในภาษาซี
คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบายกำกับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ
¨ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //
¨ คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
ตัวอย่าง การคอมเมนต์ในภาษาซี
// Comment only one line
#include <stdio.h>
#include <conio.h>
main void()
{
clrscr();
/*comment
many
line*/
}
*****ข้อควรระวังในการใช้คอมเมนต์ คือ ในกรณีที่ใช้คอมเมนต์แบบหลายบรรทัด จะไม่สามารถใช้คอมเมนต์ซ้อนคอมเมนต์ได้ ดังรูป มิฉะนั้นจะก่อให้เกิดข้อผิดพลาดในการคอมไพล์
/
/
/*Comment1*/
/*Comment2*/
/*Comment3*/
/*Comment2*/
X
/*Comment1
/*Comment3*/
จะเห็นว่าในกรณีที่ต้องการใส่คอมเมนต์หลาย ๆ บรรทัดติดกันนั้น คอมเมนต์แบบหลายบรรทัดจะช่วยประหยัดเวลาในการใส่คอมเมนต์ได้มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ก็ควรระมัดระวังในการใช้งานด้วย
บรรทัดที่ 1: #include <stdio.h>
บรรทัดที่2: void main()
บรรทัดที่3: {
บรรทัดที่4: clrscr();
บรรทัดที่5: printf("My name is Supaporn");
บรรทัดที่6: }
My name is Supaporn
-บรรทัดที่ 1: เป็นการบอกให้คอมไพเลอร์นำเฮดเดอร์ไฟล์ชื่อ stdio.h เข้ามาร่วมในการแปลผลด้วย โดย stdio ย่อมาจาก standard input/output และ .h คือ นามสกุลของเฮดเดอร์ไฟล์ในภาษาซี (h ย่อมาจาก header) ซึ่ง stdio.h คือ เฮดเดอร์ไฟล์ที่รวมเอาการประกาศ (declaration) ของฟังก์ชั่นมาตรฐานของภาษาซีที่เกี่ยวกับการจัดการด้านอินพุตและเอาต์พุตเข้ามาไว้ด้วยกันโปรแกรมนี้มีการเรียกใช้งานฟังก์ชั่น printf() เพื่อแสดงข้อมูลออกทางจอภาพ และเนื่องจากส่วนของการประกาศฟังก์ชั่น printf() ถูกบรรจุอยู่ในเฮดเดอร์ไฟล์ stdio.h ดังนั้นจึงจำเป็นต้องนำเฮดเดอร์ไฟล์ stdio.h เข้าร่วมในการแปลผลด้วย
-บรรทัดที่ 2: คือฟังก์ชั่น void main() ซึ่งเป็นฟังก์ชั่นหลักของโปรแกรม การทำงานของโปรแกรมภาษาซีจะเริ่มต้นที่ฟังก์ชั่นนี้
-บรรทัดที่ 3: เครื่องหมาย { ระบุจุดเริ่มต้นของฟังก์ชั่น main()
-บรรทัดที่ 4: เป็นคำสั่งให้เคลียร์หน้าจอเวลาแสดงผลลัพธ์
-บรรทัดที่ 5: เป็นการเรียกใช้ฟังก์ชั่น printf() ซึ่งเป็นฟังก์ชั่นมาตรฐานของภาษาซีทำหน้าที่แสดงผลข้อมูลออกทางจอภาพ ในที่นี้จะแสดงข้อความ My name is Supaporn ออกทางจอภาพ
-บรรทัดที่ 6: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชั่น main()
ตัวแปร (variable) คือชื่อที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล โดยมีกฎในการตั้งชื่อตัวแปรดังนี้
1.ต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจจะเป็นตัวอักษรหรือตัวเลขก็ได้
2.ห้ามใช้สัญลักษณ์อื่นใด ยกเว้นเครื่องหมายสตริงก์ ($) และขีดล่าง (Underscore)
3.ตัวแปรอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีความหมายแตกต่างกัน
4.ห้ามเว้นวรรคระหว่างตัวแปร
5.ห้ามตั้งชื่อซ้ำกับคำสงวนในภาษาซี
ก่อนที่จะนำตัวแปรไปใช้งาน ในภาษาซีจะต้องมีการประกาศค่าตัวแปรให้สอดคล้องกับข้อมูลที่จะนำไปใช้โดยมีรูปแบบดังนี้
รูปแบบ Type varible name
Type ชนิดของตัวแปร ซึ่งอาจจะป็น char, int, float, double หรือตัวแปรชนิดอื่นๆ เป็นต้น
variable name ชื่อของตัวแปร ถ้ามีมากกว่า 1 ตัวให้ใช้เครื่องหมาย (,) คั่น
รูปแบบในการประกาศตัวแปรในภาษา C
การสร้าวตัวแปรขึ้นมาใช้งานจะเรียกว่า การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสั่งให้ถูกต้องตามแบบการประกาศตัวแปร แสดงดังนี้
type name;
type : ชนิดของตัวแปร
name : ชื่อของตัวแปร ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C
การเขียนคำสั่งเพื่อประกาศตัวแปร ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่งการเขียนไว้ในตำแหน่งดังกล่าว จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม ดังตัวอย่าง
#include <stdio.h>
int num; สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม
float y; สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม
char n; สร้างตัวแปรชื่อ n เพื่อเก็บข้อมูลชนิดตัวอักขระ
void main()
{
printf("Enter number : ")
scanf("%d",&num);
printf("Enter name : ");
scanf("%f",&n);
printf("Thank you");
ตัวแปรสำหรับข้อความ
ในภาษา C ไม่มีการกำหนดชนิดของตัวแปรสำหรับข้อความโดยตรง แต่จะใช้การกำหนดชนิดของตัวแปรอักขระ (char) ร่วมกับการกำหนดขนาดแทน และจะเรียกตัวแปรสำหรับเก็บข้อความว่า ตัวแปรสตริง (string) รูปแบบการประกาศตัวแปรสตริงแสดงได้ดังนี้
char name[n] = "str";
name ชื่อของตัวแปร
n ขนาดของข้อความ หรือจำนวนอักขระในข้อความ
str ข้อความเริ่มต้นที่จะกำหนดให้กับตัวแปรซึ่งต้องเขียนไว้ภายในเครื่องหมาย " "
ตัวอย่างการประกาศตัวแปรสำหรับเก็บข้อความ แสดงได้ดังนี้
char name[4] = "Dao" ; สร้างตัวแปร name สำหรับเก็บ ข้อความ Dao ซึ่งมี 3 ตัวอักษร ดังนั้น name ต้องมีขนาด 4
char year[5] = "2537"; สร้างตัวแปร year สำหรับเก็บ ข้อความ 2537 ซึ่งมี 4 ตัวอักษร ดังนั้น year ต้องมีขนาด 5
char product_id[4] = "A01"; สร้างตัวแปร product_id สำหรับเก็บ ข้อความ A01 ซึ่งมี 3 ตัวอักษร ดังนั้น product_id ต้องมีขนาด 4
คำสงวน คือ คำที่กำหนดขึ้นในภาษาซีเพื่อให้มีความหมายอย่างใดอย่างหนึ่ง และนำไปใช้งานแตกต่างกัน การประกาศค่าตัวแปรจะต้องไม่ให้ซ้ำกับคำสงวน