1 
Integer Type (ชนิดข้อมูลแบบจานวนเต็ม) 
2 
Character Type (ชนิดข้อมูลแบบตัวอักษร) 
34 
การประกาศตัวแปรควรเลือกใช้ชนิดข้อมูลที่เหมาะสม และตั้ง ชื่อตัวแปรตามกฎในการตั้งชื่อเสมอ ซึ่งชนิดข้อมูลต่าง ๆ ในภาษา C มี ดังนี้ 
String Type (ชนิดข้อมูลแบบข้อความ) 
Floating Type (ชนิดข้อมูลแบบจานวนทศนิยม)
1 
Integer Type (ชนิดข้อมูลแบบจานวนเต็ม) Integer เป็นชนิดข้อมูลแบบจานวนเต็ม ประกอบไปด้วย จานวนเต็มบวก จานวนเต็มลบ และจานวนเต็มศูนย์ ซึ่งใน ภาษา C ได้แบ่งจานวนเต็มออกเป็นชนิดต่าง ๆ ซึ่งแต่ละชนิดมี ขนาดและขอบเขตของการใช้งานที่แตกต่างกัน การเลือกใช้ จานวนเต็มชนิดใดในการประกาศตัวแปรนั้นก็ขึ้นอยู่กับขนาดใน การจัดเก็บข้อมูลของตัวแปรนั้น ๆ
1 
Integer Type (ชนิดข้อมูลแบบจานวนเต็ม) 
ในข้อมูลชนิดเดียวกันของภาษา C อาจจะมีความแตกต่างใน เรื่องของขนาดและขอบเขตชนิดข้อมูลได้ ซึ่งจะขึ้นอยู่กับระบบปฏิบัติการ ที่ใช้งาน เช่น 
•ในระบบปฏิบัติการ 16 บิต ข้อมูลชนิด intจะเป็น 16 บิต หรือ 2 ไบต์ 
•ในระบบปฏิบัติการ 32 บิต ข้อมูลชนิด intจะเป็น 32 บิต หรือ 4ไบต์
การกาหนดค่าให้กับตัวแปรชนิดจานวนเต็ม 
•จะต้องเป็นค่าตัวเลขไม่มีจุดทศนิยม 
•ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นระหว่างตัวเลข เช่น 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 ไว้ล่วงหน้า เพื่อเป็นการจองพื้นที่สาหรับขนาดของข้อมูล เหนื่อย 
นัก 
ก็ 
พักก่อน
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-254 
Floating Point Type (ชนิดข้อมูลแบบตัวจานวนทศนิยม)
ชนิดข้อมูล 
ขนาดไบต์ 
ช่วงข้อมูล 
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 (ใช้ตัวพิมพ์ใหญ่หรือเล็กความหมายเหมือนกัน)
ชนิดข้อมูล 
ขนาดไบต์ 
ช่วงข้อมูล 
Char 
8 บิต 
ASCII character (-128 ถึง 127) 
Unsigned char 
8 บิต 
0-255 
Signed char 
8 บิต 
-128 ถึง 127 
Int 
16 บิต 
-32768 ถึง 32767 
Unsigned int 
16 บิต 
0 ถึง 65535 
Unsigned long int 
32 บิต 
0 ถึง 4294967296ตารางแสดงขนาดและขอบเขตข้อมูล
ค่าคงที่ (Constants) 
1. ระบุค่าโดยตรง (Literal Constants)เป็นการกาหนด ค่าคงที่เพื่อใช้งานโดยตรง โดยไม่มีการกาหนดค่าผ่านตัวแปร ใด ๆ ทั้งสิ้น ตัวอย่างเช่น ‘I’, ‚Love Thailand‛, ‘007’ เป็นต้น 
2. นิยามโดย # (Defined Constants) เป็นการกาหนดค่าคงที่ โดยการประกาศใช้งานไว้ในส่วนของเฮดเดอร์ไฟล์ 3. เก็บไว้ในตัวแปร (Memory Constants) เป็นการกาหนด ค่าคงที่ในรูปแบบของตัวแปร 
ค่าคงที่ (Constants) คือ ค่าข้อมูลชนิดใดชนิดหนึ่งที่ไม่มีการเปลี่ยนแปลงใน ขณะที่โปรแกรมทางาน ตัวอย่างเช่น ค่า  ซึ่งมีค่าเท่ากับ 3.14 เป็นต้น ซึ่งใน ภาษา C สามารถใช้งานค่าคงที่ได้ 3 รูปแบบดังนี้
กฎของการแปลงชนิดของข้อมูล (Data Type Conversion) Implicit Type Conversion 
ในการเขียนโปรแกรมเพื่อกาหนดการทางานอย่างใดอย่างหนึ่ง บาครั้ง อาจมีชนิดข้อมูลต่าง ๆ ในการประมวลผลมากกว่า 1 ชนิด ดังนั้น ก่อน ประมวลผลข้อมูลก็ควรแปลงข้อมูลต่าง ๆ ให้มีชนิดข้อมูลเดียวกันก่อน หลักในการแปลงชนิดของข้อมูล ซึ่งสามารถแปลงได้ 2 วิธีดังนี้ 
Explicit Type Conversion
charImplicit Type ConversionImplicit Type Conversionหลักการแปลงชนิดข้อมูลในวิธีนี้คือ คอมไพเลอร์จะทาหน้าที่แปลง ชนิดข้อมูลของข้อมูลที่มีค่านัยสาคัญต่าไปเป็นชนิดข้อมูลชนิดเดียวกันกับข้อมูล ที่มีค่านัยสาคัญสูงกว่าในชุดคาสั่งนั้น ๆ โดยอัตโนมัติ สาหรับลาดับนัยสาคัญ ของชนิดข้อมูล สามารถอธิบายได้ ดังรูป 
ลาดับนัยสาคัญ 
(Signifiance) shortintunsigned int 
long int 
unsigned long int 
floatdouble 
Long double
Explicit Type Conversion (Casting) เป็นการเปลี่ยนประเภทชนิดข้อมูลเป็นชนิดข้อมูลตามที่เราต้องการ โดยใช้ Explicit Type Conversion (Casting) ซึ่งมีรูปแบบดังนี้ โดยที่ DataType คือ ชนิดข้อมูลปลายทาง ExpressionOrVariableNameคือ นิพจน์หรือตัวแปรที่ต้องการ แปลงข้อมูล 
(DataType) ExpressionOrVariableName
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

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

  • 2.
    1 Integer Type(ชนิดข้อมูลแบบจานวนเต็ม) 2 Character Type (ชนิดข้อมูลแบบตัวอักษร) 34 การประกาศตัวแปรควรเลือกใช้ชนิดข้อมูลที่เหมาะสม และตั้ง ชื่อตัวแปรตามกฎในการตั้งชื่อเสมอ ซึ่งชนิดข้อมูลต่าง ๆ ในภาษา C มี ดังนี้ String Type (ชนิดข้อมูลแบบข้อความ) Floating Type (ชนิดข้อมูลแบบจานวนทศนิยม)
  • 3.
    1 Integer Type(ชนิดข้อมูลแบบจานวนเต็ม) Integer เป็นชนิดข้อมูลแบบจานวนเต็ม ประกอบไปด้วย จานวนเต็มบวก จานวนเต็มลบ และจานวนเต็มศูนย์ ซึ่งใน ภาษา C ได้แบ่งจานวนเต็มออกเป็นชนิดต่าง ๆ ซึ่งแต่ละชนิดมี ขนาดและขอบเขตของการใช้งานที่แตกต่างกัน การเลือกใช้ จานวนเต็มชนิดใดในการประกาศตัวแปรนั้นก็ขึ้นอยู่กับขนาดใน การจัดเก็บข้อมูลของตัวแปรนั้น ๆ
  • 4.
    1 Integer Type(ชนิดข้อมูลแบบจานวนเต็ม) ในข้อมูลชนิดเดียวกันของภาษา C อาจจะมีความแตกต่างใน เรื่องของขนาดและขอบเขตชนิดข้อมูลได้ ซึ่งจะขึ้นอยู่กับระบบปฏิบัติการ ที่ใช้งาน เช่น •ในระบบปฏิบัติการ 16 บิต ข้อมูลชนิด intจะเป็น 16 บิต หรือ 2 ไบต์ •ในระบบปฏิบัติการ 32 บิต ข้อมูลชนิด intจะเป็น 32 บิต หรือ 4ไบต์
  • 5.
    การกาหนดค่าให้กับตัวแปรชนิดจานวนเต็ม •จะต้องเป็นค่าตัวเลขไม่มีจุดทศนิยม •ห้ามใช้เครื่องหมาย, หรือช่องว่างคั่นระหว่างตัวเลข เช่น 1,234 ซึ่งถือว่าผิด •กรณีเป็นค่าบวกไม่จาเป็นต้องใส่เครื่องหมาย + นาหน้าค่า แต่ กรณีเป็นค่าลบต้องใส่เครื่องหมาย –นาหน้าค่า •ช่วงตัวเลขจานวนเต็มควรอยู่ในช่วงชนิดข้อมูลนั้น ๆ •สามารถใช้เครื่องหมาย suffix ต่อท้ายค่าที่กาหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ายชนิดข้อมูล long หรือใช้ U ต่อท้ายค่าเป็น unsigned (ใช้ตัวพิมพ์ใหญ่หรือเล็กความหมายเหมือนกัน)
  • 6.
    2 Character Type(ชนิดข้อมูลแบบตัวอักษร) Char เป็นชนิดข้อมูลแบบอักษรตัวเดียว มีขนาด 1 ไบต์ หรือ 8 บิต โดยจะกาหนดค่าอยู่ในเครื่องหมาย ‘ ’ ซึ่งเป็นได้ทั้ง ตัวอักษร (Letter), ตัวเลข (Digit) และสัญลักษณ์พิเศษ (Special Symbols) ลักษณะสาคัญของข้อมูลชนิดนี้คือ ไม่ สามารถนาไปคานวณได้ ตัวอย่างเช่น ตัวอักษร ‘2’ แตกต่าง จากตัวเลข 2 ดังนั้น ‘2’ + 3 จึงไม่สามารถประมวลผลได้ในการ เขียนโปรแกรมภาษา C
  • 7.
    3 String Type(ชนิดข้อมูลแบบตัวข้อความ) ในความจริงนั้น ตัวแปรชนิดข้อความไม่มีการกาหนดไว้ใน ภาษา C แต่เราสามารถใช้ตัวแปรชนิดข้อความในรูปแบบของ ชุดตัวแปรอักขระได้โดยใช้เทคนิคในเรื่องของ Array เข้ามาช่วย การกาหนดค่าข้อความให้กับตัวแปรจะอยู่ภายใน เครื่องหมาย (‚ ‛) โดยในการสร้างต้องประกาศขนาด Array ไว้ล่วงหน้า เพื่อเป็นการจองพื้นที่สาหรับขนาดของข้อมูล เหนื่อย นัก ก็ พักก่อน
  • 8.
    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-254 Floating Point Type (ชนิดข้อมูลแบบตัวจานวนทศนิยม)
  • 9.
    ชนิดข้อมูล ขนาดไบต์ ช่วงข้อมูล 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ตารางแสดงขนาดและขอบเขตข้อมูล
  • 10.
    จุดสังเกตพบว่า ชนิดข้อมูลแบบทศนิยมจะเป็นแบบ signed(คิด เครื่องหมาย) เสมอ ซึ่งเราสามารถกาหนดค่าให้ตัวแปร โดยคานึงถึง ข้อกาหนดดังนี้จะต้องเป็นค่าตัวเลขที่สามารถมีจุดทศนิยมได้ •ห้ามใช้เครื่องหมาย , หรือช่องว่างคั่นระหว่างตัวเลข เช่น 1,234.03 •กรณีเป็นค่าบวกไม่จาเป็นต้องใส่เครื่องหมาย + นาหน้าค่า แต่ใน กรณีเป็นค่าลบต้องใส่เครื่องหมาย –นาหน้าค่าเสมอ •การเขียนในรูปแบบใช้ตัวอักษร E ค่าที่ถูกกาหนดสามารถกาหนด ได้ทั้งค่าบวกและค่าลบ •สามารถใช้เครื่องหมาย suffix ต่อท้ายค่าที่กาหนดให้ตัวแปรได้ โดยใช้ L ต่อท้ายชนิดข้อมูล long double หรือใช้ F ต่อท้ายค่าที่เป็น double (ใช้ตัวพิมพ์ใหญ่หรือเล็กความหมายเหมือนกัน)
  • 11.
    ชนิดข้อมูล ขนาดไบต์ ช่วงข้อมูล Char 8 บิต ASCII character (-128 ถึง 127) Unsigned char 8 บิต 0-255 Signed char 8 บิต -128 ถึง 127 Int 16 บิต -32768 ถึง 32767 Unsigned int 16 บิต 0 ถึง 65535 Unsigned long int 32 บิต 0 ถึง 4294967296ตารางแสดงขนาดและขอบเขตข้อมูล
  • 12.
    ค่าคงที่ (Constants) 1.ระบุค่าโดยตรง (Literal Constants)เป็นการกาหนด ค่าคงที่เพื่อใช้งานโดยตรง โดยไม่มีการกาหนดค่าผ่านตัวแปร ใด ๆ ทั้งสิ้น ตัวอย่างเช่น ‘I’, ‚Love Thailand‛, ‘007’ เป็นต้น 2. นิยามโดย # (Defined Constants) เป็นการกาหนดค่าคงที่ โดยการประกาศใช้งานไว้ในส่วนของเฮดเดอร์ไฟล์ 3. เก็บไว้ในตัวแปร (Memory Constants) เป็นการกาหนด ค่าคงที่ในรูปแบบของตัวแปร ค่าคงที่ (Constants) คือ ค่าข้อมูลชนิดใดชนิดหนึ่งที่ไม่มีการเปลี่ยนแปลงใน ขณะที่โปรแกรมทางาน ตัวอย่างเช่น ค่า  ซึ่งมีค่าเท่ากับ 3.14 เป็นต้น ซึ่งใน ภาษา C สามารถใช้งานค่าคงที่ได้ 3 รูปแบบดังนี้
  • 13.
    กฎของการแปลงชนิดของข้อมูล (Data TypeConversion) Implicit Type Conversion ในการเขียนโปรแกรมเพื่อกาหนดการทางานอย่างใดอย่างหนึ่ง บาครั้ง อาจมีชนิดข้อมูลต่าง ๆ ในการประมวลผลมากกว่า 1 ชนิด ดังนั้น ก่อน ประมวลผลข้อมูลก็ควรแปลงข้อมูลต่าง ๆ ให้มีชนิดข้อมูลเดียวกันก่อน หลักในการแปลงชนิดของข้อมูล ซึ่งสามารถแปลงได้ 2 วิธีดังนี้ Explicit Type Conversion
  • 14.
    charImplicit Type ConversionImplicitType Conversionหลักการแปลงชนิดข้อมูลในวิธีนี้คือ คอมไพเลอร์จะทาหน้าที่แปลง ชนิดข้อมูลของข้อมูลที่มีค่านัยสาคัญต่าไปเป็นชนิดข้อมูลชนิดเดียวกันกับข้อมูล ที่มีค่านัยสาคัญสูงกว่าในชุดคาสั่งนั้น ๆ โดยอัตโนมัติ สาหรับลาดับนัยสาคัญ ของชนิดข้อมูล สามารถอธิบายได้ ดังรูป ลาดับนัยสาคัญ (Signifiance) shortintunsigned int long int unsigned long int floatdouble Long double
  • 15.
    Explicit Type Conversion(Casting) เป็นการเปลี่ยนประเภทชนิดข้อมูลเป็นชนิดข้อมูลตามที่เราต้องการ โดยใช้ Explicit Type Conversion (Casting) ซึ่งมีรูปแบบดังนี้ โดยที่ DataType คือ ชนิดข้อมูลปลายทาง ExpressionOrVariableNameคือ นิพจน์หรือตัวแปรที่ต้องการ แปลงข้อมูล (DataType) ExpressionOrVariableName
  • 16.
    ที่มา : คู่มืออบรมครูวิทยาศาสตร์คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER