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

องค์ประกอบภาษาซี

#include<library>เป็นส่วนหัวหัว โปรแกรมที่จะต้องเขียนไว้เพื่อให้ใช้งานฟังก์ชันต่างๆ ในกรณีที่ต้องการทราบว่าฟังก์ชันใดถูกนิยามไว้ที่ใดให้ทำแถบสีที่ฟังก์ชัน ดังกล่าวและกดปุ่ม Ctrl+f1
mainเป็นฟังก์ชันหลักของโปรแกรม
( )ภายในวงเล็บเป็นค่าพารามิเตอร์ที่จะส่งผ่านไปทำงานยังฟังก์ชันอื่นๆ ถ้าไม่มีการ
ใส่ค่าแสดงว่าไม่ต้องการมีค่าพารามิเตอร์
{ปีกกาเปิดแสดงการเริ่มต้นการเขียนโปรแกรม
variable declarationsประกาศตัวแปร
program statementการเขียนประโยคคำสั่ง
}ปีกกาปิดแสดงการจบการเขียนโปรแกรม
/*ข้อความ*/คำอธิบายโปรแกรม ใช้ในการอธิบายความหมายของคำสั่งหรือสิ่งที่ต้องการเขียน
ไว้กันลืมจะไม่มีผลใดๆกับโปรแกรม แต่การเขียนจะต้องเริ่มต้นด้วยเครื่องหมาย /*
ตัวแปร (variable)  คือชื่อที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล โดยมีกฏในการตั้งชื่อตัวแปรดังนี้
1.ต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจจะเป็นตัวอักษรหรือตัวเลขก็ได้
2.ห้ามใช้สัญลักษณ์อื่นใด ยกเว้นเครื่องหมายสตริงก์ ($) และขีดล่าง (Underscore)
3.ตัวแปรอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีความหมายแตกต่างกัน
4.ห้ามเว้นวรรคระหว่างตัวแปร
5.ห้ามตั้งชื่อซ้ำกับคำสงวนในภาษาซ
ก่อนที่จะนำตัวแปรไปใช้งาน ในภาษาซีจะต้องมีการประกาศค่าตัวแปรให้สอดคล้องกับข้อมูลที่จะนำไปใช้โดยมีรูปแบบดังนี้
รูปแบบType varible name
typeชนิดของตัวแปร ซึ่งอาจจะป็น char, int, float, double หรือตัวแปรชนิดอื่นๆ เป็นต้น
variable nameชื่อของตัวแปร ถ้ามีมากกว่า 1 ตัวให้ใช้เครื่องหมายคอมม่าคั่น
ตัวอย่างการประกาศตัวแปร
char n;ประกาศค่าตัวแปรชื่อ n เป็นข้อมูลชนิด character
float a,b,c;ประกาศค่าตัวแปรชื่อ a,b,c เป็นข้อมูลชนิด float
int number=1;ประกาศค่าตัวแปรชื่อ number เป็นข้อมูลชนิด integer และกำหนดให้ตัวแปร count มีค่าเท่ากับ 1
char name[15];ประกาศตัวแปรชื่อ name เป็นลักษณะตัวแปรชุดเก็บชื่อยาวไม่เกิน 15 ตัวอักษร
คำสงวนในภาษา C
คำสงวนคือคำที่กำหนดขึ้นในภาษาซีเพื่อให้มีความหมายอย่างใด อย่างหนึ่ง และนำไปใช้งานแตกต่างกัน การประกาศค่าตัวแปรจะต้องไม่ให้ซ้ำกับคำสงวน
AutoBreakCaseCharConst
DefaultDoDoubleElseEnum
ShortSignedSizeofExternFloat
ForGotoIfIntLong
ReturnRegisterContinueWhileStatic
StructSwitchTypedefUnonUnsigned
Voidvolatile
ฟังก์ชั่น  (Function)
ฟังก์ชัน clrscr(); เป็นฟังก์ชันที่ใช้ในการลบจอภาพ
ฟังก์ชัน printf(); เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงที่ และนิพจน์ออกจอภาพ
ตัวอย่างที่ 1printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2printf(“%d”,num);     ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3printf(“5.2f”,area);   ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
ทศนิยม 2 ตำแหน่ง
ฟังก์ชัน scanf(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปร
ตัวอย่างscanf(“%d”,&num);   ความหมาย รับค่าตัวเลขจำนวนเต็มแล้วนำมาเก็บไว้ในตัวแปร num
ฟังก์ชัน getch();  เป็นฟังก์ชันที่ใช้ในการรอรับการกดแป้นพิมพ์หนึ่งครั้ง โดยไม่ต้องกดปุ่ม Enter
และตัวอักษรที่ป้อนเข้ามาจะไม่ปรากฏบนจอภาพ
ฟังก์ชัน getchar(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเข้ามาทางแป้นพิมพ์ทีละ 1 ตัวอักษร แล้วกด Enter 1 ครั้ง
ข้อมูลที่ป้อนจะแสดงบนจอภาพ
ฟังก์ชัน gets();  เป็นฟังก์ชันที่ใช้ในการรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปรแบบอาเรย์
การใช้ฟังก์ชัน gets(); จะต้องมีการประกาศตัวแปรแบบอาเรย์ และกำหนดจำนวนตัวอักษรที่ต้องการป้อน
โดยคอมพิวเตอร์จะจองพื้นที่ไว้ตามจำนวนตัวอักษร แต่จะป้อนได้น้อยกว่าที่จองไว้ 1 ตัว เพื่อให้ตัวแปรเก็บ 0
อีก 1 ตัว
ฟังก์ชัน textcolor();  เป็นฟังก์ชันที่ใช้ในการกำหนดสีตัวอักษร โดยจะต้องใช้ร่วมกับฟังก์ชัน cprintf ซึ่งมีสีต่างๆ ให้เลือก
ตัวเลขค่าสีอาจจะพิมพ์เป็นตัวเลขหรือชื่อสีเป็นภาษาอังกฤษตัวพิมพ์ใหญ่ก็ได้
ตัวอย่างที่ 1textcolor(4);
cprintf(“Lampang”);
ความหมาย แสดงข้อความ Lampang เป็นสีแดง
ตัวอย่างที่ 2textcolor(MAGENTA);
cprintf(“BANGKOK”);
ความหมาย แสดงข้อความ BANGKOK เป็นสีม่วง
ตัวเลขค่าสีสีที่ปรากฏ
0(BLACK) ดำ
1(BLUE) น้ำเงิน
2(GREEN) เขียว
3(CYAN) ฟ้า
4(RED) แดง
5(MAGENTA) ม่วง
6(BROWN) น้ำตาล
7(LIGHTGRAY) เทาสว่าง
8(DARKGRAY) เทาดำ
9(LIGHTBLUE) น้ำเงินสว่าง
10(LIGHTGREEN) เขียวสว่าง
11(LIGHTCYAN) ฟ้าสว่าง
12(LIGHTRED) แดงสว่าง
13(LIGHTMAGENTA) ม่วงสว่าง
14(YELLOW) เหลือง
15(WHITE) ขาว
ฟังก์ชัน cprintf(); เป็นฟังก์ชันที่ใช้ในการพิมพ์ข้อความเหมือนฟังก์ชัน printf แต่จะแสดงเป็นสีต่างๆ ตามที่กำหนดไว้ในฟังก์ชัน                           textcolor การใช้ฟังก์ชัน cprintf ต้องกำหนดสีของตัวอักษรใน ฟังก์ชัน textcolor ก่อน
ตัวอย่างที่ 1textcolor(5);
printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2textcolor(15);
printf(“%d”,num);     ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3textcolor(7);
printf(“5.2f”,area);   ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
ทศนิยม 2 ตำแหน่ง
้ฟังก์ชัน textbackground(); เป็นฟังก์ชันที่ใช้ในการกำหนดสีพื้นให้กับตัวอักษร
ตัวอย่างtextbackground(14)ความหมาย กำหนดสีพื้นเป็นสีเหลือง
ชนิดข้อมูล (Data type)
ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาด
เนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันนั้นเอง ทำให้มีความสามารถใน
การจัดเก็บข้อมูลแต่ละประเภทแตกต่างกันไป ดังนั้นในการเลือกงานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นใน
การใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ
1ข้อมูลชนิดตัวอักษร (Character)คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็ม ได้แก่ ตัวอักษร ตัวเลขและกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต ์
2ข้อมูลชนิดจำนวนเต็ม (Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูล ขนาด 2 ไบต์
3ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ใช้พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต ์
4ข้อมูลชนิดเลขทศนิยม (Float)คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double)คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ float คือมีขนาด 8 ไบต์
ตัวดำเนินการทางคณิตศาสตร์
ในโปรแกรมภาษาซีจะใช้ตัวดำเนินการทางคณิตศาสตร์เป็นตัวเชื่อมในการเขียนโปรแกรม เพื่อหาผลลัพธ์จากการคำนวณ
ซึ่งสามารถกระทำกับข้อมูลได้หลายรูปแบบ เช่น บวก ลบ คูณ หาร เปอร์เซ็นต์ ดังตัวอย่างในตารางข้างล่างนี้
ตัวดำเนินการความหมายตัวอย่าง
+บวก (Addition)X + y
-ลบ (Subtraction)X – y
*คูณ (Multiplication)X * y
/หาร (Division)X / y
++เพิ่มค่าครั้งละ 1(Increment)X++
ลดค่าครั้งละ 1(Decrement)X–
%หารเอาผลลัพธ์เฉพาะเศษ (Modulus)X % y
ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการเปรียบเทียบในโปรแกรมภาษาซีคือเครื่องหมายที่ใช้ในการเปรียบเทียบในทางคณิตศาสตร์
ผลลัพธ์จะมี 2 กรณีคือ ถ้าผลลัพธ์ถูกต้องหรือเป็นจริงจะมีค่าเป็น 1 ถ้าผลลัพธ์ผิดหรือเป็นเท็จจะมีค่าเป็น 0 ผลลัพธ์ของการเปรียบเทียบมีชื่อเรียกอีกอย่างหนึ่งว่าค่าคงที่บูลีน (Boolean Constant) ดังนี้
8 > 5ผลลัพธ์เป็นจริงค่าคงที่บูลีนเป็น 1
0 = 10ผลลัพธ์เป็นเท็จค่าคงที่บูลีนเป็น 0
X > xผลลัพธ์เป็นจริงค่าคงที่บูลีนเป็น 1(เปรียบเทียบค่าตามรหัสแอสกี)
A > Bผลลัพธ์เป็นจริงค่าคงที่บูลีนเป็น 1(เปรียบเทียบค่าตามรหัสแอสกี)
ตัวดำเนินการความหมายตัวอย่าง
>มากกว่า (Greather Than)X > y
<น้อยกว่า (Less Than)X < y
>=มากกว่าหรือเท่ากับ (Greather Than or Equal)X >= y
<=น้อยกว่าหรือเท่ากับ (Less Than or Equal)X <= y
==เท่ากับ (Equal)X == y
!=ไม่เท่ากับ (Not Equal)X != y
ตัวดำเนินการทางตรรกะ
ตัวดำเนินการทางตรรกะในโปรแกรมภาษาซี คือเครื่องหมายที่ใช้เชื่อมเงื่อนไข 2 เงื่อนไข หรือมากกว่า 2 เงื่อนไข
เพื่อให้การเปรียบเทียบมีความละเอียดมากขึ้น ใช้สัญลักษณ์แทนในแต่ละเครื่องหมาย ดังตารางข้างล่างนี้
&&จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขทั้งสองเป็นจริง แต่ถ้าเงื่อนไขใดเป็นเท็จ หรือทั้งสองเงื่อนไขเป็นเท็จจะทำให้ผลลัพธ์เป็นเท็จ
||จะให้ผลลัพธ์เป็นจริง เมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง หรือเป็นจริงทั้งสองเงื่อนไข แต่ถ้าเป็นเท็จทั้งสองเงื่อนไขจะทำให้ผลลัพธ์เป็นเท็จ
!จะให้ผลลัพธ์เป็นจริง เมื่อเงื่อนไขหลัง not เป็นเท็จ แต่ถ้าเงื่อนไขหลัง not เป็นจริงจะทำให้ผลลัพธ์เป็นเท็จ ตัวดำเนินการ ความหมาย ตัวอย่าง
&& และ (and) Mark>=80&&mark<=100
|| หรือ (or)Score<0||score>100
!ไม่ (not) !x&&!y
นิพจน์คณิตศาสตร์
นิพจน์คณิตศาสตร์ในโปรแกรมภาษาซี คือการนำค่าคงที่หรือตัวแปรมาเชื่อมต่อกัน ด้วยเครื่องหมายทางคณิตศาสตร์ นิพจน์คณิตศาสตร์จะมีลักษณะคล้ายกับสมการทางคณิตศาสตร์ ดังนี้
c = a * b(10 + 5 ) * 10 % 9 = 15
(8 * a + 2 * b)/c5 + (5 – 1 ) * 4 = 21
ลำดับการประมวลผลของนิพจน์
ลำดับการประมวลผลของนิพจน์คณิตศาสตร์จะทำการประมวลผลในส่วนของวงเล็บก่อนใน กรณีที่มีวงเล็บ จากนั้นจะคำนวณไปตามลำดับของการประมวลดังตารางข้างล่างนี้ และหากมีเครื่องหมายที่อยู่ในลำดับการประมวลผล
เดียวกันจะทำการคำนวณจากด้านซ้ายไปด้านขวา
เครื่องหมายลำดับการประมวลผล
( )1
++,–2
* / %3
+ -4
ตัวอย่าง 1   (10 -34) * 5 = 35ลำดับการประมวลผล
10 – 3 = 7 แล้วคูณกับ 5 ได้ผลลัพธ์ 35
ตัวอย่าง 2   5 + 10 *2 = 25ลำดับการประมวลผล
10 * 2 = 20 แล้วบวกดับ 5 ได้ผลลัพธ์ 25
ตัวอย่าง 3   (2 + 7) * 4 % 10 = 6ลำดับการประมวลผล
2 + 7 = 9 แล้วคูณกับ 4 ได้ 36 หารแบบเอาเศษด้วย 10 ได้ 6
ตัวอย่าง 4   2 + 7 * 4 % 10 = 10ลำดับการประมวลผล
7 * 4 = 28 แล้วหารแบบเอาเศษด้วย 10 ได้ 8 บวกกับ 2 เป็น 10
ตัวอย่าง 5   10 + 2 * 8 / 4 * 3 – 5 = 17ลำดับการประมวลผล
1. 2 * 8 = 16
2. 16 / 4 = 4
3. 4 * 3 = 12
4. 12 + 10 = 22
5. 22 – 5 = 17

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

แสดงความคิดเห็น