โครงสร้างภาษาซี C Language structure
14/1/2561
SONGCHAI PRAPATRUNGSEE
โครงสร้างภาษาซี C
Language structure
โครงสร้างภาษาซี
ประกอบด้วย
1 Preprocessor directives (พรีโพรเซสเซอร์
ไดเร็คทิฟ)
2 Declarations (การประกาศ)
3 Definitions (การกำหนดค่า)
4 Expressions (นิพจน์, การแสดงออก)
5 Statements (ข้อความคำสั่ง)
6 Functions (ฟังค์ชัน)
7 Comments (หมายเหตุ)
รายละเอียด
1 Preprocessor directives (พรีโพรเซสเซอร์
ไดเร็คทิฟ)
ขึ้นต้นด้วยเครื่องหมาย hashtag #
แปลว่า
คำสั่งประมวลผลก่อน
หมายความว่า
จะทำการประมวลผลในส่วนนี้ก่อน
ก่อนที่จะทำการคอมไพล์หรือแปลเป็นไฟล์HEX เช่น
#include <REGX51.H>
//ใช้ชุดคำสั่ง รีจิสเตอร์ต่างๆที่เกี่ยวข้อง
#include < stdio.h > //ใช้ชุดคำสั่งมาตรฐานอินพุทเอาท์พุท
นามสกุล .h หมายถึง Header file แปลว่า
ไฟล์ส่วนหัว
ประกาศได้3แบบคือ
#include < xxx.h > //ลิงค์ไปเอาข้อมูลที่ไดเร็คทอรี่ที่ติดตั้งคอมไพเลอร์
#include “ xxx.h “
//ลิงค์ไปเอาข้อมูลที่ไดเร็คทอรี่ที่ติดตั้งคอมไพเลอร์
#include “ C:\xxxxxx.h
“ //ลิงค์ไปเอาข้อมูลที่ไดเร็คทอรี่ที่เราสร้างขึ้น
2 Declarations (การประกาศ)
เป็นการประกาศตัวแปร
เช่น
char A , B
; // ประกาศตัวแปร A
, B ให้มีขนาดอยู่ในช่วงข้อมูล
char
3 Definitions (การกำหนดค่า)
เช่น
A = 10 ; // กำหนด A ให้มีค่า 10
4 Expressions (นิพจน์)
คือการกระทำระหว่างตัวดำเนินการ
(operators)
กับตัวถูกดำเนินการ (operands) แล้วเกิดผลลัพท์ เช่น
B = A + 10 ; // ตัวดำเนินการคือเครื่องหมายบวก
ตัวถูกดำเนินการคือAและ10
5 Statements (ข้อความคำสั่ง)
คือ คำสั่งที่เราเขียนขึ้น
แล้วสิ้นสุดคำสั่งด้วยเครื่องหมายเซมิโคลอน( ; ) เช่น
A++ ; หมายถึง Aเพิ่มขึ้น1
B = A + 10 ; //เอาค่าA+10 แล้วใส่ไว้ที่ B
6 Functions (ฟังค์ชัน)
คือ การเขียนชุดคำสั่ง
โดยที่เราเขียนเอง หรือ มากับโปรแกรมที่เราติดตั้ง เช่น
char PLUS ( char A , B )
{
return ( A + B ) ;
}
ใช้งานฟังค์ชัน บวก
ก็จะเหลือสั้นๆ ดังนี้
D = PLUS ( 19 , 16 ) ; //
D = 35
รายละเอียดฟังค์ชัน
ดังนี้
return_type function_name (arguments)
{
statement1 ;
statement2 ;
……….. ;
return ;
}
return_type หรือ output คือ ผลลัพท์ที่ส่งออกมาจากฟังค์ชัน
function_name คือ
ชื่อฟังค์ชัน ที่เราตั้งชื่อเอง หรือ ชื่อที่มาจากคอมไพเลอร์
arguments หรือ input
คือ ค่าที่เราส่งมาให้ฟังค์ชัน (…)
สามารถรับค่า(parameter) สูงสุดได้31ตัวเท่านั้น
ตามมาตรฐาน ANSI C เช่น
char PLUS ( char a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,Q,r,s,t,u,v,w,x,y,z,A,B,C,D)
statement คือ
คำสั่งที่เราต้องการให้ทำ แล้วจบด้วยเครื่องหมายเซมิโคลอน ;
return คือ
คำสั่งที่ส่งไปที่ return_type หรือเรียกว่า output
ฟังค์ชัน INTERRUPT (อินเทอร์รัพท์) คือ การขัดจังหวะ
เช่น
ถ้าเราตั้งเวลาขัดจังหวะ
ที่ 5 mS (5มิลลิวินาที)
หมายความว่า ทุกๆ 5 mS จะต้องกระโดดเข้ามาทำในฟังค์ชันอินเทอร์รัพท์ก่อน
เมื่อทำเสร็จแล้วก็จะกลับไปทำงานที่ค้างไว้ในฟังค์ชันหลักต่อไป
main (ฟังค์ชันหลัก)
คือ จุดเริ่มต้นการทำงานของโปรแกรม เช่น
void main (void) //void แปลว่า ไม่มีoutput,
(void) แปลว่าไม่มี input
{ //วงเล็บปีกกาเปิด
คือจุดเริ่มต้นการทำงาน
while (1) //คำสั่งวนลูปไม่รู้จบ
{
}
} //วงเล็บปีกกาปิด
คือจุดสิ้นสุดการทำงาน
Libraly (ไลบรารี่)
คือ ไฟล์ที่แปลเป็นภาษาเครื่องแล้ว มี2แบบคือ
1 มากับคอมไพเลอร์ ที่เราติดตั้ง
2 เราเขียนขึ้นเอง
แล้วคอมไพล์เป็นไฟล์นามสกุล .lib
ส่วนในวินโดวส์คือไฟล์นามสกุล
.DLL
7 Comments (หมายเหตุ)
หมายถึงส่วนนี้จะไม่มีการคอมไพล์หรือแปลเป็นไฟล์HEX
ถ้าบรรทัดเดียวใช้เครื่องหมาย
//…………………
ถ้าบรรทัดเดียวหรือหลายบรรทัด
ใช้เครื่องหมาย /*...............*/ เช่น
while (1) ; //คำสั่งวนลูปไม่รู้จบ
/* 14/1/2561
Program C by MCU */
ตัวอย่าง โปรแกรม
โครงสร้างภาษา C
/* 14/1/2561
C STRUCTURE
BY MCU */
#include <REGX51.H>
//HEADER
FILE
unsigned char X=10,
Y=20, Z ; //DECLARATION
void main (void)
{
Z = X*Y ; //X
MUL Y, RESULT Z
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น