More Related Content
Similar to โครงสร้างของภาษา C
Similar to โครงสร้างของภาษา C (20)
โครงสร้างของภาษา C
- 1. โครงสร้างของภาษา C
ภาษา C เป็นภาษาคอมพิวเตอร์ที่ถูกค้นคิดขึ้นโดย
Denis Ritchie ในปี ค.ศ. 1970
โดยใช้ระบบปฏิบัติการของยูนิกซ์ (UNIX) นับจากนั้นมาก็ได้รับ
ความนิยมเพิ่มขั้นจนถึงปัจจุบัน ภาษา C สามารถติดต่อในระดับ
ฮาร์ดแวร์ได้ดีกว่าภาษาระดับสูงอื่น ๆ ไม่ว่าจะเป็นภาษาเบสิกฟ
อร์แทน ขณะเดียวกันก็มีคุณสมบัติของภาษาระดับสูงอยู่ด้วย
ด้วยเหตุผลดังกล่าวจึงจัดได้ว่าภาษา C เป็นภาษาระดับกลาง
(Middle –lever language)
ภาษา C เป็นภาษาคอมพิวเตอร์ชนิดคอมไพล์
(compiled Language) ซึ่งมีคอมไพลเลอร์ (Compiler) ทำา
หน้าที่ในการคอมไพล์ (Compile) หรือแปลงคำาสั่งทั้งหมดใน
โปรแกรมให้เป็นภาษาเครื่อง (Machine Language) เพื่อให้
เครื่องคอมพิวเตอร์นำาคำาสั่งเหล่านั้นไปทำางานต่อไป
โครงสร้างของภาษา C
ทุกโปรแกรมของภาษา C มีโครงสร้างเป็นลักษณะดังรูป
Int main (void)
{
- 2. เฮดเดอร์ไฟล์ (Header Files)
เป็นส่วนที่เก็บไลบรารี่มาตรฐานของภาษา C ซึ่งจะถูกดึง
เข้ามารวมกับโปรแกรมในขณะที่กำาลังทำาการคอมไพล์ โดยใช้
คำาสั่ง
#include<ชื่อเฮดเดอร์ไฟล์>
หรือ
#include “ชื่อเฮดเดอร์
ไฟล์”
ตัวอย่าง
#include<stdio.h>
เฮดเดอร์ไฟล์นี้จะมีส่วนขยายเป็น .h เสมอ และเฮดเดอร์
ไฟล์เป็นส่วนที่จำาเป็นต้องมีอย่างน้อย 1 เฮดเดอร์ไฟล์ ก็คือ
เฮดเดอร์ไฟล์ stdio.h ซึ่งจะเป็นที่เก็บไลบรารี่มาตรฐานที่
จัดการเกี่ยวกับอินพุตและเอาท์พุต
ส่วนตัวแปรแบบ Global (Global Variables)
เป็นส่วนที่ใช้ประกาศตัวแปรหรือค่าต่าง ๆ ที่ให้ใช้ได้ทั้ง
โปรแกรม ซึ่งใช้ได้ทั้งโปรแกรม ซึ่งในส่วนไม่จำาเป็นต้องมีก็ได้
ฟังก์ชัน (Functions)
เป็นส่วนที่เก็บคำาสั่งต่าง ๆ ไว้ ซึ่งในภาษา C จะบังคับให้มี
ฟังก์ชันอย่างน้อย 1 ฟังก์ชั่นนั่นคือ ฟังก์ชั่น Main() และใน
โปรแกรม 1 โปรแกรมสามารถมีฟังก์ชันได้มากกว่า 1 ฟังก์ชั่น
ส่วนตัวแปรแบบ Local (Local Variables)
เป็นส่วนที่ใช้สำาหรับประกาศตัวแปรที่จะใช้ในเฉพาะ
ฟังก์ชันของตนเอง ฟังก์ชั่นอื่นไม่สามารถเข้าถึงหรือใช้ได้ ซึ่ง
จะต้องทำาการประกาศตัวแปรก่อนการใช้งานเสมอ และจะต้อง
ประกาศไว้ในส่วนนี้เท่านั้น
ตัวแปรโปรแกรม (Statements)
เป็นส่วนที่อยู่ถัดลงมาจากส่วนตัวแปรภายใน ซึ่งประกอบ
ไปด้วยคำาสั่งต่าง ๆ ของภาษา C และคำาสั่งต่าง ๆ จะใช้
- 3. เครื่องหมาย ; เพื่อเป็นการบอกให้รู้ว่าจบคำาสั่งหนึ่ง ๆ แล้ว ส่วน
ใหญ่ คำาสั่งต่าง ๆ ของภาษา C เขียนด้วยตัวพิมพ์เล็ก เนื่องจาก
ภาษา C จะแยกความแตกต่างชองตัวพิมพ์เล็กและพิมพ์ใหญ่
หรือ Case Sensitive นั่นเอง ยกตัวอย่างใช้ Test, test หรือ
จะถือว่าเป็นตัวแปรคนละตัวกัน นอกจากนี้ภาษา C ยังไม่สนใจ
กับการขึ้นบรรทัดใหม่ เพราะฉะนั้นผู้ใช้สามารถพิมพ์คำาสั่ง
หลายคำาสั่งในบรรทัดเดียวกันได้ โดยไม่เครื่องหมาย ; เป็นตัว
จบคำาสั่ง
ค่าส่งกลับ (Return Value)
เป็นส่วนที่บอกให้รู้ว่า ฟังก์ชันนี้จะส่งค่าอะไรกลับไปให้
กับฟังก์ชั่นที่เรียกฟังก์ชั่น ซึ่งเรื่องนี้ผู้เขียนจะยกไปกล่าวใน
เรื่องฟังก์ชั่นอย่างละเอียดอีกทีหนึ่ง
หมายเหตุ (Comment)
เป็นส่วนที่ใช้สำาหรับแสดงข้อความเพื่ออธิบายสิ่งที่
ต้องการในโปรแกรม ซึ่งจะใช้เครื่องหมาย /*และ */ ปิดหัว
และปิดท้ายของข้อความที่ต้องการ
รูปที่ 2-2 แสดงการเขียนหมายเหตุหรือ Comment ใน
ลักษณะต่าง ๆ
โปรแกรมที่ 2 – 1 โปรแกรมแรกสำาหรับคุณ
- 4. การตั้งชื่อ
การตั้งชื่อ (Identifier) ให้กับตัวแปร ฟังก์ชันหรืออื่น ๆ มี
กฎเกณฑ์ในการตั้งชื่อ ดังนี้
1. ตัวแรกของชื่อจะต้องขึ้นต้องด้วยตัวอักษรหรือ
เครื่องหมาย _ เท่านั้น
2. ตัวอักษรตั้งแต่ตัวที่ 2 สามารถเป็นตัวเลข หรือ
เครื่องหมาย_ก็ได้
3. จะต้องไม่มีการเว้นวรรคภายในชื่อ แต่สามารถใช้
เครื่อง_คั่นได้
4. สามารถตั้งชื่อได้ยาไม่จำากัด แต่จะใช้ตัวอักษรแค่ 31
ตัวแรกในการอ้างอิง
5. ชื่อที่ตั้งด้วยตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก จะถือว่า
เป็นคนละตัวกัน
6. ห้ามตั้งชื่อซำ้ากับคำาสงวนของภาษา C
ตัวอย่างการตั้งที่ถูกและผิด
แบบที่ถูก
แบบที่ผิด
- 5. A $sum
Student_name Student Name
_SystemName 2names
A1 int
ตัวแปร
ตัวแปร คือ ชื่อที่ใช้อ้างถึงตำาแหน่งต่าง ๆ ในหน่วยความจำา
ซึ่งใช้เก็บข้อมูลต่าง ๆ ด้วยขนาดตามชนิดข้อมูล
การประกาศตัวแปร
การประกาศตัวแปรในภาษา C นั้นสามรถทำาได้ 2
ลักษณะ คือ การประกาศตัวแปรแบบเอกภาพ หรือการประกาศ
ตัวแปรแบบ Global คือ ตัวแปรที่จะสามารถเรียกใช้ได้ทั้ง
โปรแกรม และแบบที่สองการประกาศตัวแปรแบบภายใน หรือ
การประกาศตัวแปรแบบ Local ซึ่งตัวแปรแระเภทนี้จะใช้ได้ใน
เฉพาะฟังก์ชั่นของตัวเองเท่านั้น
#include<stdio.h>
int total; /*การประกาศตัวแปรแบบ Global */
main()
{
int price,money; /*การประกาศตัวแปรแบบ
Local*/
…
}
- 6. รูปที่ 2-3 แสดงการประกาศตัวแปรแบบต่าง ๆ
การกำาหนดค่าให้กับตัวแปร
การกำาหนดค่าให้กับตัวแปรนั้น จะสามารถกำาหนดได้
ตั้งแต่ตอนที่ประกาศตัวแปรเลยหรือจะกำาหนดให้ภายใน
โปรแกรมก็ได้ ซึ่งการกำาหนดค่าจะใช้เครื่องหมาย = กั้นตรง
กลาง
int total = 0;
ถ้ามีตัวแปรข้อมูลชนิดเดียวกัน ก็สามารถทำาแบบนี้ได้
int total =0,sum
หรือ
int total =0,sum=0;
ถ้าเป็นการกำาหนดภายในโปรแกรม ซึ่งตัวแปรนั้นได้ประกาศไว้
แล้วสามารถทำาแบบนี้
total = 50;
หรือ
total = total+sum
หรือกำาหนดค่าจาการพิมพ์ข้อมูลเข้าทางคีย์บอร์ด
scanf(“%d”,&total);
การกำาหนดชนิดข้อมูลแบบชั่วคราว
เมื่อผู้ใช้ได้กำาหนดชนิดข้อมูลให้กับตัวแปรใด ๆ ไปแล้ว
- 7. ตัวแปรตัวนั้นจะมีชนิดข้อมูลเป็นแบบที่กำำหนดให้ตลอดไป บำง
ครั้งกำรเขียนโปรแกรมอำจจะต้องมีควำมจำำเป็นต้องเปลี่ยน
ชนิดข้อมูลของตัวแปรตัวนั้น ซึ่งภำษำซี ก็มีควำมสำมำรถที่จะ
ทำำเช่นนั้นได้
รูปแบบ
([ชนิดข้อมูล])[ตัวแปร]
ตัวอย่ำง
(float)a
(int)a
ชนิดข้อมูลแบบค่ำคงที่ (Constants)
ชนิดข้อมูลประเภทนี้ ชื่อก็บอกอยู่ว่ำเป็นชนิดข้อมูลแบบ
ค่ำคงที่ ซึ่งก็คือข้อมูลตัวแปรประเภทที่เป็น Constants ผู้ใช้จะ
ไม่สำมำรถเปลี่ยนแปลงค่ำของตัวแปรตัวนั้น ในขณะที่
โปรแกรมทำำงำนอยู่
รูปแบบ
Const[ชนิดข้อมูล][ตัวแปร]=[ค่ำ
หรือ นิพจน์]
ตัวอย่ำง
const folat a = 5.23;
const int b = a%2;
Statements
statements ในภำษำ c คือ คำำสั่งต่ำง ไ ที่ประกอบขึ้น
จนเป็นตัวโปรแกรม ซึ่งในภำษำ c นั้นได้แบ่งออกเป็น 6 แบบ
คือ Expression Statement และ Compound Statement
ณ.ที่นี้จะมีด้วยกัน 2 แบบ
Expression Statement หรือเรียกอีกอย่ำงหนึ่งว่ำ
Single Statement ซึ่ง Statement แบบนั้นจะต้องมี
เครื่องหมำย; หลังจำก statement เมื่อภำษำ C พบ
- 8. เครื่องหมำย ; จะทำำให้มันรู้ว่ำจบชุดคำำสั่งแล้ว แล้วจึงข้ำมไปทำำ
Statement ชุดต่อไป
a = 2;
หรือ
printf(“x contains %d, y contains %dn”,x,y);
Compound Statement คือ ชุดคำำสั่งที่มีคำำสั่งต่ำง ๆ รวม
อยู่ด้ำนใน Block ซึ่งจะใช้เครื่องหมำย {เป็นกำรเปิดชุดคำำสั่ง
และใช้} เป็นตัวปิดชุดคำำสั่ง ตัวอย่ำงที่เห็นได้ชัดเจนสำำหรับ
Statement แบบนี้ คือ ตัวฟังก์ชั่น Main โดยทั่ว ๆ ไปใน
ภำษำ C Compound Statement จะเป็นตัวฟังชั่น