หัวข้อที่ 6

ประเภทของข้อมูลและตัวแปร
ประเภทของข้อมูล
          ข้อมูล คือ เหตุการณ์หรือข้อเท็จจริงที่เกิดขึ้นรอบตัว เช่น เบอร์โทรศัพท์เพื่อน ชื่อสุนัข พรรคการเมืองที่ชอบ คะแนนสอบ อื่นๆ
          ภาษา 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          เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อกำหนดไม่ให้โปรแกรมเปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว



 ตัวอย่างโปรแกรมภาษา C
          ตัวอย่างที่ 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 ; ไกรศร ตั้งโอภากุล,กิตินันท์ พลสวัสดิ์
        คู่มือเรียนการเขียนโปรแกรมภาษาซี:สำนักพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย หนังสือความรู้เพื่อชุมชน

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

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