กำรประกำศตัวแปรควรเลือกใช้ชนิดข้อมูลที่เหมำะสม และตั้ง
ชื่อตัวแปรตำมกฎในกำรตั้งชื่อเสมอ ซึ่งชนิดข้อมูลต่ำง ๆ ในภำษำ C มี
ดังนี้
1 Integer Type (ชนิดข้อมูลแบบจำนวนเต็ม)
2 Character Type (ชนิดข้อมูลแบบตัวอักษร)
3 String Type (ชนิดข้อมูลแบบข้อควำม)
4 Floating Type (ชนิดข้อมูลแบบจำนวนทศนิยม)
1

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

Integer เป็นชนิดข้อมูลแบบจำนวนเต็ม ประกอบไปด้วย
จ ำนวนเต็ ม บวก จ ำนวนเต็ ม ลบ และจ ำนวนเต็ ม ศู น ย์ ซึ่ ง ใน
ภำษำ C ได้แบ่งจำนวนเต็มออกเป็นชนิดต่ำง ๆ ซึ่งแต่ละชนิดมี
ขนำดและขอบเขตของกำรใช้งำนที่แตกต่ำงกั น กำรเลือกใช้
จำนวนเต็มชนิดใดในกำรประกำศตัวแปรนั้นก็ขึ้นอยู่กับขนำดใน
กำรจัดเก็บข้อมูลของตัวแปรนั้น ๆ
1 Integer Type (ชนิดข้อมูลแบบจำนวนเต็ม)

ในข้อมูลชนิดเดียวกันของภำษำ C อำจจะมีควำมแตกต่ำงใน
เรื่องของขนำดและขอบเขตชนิดข้อมูลได้ ซึ่งจะขึ้นอยู่กับระบบปฏิบัติกำร
ที่ใช้งำน เช่น
• ในระบบปฏิบัติกำร 16 บิต ข้อมูลชนิด int จะเป็น 16 บิต หรือ 2
ไบต์
• ในระบบปฏิบัติกำร 32 บิต ข้อมูลชนิด int จะเป็น 32 บิต หรือ 4
ไบต์
ตำรำงแสดงขนำดและขอบเขตข้อมูล
ชนิดข้อมูล
Short int

int

กำรคิดเครืองหมำย
่
signed (คิดเครื่องหมำย)
unsigned (ไม่คิดเครืองหมำย)
่
signed (คิดเครื่องหมำย)

ขนำดไบต์
2

4

unsigned (ไม่คิดเครืองหมำย)
่
Long int

signed (คิดเครื่องหมำย)

unsigned (ไม่คิดเครืองหมำย)
่

4

ช่วงข้อมูล
-32,768 ถึง 32,767
0 ถึง 65,535
-2,147,483,648 ถึง
2,147,483,647
0 ถึง 4,294,967,295
-2,147,483,648 ถึง
2,147,483,647
0 ถึง 4,294,967,295
กำรกำหนดค่ำให้กับตัวแปรชนิดจำนวนเต็ม
• จะต้องเป็นค่ำตัวเลขไม่มีจุดทศนิยม
• ห้ำมใช้เครื่องหมำย , หรือช่องว่ำงคั่นระหว่ำงตัวเลข เช่น 1,234
ซึ่งถือว่ำผิด
• กรณีเป็นค่ำบวกไม่จำเป็นต้องใส่เครื่องหมำย + นำหน้ำค่ำ แต่
กรณีเป็นค่ำลบต้องใส่เครื่องหมำย – นำหน้ำค่ำ
• ช่วงตัวเลขจำนวนเต็มควรอยู่ในช่วงชนิดข้อมูลนั้น ๆ
• สำมำรถใช้เครื่องหมำย suffix ต่อท้ำยค่ำที่กำหนดให้ตัวแปรได้
โดยใช้ L ต่อท้ำยชนิดข้อมูล long หรือใช้ U ต่อท้ำยค่ำเป็น unsigned
(ใช้ตัวพิมพ์ใหญ่หรือเล็กควำมหมำยเหมือนกัน)
2 Character Type (ชนิดข้อมูลแบบตัวอักษร)

Char เป็นชนิดข้อมูลแบบอักษรตัวเดียว มีขนำด 1 ไบต์ หรือ
8 บิต โดยจะกำหนดค่ำอยู่ในเครื่องหมำย ‘ ’ ซึ่งเป็นได้ทั้ง
ตั ว อั ก ษร (Letter), ตั ว เลข (Digit) และสั ญ ลั ก ษณ์ พิ เ ศษ
(Special
Symbols) ลักษณะสำคัญของข้อมูลชนิดนี้คือ ไม่
สำมำรถนำไปคำนวณได้ ตัวอย่ำงเช่น ตัวอักษร ‘2’ แตกต่ำง
จำกตัวเลข 2 ดังนั้น ‘2’ + 3 จึงไม่สำมำรถประมวลผลได้ในกำร
เขียนโปรแกรมภำษำ C
3 String Type (ชนิดข้อมูลแบบตัวข้อควำม)

ในควำมจริงนั้น ตัวแปรชนิดข้อควำมไม่มีกำรกำหนดไว้ใน
ภำษำ C แต่เรำสำมำรถใช้ตัวแปรชนิดข้อควำมในรูปแบบของ
ชุดตัวแปรอักขระได้โดยใช้เทคนิคในเรื่องของ Array เข้ำมำช่วย
กำรก ำหนดค่ ำ ข้ อ ควำมให้ กั บ ตั ว แปรจะอยู่ ภ ำยใน
เครื่องหมำย (“ ”) โดยในกำรสร้ำงต้องประกำศขนำด Array
ไว้ล่วงหน้ำ เพื่อเป็นกำรจองพื้นที่สำหรับขนำดของข้อมูล
เหนื่อย

ก็
นัก

พักก่อน
4 Floating Point Type (ชนิดข้อมูลแบบตัวจำนวนทศนิยม)

Floating Point Type เป็นชนิดข้อมูลแบบตัวเลขทศนิยม
ที่สำมำรถนำไปคำนวณทำงคณิตศำสตร์ได้ ซึ่งอำจจะมีจุด
ทศนิ ย มหรื อ ไม่ มี จุ ด ทศนิ ย มก็ ไ ด้ โดยสำมำรถเขี ย นในรู ป
ทศนิยมได้ ดังนี้
• เลขทศนิยม เช่น 12.568, -13.5
• เลขทศนิยมแบบยกกำลัง เช่น 2.004E+5, 4.10956E-25
ซึ่ง 2.004E+5 ก็คอ 2.004 x 105
ื
ส่วน 4.10956E ก็คอ 4.10956 x 10-25
ื
ตำรำงแสดงขนำดและขอบเขตข้อมูล
ชนิดข้อมูล

ขนำดไบต์

ช่วงข้อมูล

float
double
long double

4
8
10

3.4 x 10-38 ถึง 3.4 x 1038

1.7 x 10-308 ถึง 1.7 x 10308
3.4 x 10-4932 ถึง 1.1 x 104932
จุดสังเกตพบว่ำ ชนิดข้อมูลแบบทศนิยมจะเป็นแบบ signed (คิด
เครื่องหมำย) เสมอ ซึ่งเรำสำมำรถกำหนดค่ำให้ตัวแปร โดยคำนึงถึง
ข้อกำหนดดังนี้จะต้องเป็นค่ำตัวเลขที่สำมำรถมีจุดทศนิยมได้
• ห้ำมใช้เครื่องหมำย , หรือช่องว่ำงคั่นระหว่ำงตัวเลข เช่น 1,234.03
• กรณีเป็นค่ำบวกไม่จำเป็นต้องใส่เครื่องหมำย + นำหน้ำค่ำ แต่ใน
กรณีเป็นค่ำลบต้องใส่เครื่องหมำย – นำหน้ำค่ำเสมอ
• กำรเขียนในรูปแบบใช้ตัวอักษร E ค่ำที่ถูกกำหนดสำมำรถกำหนด
ได้ทั้งค่ำบวกและค่ำลบ
• สำมำรถใช้เครื่องหมำย suffix ต่อท้ำยค่ำที่กำหนดให้ตัวแปรได้
โดยใช้ L ต่อท้ำยชนิดข้อมูล long double หรือใช้ F ต่อท้ำยค่ำที่เป็น
double (ใช้ตัวพิมพ์ใหญ่หรือเล็กควำมหมำยเหมือนกัน)
ค่ำคงที่ (Constants)
ค่ำคงที่ (Constants) คือ ค่ำข้อมูลชนิดใดชนิดหนึ่งที่ไม่มีกำรเปลี่ยนแปลงใน
ขณะที่โปรแกรมทำงำน ตัวอย่ำงเช่น ค่ำ  ซึ่งมีค่ำเท่ำกับ 3.14 เป็นต้น ซึ่งใน
ภำษำ C สำมำรถใช้งำนค่ำคงที่ได้ 3 รูปแบบดังนี้
1. ระบุค่ำโดยตรง (Literal Constants) เป็นกำรกำหนด
ค่ำคงที่เพื่อใช้งำนโดยตรง โดยไม่มีกำรกำหนดค่ำผ่ำนตัวแปร
ใด ๆ ทั้งสิ้น ตัวอย่ำงเช่น ‘I’, “Love Thailand”, ‘007’ เป็นต้น
2. นิยำมโดย # (Defined Constants) เป็นกำรกำหนดค่ำคงที่
โดยกำรประกำศใช้งำนไว้ในส่วนของเฮดเดอร์ไฟล์

3. เก็บไว้ในตัวแปร (Memory Constants) เป็นกำรกำหนด
ค่ำคงที่ในรูปแบบของตัวแปร
กฎของกำรแปลงชนิดของข้อมูล
(Data Type Conversion)
ในกำรเขียนโปรแกรมเพื่อกำหนดกำรทำงำนอย่ำงใดอย่ำงหนึ่ง บำครั้ง
อำจมีชนิดข้อมูลต่ำง ๆ ในกำรประมวลผลมำกกว่ำ 1 ชนิด ดังนั้น ก่อน
ประมวลผลข้อมูลก็ควรแปลงข้อมูลต่ำง ๆ ให้มีชนิดข้อมูลเดียวกันก่อน
หลักในกำรแปลงชนิดของข้อมูล ซึ่งสำมำรถแปลงได้ 2 วิธีดงนี้
ั

Implicit Type Conversion

Explicit Type Conversion
Implicit Type Conversion
Implicit Type Conversion
หลักกำรแปลงชนิดข้อมูลในวิธีนี้คือ คอมไพเลอร์จะทำหน้ำที่แปลง
ชนิดข้อมูลของข้อมูลที่มีค่ำนัยสำคัญต่ำไปเป็นชนิดข้อมูลชนิดเดียวกันกับข้อมูล
ที่มีค่ำนัยสำคัญสูงกว่ำในชุดคำสั่งนั้น ๆ โดยอัตโนมัติ สำหรับลำดับนัยสำคัญ
Long double
ของชนิดข้อมูล สำมำรถอธิบำยได้ ดังรูป
double
float

unsigned long int

long int
unsigned int

int
short
char

ลำดับนัยสำคัญ
(Signifiance)
Explicit Type Conversion (Casting)

เป็นกำรเปลี่ยนประเภทชนิดข้อมูลเป็นชนิดข้อมูลตำมที่เรำต้องกำร
โดยใช้ Explicit Type Conversion (Casting) ซึ่งมีรูปแบบดังนี้
(DataType) ExpressionOrVariableName

โดยที่ DataType คือ ชนิดข้อมูลปลำยทำง
ExpressionOrVariableName คือ นิพจน์หรือตัวแปรที่ต้องกำร
แปลงข้อมูล
ที่มำ : คู่มืออบรมครูวิทยำศำสตร์ คณิตศำสตร์ คอมพิวเตอร์ โลก ดำรำศำสตร์ และอวกำศ ระดับมัธยมศึกษำตอนปลำย
หนังสือเรียนรำยวิชำเพิ่มเติม กำรเขียนโปรแกรมเบื้องต้นด้วยภำษำ C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภำษำ สำนักพิมพ์ IDC PREMIER

3.3 ชนิดของข้อมูล

  • 2.
    กำรประกำศตัวแปรควรเลือกใช้ชนิดข้อมูลที่เหมำะสม และตั้ง ชื่อตัวแปรตำมกฎในกำรตั้งชื่อเสมอ ซึ่งชนิดข้อมูลต่ำงๆ ในภำษำ C มี ดังนี้ 1 Integer Type (ชนิดข้อมูลแบบจำนวนเต็ม) 2 Character Type (ชนิดข้อมูลแบบตัวอักษร) 3 String Type (ชนิดข้อมูลแบบข้อควำม) 4 Floating Type (ชนิดข้อมูลแบบจำนวนทศนิยม)
  • 3.
    1 Integer Type (ชนิดข้อมูลแบบจำนวนเต็ม) Integer เป็นชนิดข้อมูลแบบจำนวนเต็ม ประกอบไปด้วย จ ำนวนเต็ ม บวก จ ำนวนเต็ ม ลบ และจ ำนวนเต็ ม ศู น ย์ ซึ่ ง ใน ภำษำ C ได้แบ่งจำนวนเต็มออกเป็นชนิดต่ำง ๆ ซึ่งแต่ละชนิดมี ขนำดและขอบเขตของกำรใช้งำนที่แตกต่ำงกั น กำรเลือกใช้ จำนวนเต็มชนิดใดในกำรประกำศตัวแปรนั้นก็ขึ้นอยู่กับขนำดใน กำรจัดเก็บข้อมูลของตัวแปรนั้น ๆ
  • 4.
    1 Integer Type(ชนิดข้อมูลแบบจำนวนเต็ม) ในข้อมูลชนิดเดียวกันของภำษำ C อำจจะมีควำมแตกต่ำงใน เรื่องของขนำดและขอบเขตชนิดข้อมูลได้ ซึ่งจะขึ้นอยู่กับระบบปฏิบัติกำร ที่ใช้งำน เช่น • ในระบบปฏิบัติกำร 16 บิต ข้อมูลชนิด int จะเป็น 16 บิต หรือ 2 ไบต์ • ในระบบปฏิบัติกำร 32 บิต ข้อมูลชนิด int จะเป็น 32 บิต หรือ 4 ไบต์
  • 5.
    ตำรำงแสดงขนำดและขอบเขตข้อมูล ชนิดข้อมูล Short int int กำรคิดเครืองหมำย ่ signed (คิดเครื่องหมำย) unsigned(ไม่คิดเครืองหมำย) ่ signed (คิดเครื่องหมำย) ขนำดไบต์ 2 4 unsigned (ไม่คิดเครืองหมำย) ่ Long int signed (คิดเครื่องหมำย) unsigned (ไม่คิดเครืองหมำย) ่ 4 ช่วงข้อมูล -32,768 ถึง 32,767 0 ถึง 65,535 -2,147,483,648 ถึง 2,147,483,647 0 ถึง 4,294,967,295 -2,147,483,648 ถึง 2,147,483,647 0 ถึง 4,294,967,295
  • 6.
    กำรกำหนดค่ำให้กับตัวแปรชนิดจำนวนเต็ม • จะต้องเป็นค่ำตัวเลขไม่มีจุดทศนิยม • ห้ำมใช้เครื่องหมำย, หรือช่องว่ำงคั่นระหว่ำงตัวเลข เช่น 1,234 ซึ่งถือว่ำผิด • กรณีเป็นค่ำบวกไม่จำเป็นต้องใส่เครื่องหมำย + นำหน้ำค่ำ แต่ กรณีเป็นค่ำลบต้องใส่เครื่องหมำย – นำหน้ำค่ำ • ช่วงตัวเลขจำนวนเต็มควรอยู่ในช่วงชนิดข้อมูลนั้น ๆ • สำมำรถใช้เครื่องหมำย suffix ต่อท้ำยค่ำที่กำหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ำยชนิดข้อมูล long หรือใช้ U ต่อท้ำยค่ำเป็น unsigned (ใช้ตัวพิมพ์ใหญ่หรือเล็กควำมหมำยเหมือนกัน)
  • 7.
    2 Character Type(ชนิดข้อมูลแบบตัวอักษร) Char เป็นชนิดข้อมูลแบบอักษรตัวเดียว มีขนำด 1 ไบต์ หรือ 8 บิต โดยจะกำหนดค่ำอยู่ในเครื่องหมำย ‘ ’ ซึ่งเป็นได้ทั้ง ตั ว อั ก ษร (Letter), ตั ว เลข (Digit) และสั ญ ลั ก ษณ์ พิ เ ศษ (Special Symbols) ลักษณะสำคัญของข้อมูลชนิดนี้คือ ไม่ สำมำรถนำไปคำนวณได้ ตัวอย่ำงเช่น ตัวอักษร ‘2’ แตกต่ำง จำกตัวเลข 2 ดังนั้น ‘2’ + 3 จึงไม่สำมำรถประมวลผลได้ในกำร เขียนโปรแกรมภำษำ C
  • 8.
    3 String Type(ชนิดข้อมูลแบบตัวข้อควำม) ในควำมจริงนั้น ตัวแปรชนิดข้อควำมไม่มีกำรกำหนดไว้ใน ภำษำ C แต่เรำสำมำรถใช้ตัวแปรชนิดข้อควำมในรูปแบบของ ชุดตัวแปรอักขระได้โดยใช้เทคนิคในเรื่องของ Array เข้ำมำช่วย กำรก ำหนดค่ ำ ข้ อ ควำมให้ กั บ ตั ว แปรจะอยู่ ภ ำยใน เครื่องหมำย (“ ”) โดยในกำรสร้ำงต้องประกำศขนำด Array ไว้ล่วงหน้ำ เพื่อเป็นกำรจองพื้นที่สำหรับขนำดของข้อมูล เหนื่อย ก็ นัก พักก่อน
  • 9.
    4 Floating PointType (ชนิดข้อมูลแบบตัวจำนวนทศนิยม) Floating Point Type เป็นชนิดข้อมูลแบบตัวเลขทศนิยม ที่สำมำรถนำไปคำนวณทำงคณิตศำสตร์ได้ ซึ่งอำจจะมีจุด ทศนิ ย มหรื อ ไม่ มี จุ ด ทศนิ ย มก็ ไ ด้ โดยสำมำรถเขี ย นในรู ป ทศนิยมได้ ดังนี้ • เลขทศนิยม เช่น 12.568, -13.5 • เลขทศนิยมแบบยกกำลัง เช่น 2.004E+5, 4.10956E-25 ซึ่ง 2.004E+5 ก็คอ 2.004 x 105 ื ส่วน 4.10956E ก็คอ 4.10956 x 10-25 ื
  • 10.
  • 11.
    จุดสังเกตพบว่ำ ชนิดข้อมูลแบบทศนิยมจะเป็นแบบ signed(คิด เครื่องหมำย) เสมอ ซึ่งเรำสำมำรถกำหนดค่ำให้ตัวแปร โดยคำนึงถึง ข้อกำหนดดังนี้จะต้องเป็นค่ำตัวเลขที่สำมำรถมีจุดทศนิยมได้ • ห้ำมใช้เครื่องหมำย , หรือช่องว่ำงคั่นระหว่ำงตัวเลข เช่น 1,234.03 • กรณีเป็นค่ำบวกไม่จำเป็นต้องใส่เครื่องหมำย + นำหน้ำค่ำ แต่ใน กรณีเป็นค่ำลบต้องใส่เครื่องหมำย – นำหน้ำค่ำเสมอ • กำรเขียนในรูปแบบใช้ตัวอักษร E ค่ำที่ถูกกำหนดสำมำรถกำหนด ได้ทั้งค่ำบวกและค่ำลบ • สำมำรถใช้เครื่องหมำย suffix ต่อท้ำยค่ำที่กำหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ำยชนิดข้อมูล long double หรือใช้ F ต่อท้ำยค่ำที่เป็น double (ใช้ตัวพิมพ์ใหญ่หรือเล็กควำมหมำยเหมือนกัน)
  • 12.
    ค่ำคงที่ (Constants) ค่ำคงที่ (Constants)คือ ค่ำข้อมูลชนิดใดชนิดหนึ่งที่ไม่มีกำรเปลี่ยนแปลงใน ขณะที่โปรแกรมทำงำน ตัวอย่ำงเช่น ค่ำ  ซึ่งมีค่ำเท่ำกับ 3.14 เป็นต้น ซึ่งใน ภำษำ C สำมำรถใช้งำนค่ำคงที่ได้ 3 รูปแบบดังนี้ 1. ระบุค่ำโดยตรง (Literal Constants) เป็นกำรกำหนด ค่ำคงที่เพื่อใช้งำนโดยตรง โดยไม่มีกำรกำหนดค่ำผ่ำนตัวแปร ใด ๆ ทั้งสิ้น ตัวอย่ำงเช่น ‘I’, “Love Thailand”, ‘007’ เป็นต้น 2. นิยำมโดย # (Defined Constants) เป็นกำรกำหนดค่ำคงที่ โดยกำรประกำศใช้งำนไว้ในส่วนของเฮดเดอร์ไฟล์ 3. เก็บไว้ในตัวแปร (Memory Constants) เป็นกำรกำหนด ค่ำคงที่ในรูปแบบของตัวแปร
  • 13.
    กฎของกำรแปลงชนิดของข้อมูล (Data Type Conversion) ในกำรเขียนโปรแกรมเพื่อกำหนดกำรทำงำนอย่ำงใดอย่ำงหนึ่งบำครั้ง อำจมีชนิดข้อมูลต่ำง ๆ ในกำรประมวลผลมำกกว่ำ 1 ชนิด ดังนั้น ก่อน ประมวลผลข้อมูลก็ควรแปลงข้อมูลต่ำง ๆ ให้มีชนิดข้อมูลเดียวกันก่อน หลักในกำรแปลงชนิดของข้อมูล ซึ่งสำมำรถแปลงได้ 2 วิธีดงนี้ ั Implicit Type Conversion Explicit Type Conversion
  • 14.
    Implicit Type Conversion ImplicitType Conversion หลักกำรแปลงชนิดข้อมูลในวิธีนี้คือ คอมไพเลอร์จะทำหน้ำที่แปลง ชนิดข้อมูลของข้อมูลที่มีค่ำนัยสำคัญต่ำไปเป็นชนิดข้อมูลชนิดเดียวกันกับข้อมูล ที่มีค่ำนัยสำคัญสูงกว่ำในชุดคำสั่งนั้น ๆ โดยอัตโนมัติ สำหรับลำดับนัยสำคัญ Long double ของชนิดข้อมูล สำมำรถอธิบำยได้ ดังรูป double float unsigned long int long int unsigned int int short char ลำดับนัยสำคัญ (Signifiance)
  • 15.
    Explicit Type Conversion(Casting) เป็นกำรเปลี่ยนประเภทชนิดข้อมูลเป็นชนิดข้อมูลตำมที่เรำต้องกำร โดยใช้ Explicit Type Conversion (Casting) ซึ่งมีรูปแบบดังนี้ (DataType) ExpressionOrVariableName โดยที่ DataType คือ ชนิดข้อมูลปลำยทำง ExpressionOrVariableName คือ นิพจน์หรือตัวแปรที่ต้องกำร แปลงข้อมูล
  • 16.
    ที่มำ : คู่มืออบรมครูวิทยำศำสตร์คณิตศำสตร์ คอมพิวเตอร์ โลก ดำรำศำสตร์ และอวกำศ ระดับมัธยมศึกษำตอนปลำย หนังสือเรียนรำยวิชำเพิ่มเติม กำรเขียนโปรแกรมเบื้องต้นด้วยภำษำ C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภำษำ สำนักพิมพ์ IDC PREMIER