ประเภทของข้อมูลและตัวแปร
ประเภทของข้อมูล
ข้อมูล คือ เหตุการณ์หรือข้อเท็จจริงที่เกิดขึ้นรอบตัว เช่น เบอร์โทรศัพท์เพื่อน ชื่อสุนัข พรรคการเมืองที่ชอบ คะแนนสอบ อื่นๆ
ภาษา C เป็นภาษาหนึ่งที่มีชนิดข้อมูลให้ใช้อยู่มากมาย แต่ละชนิดข้อมูลนั้นมีขอบเขตของค่าข้อมูลมากน้อยแตกต่างกัน โดยชนิดข้อมูลที่มีขอบเขตค่าของข้อมูลกว้างมากๆ จะแลกมาด้วยเนื้อที่ในหน่วยความจำที่มากตามไปด้วย
ชนิดของข้อมูล ( Data Type)
1. ชนิดข้อมูลแบบจำนวนเต็ม (Integer Type)
เป็นชนิดข้อมูลที่ประกอบด้วยจำนวนเต็มบวก จำนวนเต็มลบ และจำนนเต็มศูนย์
การกำหนดค่าให้กับตัวแปรชนิดจำนวนเต็ม
1. จะต้องเป็นค่าตัวเลขไม่มีจุดทศนิยม
2. ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นระหว่างตัวเลข เช่น 1,234 ซึ่งถือว่าผิด
3. กรณีเป็นค่าบวกไม่จำเป็นต้องใส่เครื่องหมาย + นำหน้าค่า แต่กรณีเป็นลบต้องใส่เครื่องหมาย –
4. ช่วงตัวเลขจำนวนเต็มควรอยู่ในช่วงชนิดข้อมูลนั้นๆ
5. สามารถใช้เครื่องหมาย suffix ต่อท้ายค่าที่กำหนดให้ตัวแปรได้โดยใช้ L ต่อท้ายชนิดข้อมูล long หรือใช้ U ต่อท้ายค่าเป็น unsigned
2. ชนิดข้อมูลแบบจำนวนทศนิยม (Floating Point Type)
เป็นชนิดข้อมูลแบบตัวเลขทศนิยม ที่สามารถนำไปคำนวณทางคณิตศาสตร์ได้ ซึ่งอาจจะมีทศนิยมหรือไม่มีจุดทศนิยมก็ได้
การกำหนดค่าให้กับตัวแปรชนิดจำนวนทศนิยม
1. จะต้องเป็นค่าตัวเลขที่สามารถมีจุดทศนิยม
2. ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นระหว่างตัวเลข เช่น 1,234.03 ซึ่งถือว่าผิด
3. กรณีเป็นค่าบวกไม่จำเป็นต้องใส่เครื่องหมาย + นำหน้าค่า แต่กรณีเป็นลบต้องใส่เครื่องหมาย –
4. การเขียนในรูปแบบใช้ตัวอักษร E ค่าที่ถูกกำหนดได้ทั้งค่าบวกและค่าลบ
5. สามารถใช้เครื่องหมาย suffix ต่อท้ายค่าที่กำหนดให้ตัวแปรได้โดยใช้ L ต่อท้ายชนิดข้อมูล long หรือใช้ F ต่อท้ายค่าเป็น double
3. ชนิดข้อมูลแบบตัวอักษร (Character)
เป็นชนิดข้อมูลแบบอักษรตัวเดียว มีขนาด 1 ไบต์ หรือ 8 บิต โดยจะกำหนดค่าอยู่ในเครื่องหมาย ‘ ’ ซึ่งเป็นได้ทั้งตัวอักษร,ตัวเลข และสัญลักษณ์พิเศษ ซึ่งสามารถนำไปคำนวณได้
4. ชนิดข้อมูลแบบ Void
เป็นชนิดข้อมูลแบบไม่มีค่าใดๆ ใช้สำหรับกำหนดประเภทฟังก์ชั่นเพื่อบอกว่าฟังก์ชั่นที่ถูกใช้เป็นประเภท Void หมายถึงไม่มีการส่งค่าใดๆกลับมา
ตัวแปร (Variable)
ตัวแปร หมายถึง สัญลักษณ์ที่ใช้แทนค่าข้อมูลในการเขียนโปรแกรม ซึ่งข้อมูลนั้นจะเป็นตัวหนังสือ หรือตัวเลขก็ได้ โดยการทำงานของตัวแปรจะเป็นการจองพื้นที่ของหน่วยความจำสำหรับเก็บข้อมูลตมรูปแบบชนิดของข้อมูล
ตัวอย่าง
เมื่อมีการประกาศตัวแปร คอมไพเลอร์จะมีการจองพื้นที่ของหน่วยความจำสำหรับเก็บข้อมูล ดังนี้
กฎการตั้งชื่อตัวแปร
กฎการตั้งชื่อนี้จะรวมไปถึงการตั้งชื่อให้กับฟังก์ชั่น ค่าคงที่ และชื่ออื่นๆ ในภาษา C โดยมีข้อกำหนดดังนี้
1. ชื่อต้องขึ้นต้นด้วยอักษรหรือเครื่องหมาย () เท่านั้น จะขึ้นต้นด้วยตัวเลขหรือเครื่องหมายอื่นTEST_Amount, Love1, g2_A2, _Firstname เป้นต้น
2. ชื่อจะประกอบด้วยอักขระพิเศษไม่ได้ เช่น $, @, #, &
3. ภายในชื่อมีช่องว่างหรือแท็บไม่ได้
4. ชื่อในภาษา C เป็นแบบ Case-Sensitive คือ ตัวอักษรตัใหญ่และตัวอักษรตัวเล็กจะถือเป็นคนละตัวกัน เช่น Test, test, tEsT จะถือว่าชื่อที่ตั้งขึ้นนี้เป็นคนละชื่อกัน
5. ชื่อที่ตั้งขึ้นต้องไม่ซ้ำกับคำสงวน ในภาษา C
การประกาศตัวแปร ( Declaration )
เป็นขั้นตอนสำคัญในการเขียนโปรแกรมภาษา C เพราะภาษา C บังคับให้ประกาศตัวแปรเสียก่อนจึงจะใช้ตัวแปรนั้นได้ โดยกำหนดชื่อและชนิดของข้อมูลให้กับตัวแปร ในบางกรณีจะมีการกำหนดค่าเริ่มต้นให้กับตัวแปรดังกล่าวด้วย ดดยมีรูปแบบดังนี้
โดยที่ Type เป็นชนิดของข้อมูล
varName เป็นชื่อตัวแปร
Value เป็นค่าข้อมูลของตัวแปร
ตัวอย่าง
char chName = ‘Thai’;
char chBoolean = ‘T’;
int intCount;
double dblGPA;
นอกจากนี้ยังมีคำสงวนในคำสงวนของภาษา c++ ที่ต้องระวัง ไม่ควรใช้คำสงวนของภาษา C++ ตั้งชื่อตัวแปรด้วยเช่นกัน เพื่อที่โปรแกรมที่เขียนขึ้นมาสามารถคอมไพล์ได้ทั้งคอมไพเลอร์ภาษา C และภาษา C++
ตัวอย่างโปรแกรมภาษา C
ตัวอย่างที่ 1 เป็นการกำหนดค่าข้อมูลและแสดงผลค่าตัวแปรชนิดอักขระ
1 #include <stdio.h>
2 #include <conio.h>
3
4 main ()
5 {
6 char chTest;
7 printf (“sizeof ( char ) = %d\n”, sizeof(char));
8
9 //valid
10 chTest = ‘A’;
11 printf (“Char A = %c\n”, chTest);
12 printf (“ASCII A = %d\n”, chTest);
13 printf (“\n”);
14
15 //invalid
16 chTest = ‘ABC’;
17 printf (“Char ABC = %c\n”, chTest);
18 printf (“ASCII ABC = %d\n”, chTest);
19 Getch ();
20 }
จากโค๊ดจะได้ผลลัพธ์
sizeof <char> = 1
Char A = A
ASCII A = 65
Char ABC = C
ASCII ABC = 67
-
อธิบายการทำงานของโปรแกรม
บรรทัดที่ 1-2 เป็นการเรียกใช้งานส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี stio.h ซึ่งเป็นไลบราลีจัดการเกี่ยวกับอินพุต เอาต์พุต และไลบรารีconio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-20 ส่วนการทำงานของฟังกืชั่น main()
บรรทัดที่ 6 ประกาสตัวแปรชนิด char ชื่อ chTest
บรรทัดที่ 7 แสดงขนาดของตัวแปร char ทางจอภาพ
บรรทัดที่ 10 กำหนดค่าตัวแปร chTest เท่ากับ ‘A’ ซึ่งเป็นการกำหนดค่าที่ถูกต้อง เนื่องจากค่าข้อมูลชนิดตัวอักษรจะกำหนดค่าค่าตัวอักษรได้เพียงตัวเดียว
บรรทัดที่ 11 แสดงผลลัพธ์จากบรรทัดที่ 10 จะเห็นได้ว่าผลลัพธ์ที่ได้จะเป็นค่า A
บรรทัดที่ 12 แสดงผลลัพธ์ค่าของตัวแปรในรูปแบบ ascii code
บรรทัดที่ 13 ขึ้นบรรทัดใหม่
บรรทัดที่ 16 กำหนดค่าตัวแปร chTest เท่ากับ ‘ABC’ ซึ่งเป็นการกำหนดค่าที่ผิด เนื่องจากค่าข้อมูลชนิดตัวอักษรจะสามารถกำหนดค่าตัวอักษรได้เพียงตัวเดียว
บรรทัดที่ 17 แสดงผลลัพธ์จากบรรทัดที่ 16 จะเห็นได้ว่าผลลัพธ์ที่ได้จะเป็นค่าตัวสุดท้ายที่ได้กำหนดให้กับตัวแปร คือค่า C
บรรทัดที่ 18 แสดงผลลัพธ์ค่าของตัวแปรในรูปแบบ ascii code
บรรทัดที่ 19 เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อกำหนดไม่ให้โปรแกรมเปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว
ตัวอย่างที่ 2 เป็นการกำหนดค่าข้อมูลและแสดงผลค่าตัวแปรชนิดทศนิยมเพื่อหาพื้นที่สามเหลี่ยม
1 #include <stdio.h>
2 #include <conio.h>
3
4 Main ()
5 {
6 double fHeight = 5010.5 ;
7 double fBase = 500.25 ;
8 double fArea ;
9
10 fArea = 0.5 * fHeight * fBase ;
11
12 printf (“This is height = %f \n”, fHeight) ;
13 printf (“This is Base = %f \n”, fBase);
14 printf (“Triangle area is = %f \n”, fArea);
15 Getch ();
16 }
จากโค๊ดจะได้ผลลัพธ์
This is height = 5010.500000
This is Base = 500.250000
Triangle area is = 1253251.312500
-
บรรทัดที่ 1-2 เป็นการเรียกใช้งานส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี stio.h ซึ่งเป็นไลบราลีจัดการเกี่ยวกับอินพุต เอาต์พุต และไลบรารีconio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-16 ส่วนการทำงานของฟังกืชั่น main()
บรรทัดที่ 6 ประกาศตัวแปรชนิดทศนิยมชื่อ fHeight เพื่อเก็บค่าความสูงของสามเหลี่ยม พร้อมกำหนดค่าเท่ากับ 5010.5
บรรทัดที่ 7 ประกาศตัวแปรชนิดทศนิยมชื่อ fBase เพื่อเก็บค่าความยาวฐานของสามเหลี่ยม พร้อมกำหนดค่าเท่ากับ 500.25
บรรทัดที่ 8 ประกาศตัวแปรชนิดทศนิยมชื่อ fArea เพื่อเก็บค่าพื้นที่ของสามเหลี่ยม
บรรทัดที่ 10 คำนวณหาพื้นที่สามเหลี่ยม และนำผลลัพธ์ที่ได้เก็บไว้ในตัวแปร fArea
บรรทัดที่ 12 แสดงผลลัพธ์ค่าของตัวแปร fHeight, fBase, fArea ออกทางจอภาพ ตามลำดับ
บรรทัดที่ 15 เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อกำหนดไม่ให้โปรแกรมเปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว
ที่มา : คู่มือการเขียนโปรแกรมภาษา C ; ไกรศร ตั้งโอภากุล,กิตินันท์ พลสวัสดิ์
คู่มือเรียนการเขียนโปรแกรมภาษาซี:สำนักพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย หนังสือความรู้เพื่อชุมชน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น