วันอาทิตย์ที่ 14 มกราคม พ.ศ. 2561

โครงสร้างภาษาซี 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
}




ไม่มีความคิดเห็น: