ݺߣ

ݺߣShare a Scribd company logo
โดย นายปณพล ดาดวง
สคพ2. ๶ลྺที่5
โครงสร้างโปรแกรมภาษาซี
1. ส่วนหัวของโปรแกรม
ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อ
บอกให้คอมไพเลอร์กระทาการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่
คาสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นาเฮดเดอร์ไฟล์ที่
ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด
preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ
คาสั่งที่ใช้ระบุให้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปล
โปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ
- #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทาการค้นหา
เฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สาหรับเก็บเฮดเดอร์ไฟล์
โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include)
- #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทาการค้นหาเฮด
เดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code
นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์
โดยเฉพาะ
 ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุก
โปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ
main แปลว่า “หลัก” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไป
ไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกาหนดด้วยเครื่องหมาย { และ }
กล่าวคือ การทางานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่
เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void
main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น
main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้า
มาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจาก
ฟังก์ชั่นด้วย
โครงสร้างโปรแกรมภาษาซี
 เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางานตามที่ได้ออกแบบไว้
คอมเมนต์ในภาษาซี
คอมเมนต์ (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 Kwanjit");
6: }
My name is Kwanjit
 บรรทัดที่ 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 Kwanjit ออกทางจอภาพ
บรรทัดที่ 6: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชั่น main()
https://sites.google.com/site/programingmp
p/page-2

More Related Content

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

  • 3. 1. ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อ บอกให้คอมไพเลอร์กระทาการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่ คาสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นาเฮดเดอร์ไฟล์ที่ ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ
  • 4. คาสั่งที่ใช้ระบุให้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปล โปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ - #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทาการค้นหา เฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สาหรับเก็บเฮดเดอร์ไฟล์ โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include) - #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทาการค้นหาเฮด เดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์ โดยเฉพาะ
  • 5.  ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุก โปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “หลัก” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไป ไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกาหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทางานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่ เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้า มาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจาก ฟังก์ชั่นด้วย
  • 7.  เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางานตามที่ได้ออกแบบไว้ คอมเมนต์ในภาษาซี คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้ เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบายกากับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ ¨ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย // ¨ คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
  • 8.  // Comment only one line #include <stdio.h> #include <conio.h> main void() { clrscr(); /*comment many line*/ }
  • 9. ข้อควรระวังในการใช้คอมเมนต์ คือ ในกรณีที่ใช้คอมเมนต์แบบ หลายบรรทัด จะไม่สามารถใช้คอมเมนต์ซ้อนคอมเมนต์ได้ ดังรูป มิฉะนั้นจะก่อให้เกิดข้อผิดพลาดในการคอมไพล์ / / /*Comment1*/ /*Comment2*/ /*Comment3*/ /*Comment2*/ X /*Comment1 /*Comment3*/
  • 11. 1: #include <stdio.h> 2: void main() 3: { 4: clrscr(); 5: printf("My name is Kwanjit"); 6: }
  • 12. My name is Kwanjit
  • 13.  บรรทัดที่ 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 Kwanjit ออกทางจอภาพ บรรทัดที่ 6: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชั่น main()