C - Programming : ตอนที่ 5 ชนิดของข้อมูล (DATA TYPE)





ชนิดของข้อมูล (Data Type)

           ภาษา C เป็นภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้อยู่มากมาย  โดยแต่ละชนิดข้อมูลนั้นจะมีขอบเขตของค่าข้อมูลมากน้อยแตกต่างกัน ชนิดของข้อมูลที่มีขอบเขตค่าของข้อมูลกว้างมากๆ จะแลกมาด้วยเนื้อที่ในหน่วยความจำที่มากตามไปด้วย
           ดังนั้นในการพัฒนาโปรแกรม ผู้อ่านควรที่จะคำนึงความจำเป็นในการใช้งานชนิดข้อมูลในแต่ละชนิดและเลือกใช้ตามความเหมาะสมด้วย  เพราะว่าหากใช้ชนิดข้อมูลที่มีขนาดใหญ่เกินความจำเป็นที่จะนำมาใช้งาน ก็จะทำให้สิ้นเปลืองเนื้อที่ในหน่วยความจำในการเก็บข้อมูลไปด้วย ในทางกลับกันหากใช้ชนิดข้อมูลที่น้อยกว่าขอบเขตของข้อมูลที่จะใช้งานจริง  ก็จะทำให้เกิดข้อผิดพลาดในการทำงานของโปรแกรมขึ้นได้
           ชนิดของข้อมูลนั้นจะแบ่งออกเป็น
4 แบบ  คือ
          
- ชนิดข้อมูลแบบจำนวนจริง (Integer type)
          
- ชนนิดข้อมูลแบบตัวอักษร (Character type)
           - ชนิดข้อมูลแบบกลุ่มของตัวอักษร (String type)
           - ชนิดข้อมูลแบบจำนวนเลขทศนิยม (Floating point type)

ชนิดข้อมูลแบบจำนวนเต็ม (Integer type)

          Integer เป็นชนิดข้อมูลแบบจำนวนเต็ม ประกอบไปด้วยจำนวนเต็มบวก (1, 2, 3, ...) จำนวนเต็มลบ (-1, -2, -3, ...) และจำนวนเต็มศูนย์ ซึ่งในภาษา C  ได้แบ่งจำนวนเต็มออกเป็นชนิดต่างๆ ซึ่งแต่ละชนิดมีขนาดและขอบเขตของการใช้งานที่แตกต่างกัน การที่จะเลือกใช้จำนวนเต็มชนิดใดในการประกาศตัวแปรนั้น ก็ขึ้นอยู่กับขนาดในการจัดเก็บข้อมูลของตัวแปรนั้นๆ ดังรายละเอียดในตะรางแสดงขนาดและขอบเขตข้อมูลดังนี้
ชนิดข้อมูล
การคิดเครื่องหมาย
ขนาด (ไบต์)
ช่วงข้อมูล
Shot int
Signed (คิดเครื่องหมาย)
2
-32,768 ถึง 32,767
Unsigned (ไม่คิดเครื่องหมาย)
0 ถึง 65,535
Int
Signed (คิดเครื่องหมาย)
4
-2,147,483,648, ถึง 2,147,483,647
Unsigned (ไม่คิดเครื่องหมาย)
0 ถึง 4,294,967,295
long int
Signed (คิดเครื่องหมาย)
4
-2,147,483,648, ถึง 2,147,483,647
Unsigned (ไม่คิดเครื่องหมาย)
0 ถึง 4,294,967,295
ข้อควรรู้
              ในข้อมูลชนิดเดียวกันของภาษา
C อาจจะมีความแตกต่างในเรื่องของขนาดและขอบเขตชนิดข้อมูลได้ ซึ่งจะขึ้นอยู่กับระบบปฏิบัติการที่ใช้งาน ตัวอย่างเช่น
             
- ในระบบปฏิบัติการ 16 บิต ข้อมูลชนิด int จะเป็น 16 บิตหรือ 2 ไบต์
             
- ในระบบปฏิบัติการ 32 บิต ข้อมูลชนิด int จะเป็น 32 บิตหรือ 4 ไบต์

การกำหนดค่าให้กับตัวแปรชนิดจำนวนเต็ม

1.จะต้องเป็นค่าตัวเลขไม่มีจุดทศนิยม
2.ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นตัวเลข เช่น  1,234 ซึ่งถือว่าผิด
3.กรณีเป็นค่าบวก ไม่จำเป็นต้องใส่เครื่องหมาย + นำหน้าค่า แต่กรณีเป็นค่าลบ ต้องใส่เครื่องหมาย - นำหน้าค่า
4.ช่วงตัวเลขจำนวนเต็มควรอยู่ในช่วงชนิดข้อมูลนั้นๆ
5.สามารถใช้เครื่องหมาย Suffix ต่อท้ายค่าที่กำหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ายชนิดข้อมูล long หรือใช้ U ต่อท้ายค่าเป็น unsigned (ใช้ตัวพิมพ์ใหญ่หรือเล็กก็มีความหมายเหมือนกัน)
เช่น
testInt = 1234;         // int
testInt =  -1234;         
testing = +1234;       //  ใส่เครื่องหมาย + นำหน้าค่าโปรแกรมก็ยังทำงานได้ไม่ผิดพลาด
testLongInt  = 123456789L;                //  long int
testUnsignedInt = 123456U;                //   Unsigned int
testUnsignedLongInt = 123456789UL;       //  unsigned long int

           เพื่อให้เข้าใจการใช้งานชนิดข้อมูลจำนวนเต็มมากขึ้น สามารถดูได้จากตัวอย่างต่อไปนี้ครับ
ตัวอย่างที่
1 เป็นการกำหนดค่าข้อมูลให้กับตัวแปรชนิดจำนวนเต็ม เพื่อพิจารณาขอบเขตของข้อมูล  ซึ่งมีโค๊ดดังนี้
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#include <stdio.h>
#include <conio.h>

void main()
{
     signed short signShort;
        unsigned short unsignShort;
        printf (" sizeof (short) = %d\n", sizeof (short));
        
        // invalid signed short
        signShort = - 32769;
        printf(" singed short-32769 = %d\n", signShort);
        signShort = 32768;
        printf(" singed short 32768 = %d\n", signShort);
    
     // valid signed short
     signShort = -32768;
        printf(" singed short-32768 = %d\n", signShort);
        signShort = 32768;
        printf(" singed short 32767 = %d\n", signShort);  
     printf(" \n");
    
     // invalid unsigned short
     unsignShort = -1;
     printf(" unsinged short-1 = %d\n", unsignShort);
     unsignShort = 65536;
     printf(" unsinged short 65536 = %d\n", unsignShort);
    
     // valid unsigned short
     unsignShort = 0;
     printf(" unsinged short 0 = %d\n", unsignShort);
     unsignShort = 65535;
     printf(" unsinged short 65535 = %d\n", unsignShort);

     getch();
}


จากโค๊ดจะได้ผลลัพธ์แบบนี้ครับ


การทำงานของโปรแกรมอธิบายได้ดังนี้ครับ
บรรทัดที่ 1-2
เป็นการเรียกใช้ส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี  stdio.h  ซึ่งเป็นไลบรารีจัดการเกี่ยวกับอินพุตละเอาต์พุต และไลบรารี conio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-36
เป็นส่วนการทำงานของฟังก์ชัน main()
บรรทัดที่ 6
ประกาศตัวแปรชนิด singed short ชื่อ signShort
บรรทัดที่ 7
ประกาศตัวแปรชนิด unsinged short ชื่อ unsignShort
บรรทัดที่ 8
แสดงขนาดของตัวแปร short ทางจอภาพ
บรรทัดที่ 11
กำหนดค่าตัวแปร signShort เท่ากับ -32769 ซึ่งเป็นค่าที่ต่ำกว่าขอบเขตข้อมูลชนิด signed short
บรรทัดที่ 12
แสดงผลจากบรรทัดที่ 11 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 32767 ซึ่งไม่ตรงกับค่าที่กำหนดไว้
บรรทัดที่ 13
กำหนดค่าตัวแปร signShort เท่ากับ 32768 ซึ่งเป็นค่าที่สูงกว่าขอบเขตข้อมูลชนิด singed short
บรรทัดที่ 14
แสดงผลบรรทัดที่ 13 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น -32768 ซึ่งไม่ตรงกับค่าที่กำหนดไว้
บรรทัดที่ 17
กำหนดค่าตัวแปร signShort เท่ากับ -32768 ซึ่งเป็นค่าต่ำสุดของขอบเขตข้อมูลชนิด signed short
บรรทัดที่ 18
แสดงผลลัพธ์จากบรรทัดที่ 17 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น -32768 ซึ่งตรงกับค่าที่กำหนดไว้
บรรทัดที่ 19
กำหนดค่าตัวแปร signShort เท่ากับ 32767 ซึ่งเป็นค่าสูงสุดขอบเขตข้อมูลชนิด signed short
บรรทัดที่ 20
แสดงผลลัพธ์จากบรรทัดที่ 19 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 32767 ซึ่งตรงกับค่าที่กำหนดไว้
บรรทัดที่ 21
ขึ้นบรรทัดใหม่
บรรทัดที่ 24
กำหนดค่าตัวแปร unsignShort เท่ากับ -1 ซึ่งเป็นค่าที่ต่ำกว่าขอบเขตข้อมูลชนิด unsigned short
บรรทัดที่ 25
แสดงผลลัพธ์จากบรรทัดที่ 24 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 65535 ซึ่งไม่ตรงกับค่าที่กำหนดไว้
บรรทัดที่ 26
กำหนดค่าตัวแปร unsignShort เท่ากับ 65536 ซึ่งเป็นค่าที่สูงกว่าขอบเขตข้อมูลชนิด unsigned short
บรรทัดที่ 27
แสดงผลลัพธ์จากบรรทัดที่ 26 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 0 ซึ่งไม่ตรงกับค่าที่กำหนดไว้
บรรทัดที่ 30
กำหนดค่าตัวแปร unsignShort เท่ากับ 0 ซึ่งเป็นค่าที่ต่ำสุดขอบเขตข้อมูลชนิด unsigned short
บรรทัดที่ 31
แสดงผลลัพธ์จากบรรทัดที่ 30 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 0 ซึ่งตรงกับค่าที่กำหนดไว้
บรรทัดที่ 32
กำหนดค่าตัวแปร unsignShort เท่ากับ 65535 ซึ่งเป็นค่าที่สูงสุดขอบเขตข้อมูลชนิด unsigned short
บรรทัดที่ 33
แสดงผลลัพธ์จากบรรทัดที่ 32 ออกทางจอภาพ จะเห็นได้ว่าค่าที่ได้เป็น 65535 ซึ่งตรงกับค่าที่กำหนดไว้
บรรทัดที่ 35
เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อกำหนดไม่ให้โปรแกรมปิดหน้าต่างผลลัพธ์เมื่อแสดงผลที่ต้องการแล้ว
                NOTE จากตัวอย่างที่ 1 อาจจะมีโค๊ดบางคำสั่งที่ดูแล้วอาจจะยังไม่เข้าใจ ดังนั้นจึงจะขออธิบายอย่างละเอียดในบทความตอนต่อไป แต่ในหัวข้อนี้จะขออธิบายให้พอเข้าใจดังนี้
              printf          เป็นคำสั่งแสดงผลทางจอภาพ
             
%c                 เป็นการแสดงผลค่าของตัวแปรในรูปแบบตัวอักษร
             
%d                 เป็นการแสดงผลค่าของตัวแปรในรูปแบบตัวเลข
             
%f                 เป็นการแสดงผลค่าของตัวแปรในรูปแบบทศนิยม
             
\n                 เป็นการแสดงผลให้ขึ้นบรรทัดใหม่
             
sizeof(dataType) เป็นฟังก์ชันที่มีอยู่ในชื่อเฮดเดอร์ไฟล์ stdio.h ใช้สำหรับหาขนาดชนิดข้อมูล
                   จากตัวอย่างที่ 1 ถ้าหากว่าเราไม่ได้กำหนดค่าอยู่ในขอบเขตชนิดข้อมูลนั้นๆ จะทำให้ค่าผิดพลาด ไม่ตรงกับค่าที่เราตั้งใจจะให้เป็น ดังนั้นในการเขียนโปรแกรมจึงควรระมัดระวังการกำหนดค่าให้กับตัวแปรเพื่อไม่ให้การทำงานของโปรแกรมเกิดข้อผิดพลาด
           เราอาจจะประยุกต์ตัวอย่างที่
1 นี้ในการทดสอบหาขนาดและขอบเขตข้อมูลจำนวนเต็มแบบอื่นๆ ได้เช่นกัน โดยการเปลี่ยนชนิดข้อมูลและเปลี่ยนค่าที่กำหนดให้กับตัวแปรต่างๆ ให้อยู่ในขอบเขตและไม่อย่ในขอบเขตชนิดข้อมูลนั้นๆ

ชนิดข้อมูลแบบตัวอักษร (Character type)

           Char (Character) เป็นชนิดข้อมูลแบบตัวอักษรตัวเดียว มีขนาด 1 ไบต์หรือ 8 บิต โดยจะกำหนดค่าให้อยู่ในเครื่องหมาย ‘ ’ ซึ่งเป็นได้ทั้งตัวอักษร (Letter) , ตัวเลข (Digit) และสัญลักษณ์พิเศษ (Special symbols) ลักษณะสำคัญของข้อมูลชนิดนี้คือ ไม่สามารถนำไปคำนวณได้ ตัวอย่างเช่น ตัวอักษร ‘5’ แตกต่างจากต่างจากตัวเลข 5 ดังนั้น ‘5’+3 จึงไม่สามารถประมวลผลได้ในการเขียนโปรแกรมภาษา C
           เพื่อให้เข้าใจมากขึ้นศึกษาได้จากตัวอย่างต่อไปนี้
           ตัวอย่างที่
2 เป็นการกำหนดค่าข้อมูลให้กับตัวแปรชนิดตัวอักษร เพื่อพิจารณาขอบเขตของข้อมูล
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>

void main()
{
       char chTest;
       printf (" sizeof (char) = %d\n", sizeof(char));

       //valid
       chTest = 'A';
       printf("Char A = %c\n", chTest);
       printf(" ASCII A = %d\n", chTest);
       printf("\n");

       //invalid
       chTest ='ABC';
       printf(" Char ABC = %c\n", chTest);
       printf(" ASCII ABC = %d\n", chTest);
       getch();
}


จากโค๊ดจะได้ผลลัพธ์ดังนี้

การทำงานของโปรแกรมอธิบายได้ดังนี้ครับ
บรรทัดที่ 1-2
เป็นการเรียกใช้ส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี  stdio.h  ซึ่งเป็นไลบรารีจัดการเกี่ยวกับอินพุตละเอาต์พุต และไลบรารี conio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-20
เป็นส่วนการทำงานของฟังก์ชัน main()
บรรทัดที่ 6
ประกาศตัวแปรชนิด char ชื่อ chTest
บรรทัดที่ 7
แสดงผลขนาดของตัวแปร char ทางจอภาพ
บรรทัดที่ 10
กำหนดค่าตัวแปร chTest กับ ‘A’ ซึ่งเป็นการกำหนดค่าที่ถูกต้อง เนื่องจาก ค่าข้อมูลชนิดตัวอักษรจะสามารถกำหนดค่าตัวอักษรได้เพียงตัวเดียว
บรรทัดที่ 11
แสดงผลลัพธ์จากบรรทัดที่ 10 จะเห็นได้ว่าผลลัพธ์ที่ได้จะเป็นค่า A
บรรทัดที่ 12
แสดงผลลัพธ์ค่าของตัวแปรในรูปแบบ ASCII Code
บรรทัดที่ 13
ขึ้นบรรทัดใหม่
บรรทัดที่ 16
กำหนดค่าตัวแปร char เท่ากับ ‘ABC’ ซึ่งเป็นการกำหนดค่าที่ผิด เนื่องจากค่าข้อมูลชนิดตัวอักษรจะสามารถกำหนดค่าตัวอักษรได้เพียงตัวเดียว
บรรทัดที่ 17
แสดงผลลัพธ์จากบรรทัดที่ 16 จะเห็นได้ว่าผลลัพธ์ที่ได้จะเป็นค่าตัวสุดท้ายที่ได้กำหนดให้กับตัวแปร ซึ่งในตัวอย่างนี้จะเป็นค่า C
บรรทัดที่ 18
แสดงผลลัพธ์ค่าของตัวแปรในรูปแบบ ASCII Code
บรรทัดที่ 19
เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อไม่ให้โปรแกรมปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว

ชนิดข้อมูลแบบข้อความ (String type)

           ในภาษา C จะไม่มีประเภทข้อมูล string (ชนิดข้อมูลแบบกลุ่มของตัวอักษร) แต่เราสามารถสร้างข้อมูลชนิดนี้ได้โดยใช้เทคนิคในเรื่องของ Array เข้ามาช่วย ซึ่งจะอธิบายในบทความตอนต่อๆไป
           การกำหนดค่าข้อความให้กับตัวแปรจะอยู่ภายในเครื่องหมาย
(“ ”) โดยในการสร้างต้องประกาศขนาด Array ไว้ล่วงหน้าเพื่อเป็นการจองพื้นที่สำหรับขนาดของข้อมูลชนิดข้อความ ซึ่งมีรูปแบบการประกาศและกำหนดค่าข้อมูลชนิดข้อความดังนี้
           Char  name[n] = value;

           โดยที่     name      เป็นชื่อตัวแปร
                     
n            เป็นขนาดของตัวแปร
                     
value       เป็นค่าของตัวแปร
          
ตัวอย่างเช่น
char chSex[5] = “Male”;
char chBoolean[6] = “False”;

           เพื่อให้เข้าใจการใช้งานชนิดข้อมูลแบบข้อความมากขึ้น เราจะมาศึกษาได้จากตัวอย่างต่อไปนี้
           ตัวอย่างที่
3 เป็นตัวอย่างการกำหนดค่าของข้อมูลให้กับตัวแปรชนิดข้อความเพื่อพิจารณาขอบเขตของข้อมูล ซึ่งมีโค๊ดดังนี้
1
2
3
4
5
6
7
8
9
10
11

#include  <stdio.h>
#include  <conio.h>

void main()
{
       char strTest[30] = "Developer Web and Programming";

       printf(" String : %s\n", strTest);
       printf(" Index 6 : %c\n", strTest[6]);
       getch();
}

จากโค๊ดจะได้ผลลัพธ์ดังนี้


การทำงานของโปรแกรมอธิบายได้ดังนี้ครับ
บรรทัดที่ 1-2
เป็นการเรียกใช้ส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี  stdio.h  ซึ่งเป็นไลบรารีจัดการเกี่ยวกับอินพุตละเอาต์พุต และไลบรารี conio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-11
เป็นส่วนการทำงานของฟังก์ชัน main()
บรรทัดที่ 6
ประกาศตัวแปรชนิดข้อความชื่อ strTest พร้อมกำหนดค่าเท่ากับ Developer Web and Programming”
บรรทัดที่ 8
แสดงผลลัพธ์ค่าตัวแปร strTest ทางจอภาพ
บรรทัดที่ 9
แสดงผลลัพธ์ค่าตัวแปร strTest ในตำแหน่งที่ 6 ทางจอภาพ ซึ่งในภาษา C จะนับตำแหน่ง Index โดยเริ่มต้นที่ 0
บรรทัดที่ 10
เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อไม่ให้โปรแกรมปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว

ข้อมูลแบบจำนวนเลขทศนิยม (Floating point type)

           Floating point เป็นชนิดข้อมูลแบบตัวเลขทศนิยมที่สามารถนำไปคำนวณทางคณิตศาสตร์ได้ ซึ่งอาจมีจุดทศนิยมหรือไม่มีจุดทศนิยมก็ได้ โดยสามารถเขียนในรูปแบบดังนี้
          
- เลขทศนิยม เช่น 12.568, -13.5
           - เลขทศนิยมแบบยกกำลัง เช่น 2.004E + 5, 9.40956E -– 25
              ซึ่ง 2.004E + 5 ก็คือ 1.004 x 105
              ส่วน 9.40956E – 25 ก็คือ 4.10956 x 10-25
                   ชนิดข้อมูลแบบจำนวนเลขทศนิยมในภาษา C มีด้วยกัน 3 ชนิด ดังตารางแสดงชนิดและขอบเขตข้อมูลด้านล่าง
ชนิดข้อมูล
ขนาด (ไบต์)
ช่วงข้อมูล
     float
4
3.4 x 10-38 ถึง 3.4 x 1038
     double
8
1.7 x 10-308 ถึง 1.7 x 10308
     long double
10
3.4 x 10-4932 ถึง 1.1 x 104932

           จุดสังเกตจะพบว่า ชนิดข้อมูลแบบเลขทศนิยมจะเป็นแบบ signed (คิดเครื่องหมาย) เสมอ ซึ่งเราสามารถกำหนดค่าให้ตัวแปรโดยคำนึงถึงข้อกำหนดดังนี้
          
- จะต้องเป็นค่าตัวเลขที่สามารถมีจุดทศนิยมได้
          
- ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นระหว่างตัวเลข เช่น 1,234.03
           - กรณีเป็นค่าบวกไม่จำเป็นต้องใส่เครื่องหมาย + นำหน้าค่า แต่ในกรีเป็นค่าลบ ต้องใส่ เครื่องหมาย - นำหน้าเสมอ
          
- การเขียนในรูปแบบใช้อักษรตัว E ค่าที่ถูกกำหนดสามารถกำหนดได้ทั้งค่าบวกและค่าลบ
          
- สามารถใช้เครื่องหมาย Suffix ต่อท้ายค่าที่กำหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ายชนิดข้อมูล long double หรือ F ต่อท้ายค่าที่เป็น double (ใช้ตัวพิมพ์ใหญ่หรือเล็กความหมายเหมือนกันนะครับ^^)
           ตัวอย่างเช่น
testFloat = 654.6;           // float
testDouble = 13.31F;         // double
testLongDouble = 16.34L      // long double

           ตัวอย่างที่ 4 เป็นตัวอย่างการคำนวณค่าข้อมูลให้กับตัวแปรชนิดเลขทศนิยม เพื่อหาพื้นที่สี่เหลียมผืนผ้า มีโค๊ดดังนี้ครับ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#include <stdio.h>
#include <conio.h>

void main()
{
       float fWidth = 1000.25;
       float fLength = 5010.5;
       float fArea;

       fArea = fWidth * fLength;

       printf("This is Width = %f \n", fWidth);
       printf("This is Length = %f \n", fLength);
       printf("Rectangular area is = %f \n", fArea);
       getch();
}

จากโค๊ดจะได้ผลดังนี้



การทำงานของโปรแกรมอธิบายได้ดังนี้ครับ
บรรทัดที่ 1-2
เป็นการเรียกใช้ส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี  stdio.h  ซึ่งเป็นไลบรารีจัดการเกี่ยวกับอินพุตละเอาต์พุต และไลบรารี conio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-15
เป็นส่วนการทำงานของฟังก์ชัน main()
บรรทัดที่ 6
ประกาศตัวแปรเลขทศนิยมชื่อ fWidth เพื่อเก็บค่าความกว้างของ สี่เหลี่ยมผืนผ้า พร้อมกำหนดค่าเท่ากับ 1000.25
บรรทัดที่ 7
ประกาศตัวแปรชนิดเลขทศนิยมชื่อ fLength เพื่อเก็บค่าความยาวของสี่เหลี่ยมผืนผ้า พร้อมกำหนดค่าเท่ากับ 5010.5
บรรทัดที่ 8
ประกาศตัวแปรชนิดเลขทศนิยมชื่อ fArea เป็น float เพื่อเก็บค่าสี่เหลี่ยมผืนผ้า
บรรทัดที่ 10
คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า และนำผลที่ได้เก็บไว้ในตัวแปร fArea
บรรทัดที่ 12-14
แสดงผลค่าตัวแปร fWidth, fLength และ fArea ทางจอภาพตามลำดับ
บรรทัดที่ 16
เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อไม่ให้โปรแกรมปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว
           ตัวอย่างที่ 5 เป็นตัวอย่างการกำหนดค่าข้อมูลให้กับตัวแปรเลขทศนิยม เพื่อหาพื้นที่สามเหลี่ยม
ซึ่งมีโค๊ดดังนี้
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>

void main()
{
       double fHeigth = 5010.5;
       double fBase = 500.25;
       double fArea;

       fArea = 0.5 * fHeigth * fBase;

       printf("This is Heigth = %f \n", fHeigth);
       printf("This is Base = %f \n", fBase);
       printf("Triangle area is = %f \n", fArea);
       getch();
}

จากโค๊ดจะได้ผลดังนี้



การทำงานของโปรแกรมอธิบายได้ดังนี้ครับ
บรรทัดที่ 1-2
เป็นการเรียกใช้ส่วนของเฮดเดอร์ไฟล์ สังเกตได้ที่เครื่องหมาย # โดยมีการเรียกใช้ไลบรารี  stdio.h  ซึ่งเป็นไลบรารีจัดการเกี่ยวกับอินพุตละเอาต์พุต และไลบรารี conio.h ซึ่งเป็นไลบรารีจัดการเกี่ยวกับจอภาพทั้งหมด
บรรทัดที่ 4-15
เป็นส่วนการทำงานของฟังก์ชัน main()
บรรทัดที่ 6
ประกาศตัวแปรเลขทศนิยมชื่อ fHrigth เพื่อเก็บค่าความกว้างของ สี่เหลี่ยมผืนผ้า พร้อมกำหนดค่าเท่ากับ 5010.5
บรรทัดที่ 7
ประกาศตัวแปรชนิดเลขทศนิยมชื่อ fBase เพื่อเก็บค่าความยาวของสี่เหลี่ยมผืนผ้า พร้อมกำหนดค่าเท่ากับ 500.25
บรรทัดที่ 8
ประกาศตัวแปรชนิดเลขทศนิยมชื่อ fArea เป็น float เพื่อเก็บค่าสี่เหลี่ยมผืนผ้า
บรรทัดที่ 10
คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า และนำผลที่ได้เก็บไว้ในตัวแปร fArea
บรรทัดที่ 12-14
แสดงผลค่าตัวแปร fHeigth, fBase และ fArea ทางจอภาพตามลำดับ
บรรทัดที่ 16
เป็นคำสั่งรับอักขระจากแป้นพิมพ์ ในที่นี้เพื่อไม่ให้โปรแกรมปิดหน้าต่างผลลัพธ์เมื่อแสดงผลลัพธ์ที่ต้องการแล้ว


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