หน้าแรก
คำชี้แจงก่อนเรียน
รายละเอียดรายวิชา

 แบบทดสอบก่อนเรียน
 หน่วยที่ 1 ภาษาคอมพิวเตอร์เบื้องต้น
 หน่วยที่ 2 เริ่มต้นกับภาษาซี
แบบทดสอบก่อนเรียนประจำหน่วย
2.1 แนะนำโปรแกรม Dev-C++
2.2 การติดตั้งโปรแกรม Dev-C++
2.3 การทำงานพื้นฐานของ Dev-C++
2.4 โครงสร้างพื้นฐานของโปรแกรมภาษาซี
2.5 โปรแกรมภาษาซีอย่างง่าย
แบบฝึกหัดที่ 2.1
แบบทดสอบหลังเรียนประจำหน่วย
 หน่วยที่ 3 ข้อมูลพื้นฐานและตัวดำเนินการ
 หน่วยที่ 4 คำสั่งพื้นฐานในภาษาซี
 หน่วยที่ 5 คำสั่งควบคุมแบบทางเลือก
 หน่วยที่ 6 คำสั่งควบคุมแบบวนซ้ำ
 แบบทดสอบหลังเรียน
 บรรณานุกรม

แจ้งข่าว
 แหล่งเรียนรู้เพิ่มเติม
 ติดต่อครูผู้สอน
 ผู้พัฒนาบทเรียน
 

 
2.1 แนะนำโปรแกรม Dev-C++
2.2 การติดตั้งโปรแกรม Dev-C++
2.3 การทำงานพื้นฐานของ Dev-C++
2.4 โครงสร้างพื้นฐานของโปรแกรมภาษาซี
2.5 โปรแกรมภาษาซีอย่างง่าย
 
 

โครงสร้างพื้นฐานของโปรแกรมภาษาซี ประกอบด้วย 3 ส่วน ดังนี้

1) ส่วนหัว (Header) ประกอบด้วย

  • ตัวประมวลผลก่อน (Preprocessor) ใช้สำหรับให้ตัวแปลภาษาทำการแปลคำสั่งที่อยู่ใน Header file เช่น stdio.h มีฟังก์ชันมาตรฐานเกี่ยวกับการนำข้อมูลเข้าออก (Standard input/output)
  • การประกาศต่าง ๆ ที่จำเป็นในการทำโปรแกรม เช่น การประกาศตัวแปร การประกาศฟังก์ชัน และการกำหนดค่าต่าง ๆ (อาจมีอย่างใดอย่างหนึ่งหรือทั้งหมด)
  • หรืออาจเขียนฟังก์ชันบริเวณส่วนหัวนี้ สำหรับให้ฟังก์ชันหลัก (main) หรือฟังก์ชันอื่นเรียกใช้

2) ส่วนฟังก์ชันหลัก (Main function) เป็นส่วนหลักของโปรแกรม ประกอบด้วย

  • ส่วนหัวฟังก์ชันหลัก (main) ประกอบด้วย ชนิดของข้อมูล ชื่อฟังก์ชัน ตามด้วยเครื่องหมาย ( และ ) ตามลำดับ
  • ส่วนเริ่มต้น { และสิ้นสุด } ของฟังก์ชันหลัก (main)
  • ส่วนประกาศตัวแปรท้องถิ่น อยู่ในเครื่องหมาย { }
  • ใช้สำหรับประกาศตัวแปรชนิดต่าง ๆ เพื่อเก็บข้อมูลระหว่างการประมวลผล
  • ส่วนคำสั่งต่าง ๆ อยู่ในเครื่องหมาย { }
  • ประกอบด้วยคำสั่งที่เกี่ยวข้องกับการรับเข้า แสดงผลข้อมูล และคำสั่งประมวลอื่น ๆ อาจมีการเรียกใช้ฟังก์ชันที่ประกาศหรือเขียนไว้ในส่วนหัว
  • ส่วนส่งค่าให้ฟังก์ชัน main อยู่ในเครื่องหมาย { }
  • ประกอบด้วย คำสั่ง return ตามด้วยค่าข้อมูล (การส่งค่า 0 หมายถึง แจ้งฟังก์ชัน main ว่าโปรแกรมทำงานถูกต้อง)

3) ส่วนฟังก์ชัน (Function) ส่วนเขียนฟังก์ชัน (ต้องประกาศชื่อฟังก์ชันไว้ส่วนหัวด้วย) เป็นการแบ่งโปรแกรมออกเป็นส่วนย่อย ๆ แล้วเรียกใช้ทีละส่วน และอาจมีหลายฟังก์ชัน ทำให้การตรวจสอบและแก้ไขโปรแกรมง่าย ส่วนนี้อาจจะไม่มีก็ได้ ถ้าเป็นโปรแกรมไม่ซับซ้อนและใช้คำสั่งทั้งหมดอยู่ในฟังก์ชันหลัก (main)

 
หมายเหตุ

คำสั่งในภาษาซีต้องปิดท้ายคำสั่ง ด้วยเครื่องหมาย ; เสมอ

 
 
   
ตัวประมวลผลก่อนซี/ประกาศตัวแปรหรือฟังก์ชัน ส่วนหัว Header ของโปรแกรม
int main() ส่วนหัวของฟังก์ชัน
{ เริ่มฟังก์ชันหลัก
การประกาศตัวแปรท้องถิ่น ; ส่วนการประกาศตัวแปร
คำสั่งต่าง ๆ ; ส่วนคำสั่ง
return 0; ส่งค่าให้ฟังก์ชัน
} สิ้นสุดฟังก์ชันหลัก
ฟังก์ชันย่อย() ส่วนการเขียนฟังก์ชันย่อย
   
หมายเหตุ { เป็นส่วนเริ่ม และ } เป็นส่วนสิ้นสุด ของฟังก์ชันหลัก (main)
 
 
 
1) โปรแกรมภาษาซีที่สั้นที่สุด ที่สามารถคอมไพล์และรันได้ โดยคอมไพเลอร์ตามมาตรฐานของ ANSI C
 
Source Code ( ex2-1.c ) อธิบายคำสั่ง


int main() {

}


/* เริ่มต้นโปรแกรม

จบโปรแกรม */

 

ผลการรันโปรแกรม
ไม่มีคำสั่งในฟังก์ชัน main จึงไม่ปรากฏผลใด ๆ

 

หมายเหตุ แม้ว่าจะไม่มีคำสั่งใด ๆ ในฟังก์ชัน main แต่ก็ยังต้องมีเครื่องหมาย { และ } เพื่อบอกขอบเขตของฟังก์ชัน main

 
2) โปรแกรมการแสดงผลลัพธ์เบื้องต้น (โปรแกรมแรกของฉัน)
 
Source Code ( ex2-2.c ) อธิบายคำสั่ง


int main() {

printf("My first Program.");

return 0;

}


/* เริ่มโปรแกรม

แสดงข้อความ "My first Program." ทางจอภาพ

ส่งค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้อง

จบโปรแกรม */

ผลการรันโปรแกรม
คำสั่ง printf จะแสดงข้อความ My first Program. ออกมาทางจอภาพ

 
3) การเขียนหมายเหตุ (Comment) เพื่ออธิบายในโปรแกรม

ในภาษาซี นิยมเขียนหมายเหตุ อธิบายการทำงานในส่วนต่าง ๆ ของโปรแกรม เพื่อให้เข้าใจและอ่านโปรแกรมง่ายขึ้น โดยสิ่งที่เขียนอธิบายจะไม่มีผลต่อการประมวลผลของโปรแกรม

Source Code ( ex2-3.c ) อธิบายคำสั่ง

/* Program : ex2-3.c
Print text to screen */

int main() { // Start main

printf("My first Program.");

return 0;

} // End main




/* เริ่มโปรแกรม

แสดงข้อความ "My first Program." ทางจอภาพ

ส่งค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้อง

จบโปรแกรม */

ผลการรันโปรแกรม
ผลการรันโปรแกรม จะให้ผลเหมือนโปรแกรม ex2-2.c

 

สามารถเขียนหมายเหตุอธิบายได้ 2 ลักษณะ ดังนี้

หมายความว่า

/* Program : ex2-3.c
Print text to screen */

// Start main
// End main

ที่เพิ่มเข้ามาในโปรแกรม จะไม่ถูกประมวลผล จึงไม่มีผลใด ๆ ต่อการรันโปรแกรม แต่ว่า มีความจำเป็น เพราะเราจะสามารเขียนหมายเหตุ อธิบายโปรแกรมใน Source Code ประกอบความเข้าใจในโปรแกรมสำหรับผู้เขียนโปรแกรมเอง

รูปแบบของการใช้

/* */ ใช้กำหนดหมายเหตุอธิบายได้หลายบรรทัด
โดยพิมพ์ข้อความหมายเหตุอธิบายระหว่าง /* และ */

//ใช้กำหนดหมายเหตุ อธิบายได้ครั้งละบรรทัด
โดยต้องพิมพ์ // หน้าข้อความกำหนดหมายเหตุทุกบรรทัด

ตัวอย่างการใช้ สามารถเลือกใช้ได้ตามความสะดวก


/* ข้อความหมายเหตุบรรทัด1
ข้อความหมายเหตุบรรทัด 2 */


// ข้อความหมายเหตุบรรทัด 1
// ข้อความหมายเหตุบรรทัด 2