More Related Content
More from Sompon Ketsuwong
More from Sompon Ketsuwong (6)
Learn 2
- 1. ใบความรู้ท ี่ 2
เรื่อ ง โครงสร้า งโปรแกรมภาษาซี
โ ค ร ง ส ร้ า ง โ ป ร แ ก ร ม ภ า ษ า ซี
#include <stdio.h>
#include <conio.h> 1
1
void main()
{ 2
2
………..
}
3
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) ก็ได้ มีความหมาย
- 2. เหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์
(argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น
และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย
ไม่คืนค่าใด ๆ กลับออกไปจากฟังก์ชั่น
main() เ ที ย บ เ ท่ า void
main(void)
ไม่รับค่าใด ๆ เข้ามาในฟังก์ชั่น
argume คือ ตัวรับค่าเข้ามาในฟัง
nt ก์ชั่น
paramet คือ ค่าที่ส่งไปยังฟังก์ชั่น
er
ค่าของ 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*/
- 3. }
ข้อควรระวังในการใช้คอมเมนต์ คือ ในกรณีที่ใช้คอมเมนต์แบบ
หลายบรรทัด จะไม่สามารถใช้คอมเมนต์ซ้อนคอมเมนต์ได้ ดังรูป มิ
ฉ ะ นั้ น จ ะ ก่ อ ใ ห้ เ กิ ด ข้ อ ผิ ด พ ล า ด ใ น ก า ร ค อ ม ไ พ ล์
/
*Commen
/
*Commen
/
*Commen
/
/ / / X
*Commen *Commen *Commen
การใช้ค อมเมนต์แ บบหลายบรรทัด
จะเห็นว่าในกรณีที่ต้องการใส่คอมเมนต์หลาย ๆ บรรทัดติดกันนั้น
คอมเมนต์แบบหลายบรรทัดจะช่วยประหยัดเวลาในการใส่คอมเมนต์ได้
มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ก็ควรระมัดระวังในการ
ใ ช้ ง า น ด้ ว ย
- 4. ตัว อย่า งที่ 1 โปรแกรมให้น ัก เรีย นศึก ษาโครงสร้า งของ
โปรแกรมภาษาซี
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 ออกทางจอภาพ
- 5. บรรทัดที่ 6: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชั่น
main()