You are on page 1of 4

ใบความรู้ ที่ 2

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

โครงสร้ างโปรแกรมภาษาซี
#include <stdio.h>
#include <conio.h>
1
void main() 2
{
……….. 3
}

โครงสร้ างของโปรแกรมภาษาซีแบ่ งออกเป็ น 3 ส่ วน


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) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชนั่ และจะไม่มีการ
คืนค่าใด ๆ กลับออกไปจากฟังก์ชนั่ ด้วย
ไม่คืนค่าใด ๆ กลับออกไปจากฟังก์ชนั่

main() เทียบเท่า void main(void)

ไม่รับค่าใด ๆ เข้ามาในฟังก์ชนั่

argument คือ ตัวรับค่าเข้ามาในฟังก์ชนั่


parameter คือ ค่าที่ส่งไปยังฟังก์ชนั่
ค่าของ argument และ parameter ต้องเป็ นข้อมูลชนิดเดียวกัน เช่น หากกําหนดให้ argument เป็ นข้อมูล
ชนิดตัวอักษรแล้วค่า parameter ก็ส่งไปก็ตอ้ งเป็ นชนิดตัวอักษรด้วย

3. ส่ วนรายละเอียดของโปรแกรม
เป็ นส่ วนของการเขียนคําสั่ง เพื่อให้โปรแกรมทํางานตามที่ได้ออกแบบไว้
คอมเมนต์ ในภาษาซี
คอมเมนต์ (comment) คือส่ วนที่เป็ นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผเู้ ขียนโปรแกรมใส่
ข้อความอธิ บายกํากับลงไปใน source code ซึ่ งคอมไพเลอร์ จะข้ามาการแปลผลในส่ วนที่เป็ นคอมเมนต์น้ ี
คอมเมนต์ในภาษาซี มี 2 แบบคือ
♦ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่ องหมาย //
♦ คอมเมนต์แบบหลายบรรทัด ใช้เครื่ องหมาย /* และ */
ตัวอย่ าง การคอมเมนต์ ในภาษาซี
// Comment only one line
#include <stdio.h>
#include <conio.h>
main void() ส่วนที่เป็ นคอมเมนต์จะ
{ ไม่ได้รับการแปลผล
clrscr();
/*comment
many
line*/
}
ข้อควรระวังในการใช้คอมเมนต์ คือ ในกรณี ที่ใช้คอมเมนต์แบบหลายบรรทัด จะไม่สามารถใช้
คอมเมนต์ซอ้ นคอมเมนต์ได้ ดังรู ป มิฉะนั้นจะก่อให้เกิดข้อผิดพลาดในการคอมไพล์

/
/*Comment1*/ /*Comment2*/ /*Comment3*/

/*Comment1 /*Comment2*/ /*Comment3*/


X
การใช้ คอมเมนต์ แบบหลายบรรทัด

จะเห็นว่าในกรณี ที่ตอ้ งการใส่ คอมเมนต์หลาย ๆ บรรทัดติดกันนั้น คอมเมนต์แบบหลายบรรทัดจะ


ช่วยประหยัดเวลาในการใส่ คอมเมนต์ได้มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ก็ควรระมัดระวังใน
การใช้งานด้วย

ตัวอย่ างที่ 1 โปรแกรมให้ นักเรียนศึกษาโครงสร้ างของโปรแกรมภาษาซี


1: #include <stdio.h>
2: void main()
3: {
4: clrscr();
5: printf("My name is Chada");
6: }
ผลลัพธ์ ของโปรแกรม
My name is Chada
อธิบายโปรแกรม
บรรทัดที่ 1: เป็ นการบอกให้คอมไพเลอร์ นาํ เฮดเดอร์ ไฟล์ชื่อ stdio.h เข้ามาร่ วมในการแปลผล
ด้วย โดย stdio ย่อมาจาก standard input/output และ .h คือ นามสกุลของเฮด
เดอร์ ไฟล์ในภาษาซี (h ย่อมาจาก header) ซึ่ ง stdio.h คือ เฮดเดอร์ ไฟล์ที่รวมเอา
การประกาศ (declaration) ของฟังก์ชนั่ มาตรฐานของภาษาซี ที่เกี่ยวกับการจัดการ
ด้า นอิ นพุ ตและเอาต์พุตเข้า มาไว้ด้วยกันโปรแกรมนี้ มี ก ารเรี ย กใช้ง านฟั ง ก์ชั่น
printf() เพื่อแสดงข้อมูลออกทางจอภาพ และเนื่ องจากส่ วนของการประกาศ
ฟั งก์ชนั่ printf() ถูกบรรจุอยูใ่ นเฮดเดอร์ ไฟล์ stdio.h ดังนั้นจึงจําเป็ นต้องนําเฮด
เดอร์ ไฟล์ stdio.h เข้าร่ วมในการแปลผลด้วย
บรรทัดที่ 2: คือฟั งก์ชน่ั void main() ซึ่ งเป็ นฟั งก์ชนั่ หลักของโปรแกรม การทํางานของ
โปรแกรมภาษาซี จะเริ่ มต้นที่ฟังก์ชนั่ นี้
0 0

บรรทัดที่ 3: เครื่ องหมาย { ระบุจุดเริ่ มต้นของฟังก์ชนั่ main()


บรรทัดที่ 4: เป็ นคําสัง่ ให้เคลียร์ หน้าจอเวลาแสดงผลลัพธ์
บรรทัดที่ 5: เป็ นการเรี ยกใช้ฟังก์ชนั่ printf() ซึ่ งเป็ นฟั งก์ชนั่ มาตรฐานของภาษาซี ทาํ หน้าที่
แสดงผลข้อมูลออกทางจอภาพ ในที่น้ ี จะแสดงข้อความ My name is Chada ออก
ทางจอภาพ
บรรทัดที่ 6: เครื่ องหมาย } ระบุจุดสิ้ นสุ ดของฟังก์ชนั่ main()

You might also like