Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

เขียนโปรแกรม C แสดงช่วงค่าของชนิดข้อมูลทั้งหมดในรูปตาราง


ชนิดข้อมูลที่ใช้ในภาษา C ได้แก่ integer, short int, signed และ unsigned char เป็นต้น

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

ชนิดข้อมูลระบุชุดค่าและประเภทข้อมูลที่จัดเก็บในตัวแปรได้ ช่วยให้นักเขียนโปรแกรมเลือกประเภทที่เหมาะกับความต้องการของแอปพลิเคชัน

ชนิดข้อมูลมีดังนี้:

  • ชนิดข้อมูลหลัก (Primary data types)
  • ชนิดข้อมูลนำพา (Derived data types)

มาทำความเข้าใจชนิดข้อมูลหลัก

ชนิดข้อมูลหลัก

คอมไพเลอร์ C รองรับชนิดข้อมูลพื้นฐาน 4 ชนิด ดังนี้:

  • จำนวนเต็ม (Integer)
  • ตัวอักษร (Character)
  • จุดลอยตัว (Floating-point)
  • จุดลอยตัวความแม่นยำสองเท่า (Double precision floating point)

เขียนโปรแกรม C แสดงช่วงค่าของชนิดข้อมูลทั้งหมดในรูปตาราง

ชนิดข้อมูลจำนวนเต็ม (Integral Data Type)

ใช้จัดเก็บจำนวนเต็มและตัวอักษร แบ่งย่อยได้ 2 ประเภท:

  • ชนิดข้อมูลจำนวนเต็ม (Integer data type)
  • ชนิดข้อมูลตัวอักษร (Character data type)

ชนิดข้อมูลจำนวนเต็ม

ใช้จัดเก็บจำนวนเต็ม มี 3 ระดับการจัดเก็บ คือ short int, int, long int ในรูปแบบ signed และ unsigned ทั้งคู่

Integer Data Types
TypeSize (bytes)RangeControl String
short int (or) signed short int1-128 ถึง 127%h
unsigned short int10 ถึง 255%uh
int (or) signed int4-32768 ถึง 32767%d หรือ %i
unsigned int40 ถึง 65535%u
long int (or) signed long int4-2147483648 ถึง 2147483647%ld
unsigned long int40 ถึง 4294967295%lu

ชนิดข้อมูลตัวอักษร

ใช้จัดเก็บตัวอักษร ตัวอักษรเหล่านี้จัดเก็บภายในเป็นจำนวนเต็ม ทุกตัวอักษรมีค่า ASCII เทียบเท่า

ตัวอย่าง: 'A' มีค่า ASCII 65

Character Data Types
TypeSize (bytes)RangeControl String
Char (or) signed Char1-128 ถึง 127%c
unsigned Char10 ถึง 255%c

ชนิดข้อมูลจุดลอยตัว

  • ใช้จัดเก็บจำนวนจริง (คือ ตัวเลขที่มีจุดทศนิยม)
  • สำหรับความแม่นยำ 6 หลัก ใช้ 'float'
  • สำหรับความแม่นยำ 12 หลัก ใช้ 'double'
  • มากกว่า 12 หลัก ใช้ 'long double'
Floating Point Data Types
TypeSize (bytes)RangeControl String
float43.4E-38 ถึง 3.4E+38%f
double81.7E-308 ถึง 1.7E+308%lf
long double163.4E-4932 ถึง 1.1E+4932%Lf

ตัวอย่าง

โปรแกรม C รองรับ ชนิดข้อมูลหลัก:

#include <stdio.h>
#include <limits.h>

int main() {
    printf("DATA TYPE\t\t RANGE\n");
    printf("-----------\t\t---------\n");
    printf("short min\t\t%d\n", SHRT_MIN);
    printf("short max int\t\t%d\n", SHRT_MAX);
    printf("int min\t\t\t%d\n", INT_MIN);
    printf("int max\t\t\t%d\n", INT_MAX);
    printf("char min\t\t%d\n", CHAR_MIN);
    printf("char max\t\t%d\n", CHAR_MAX);
    printf("long min\t\t%ld\n", LONG_MIN);
    printf("long max\t\t%ld\n", LONG_MAX);
    printf("unsigned char\t\t%u\n", UCHAR_MAX);
    printf("unsigned long\t\t%lu\n", ULONG_MAX);
    printf("unsigned int\t\t%u\n", UINT_MAX);
    printf("unsigned short\t\t%u\n", USHRT_MAX);
    return 0;
}

ผลลัพธ์

ผลลัพธ์มีดังนี้:

DATA TYPE       RANGE
-----------     ---------
short min       -32768
short max int   32767
int min         -2147483648
int max         2147483647
char min        -128
char max        127
long min        -2147483648
long max        2147483647
unsigned char   255
unsigned long   4294967295
unsigned int    4294967295
unsigned short  65535