类型 | 存储大小 | 值范围 |
---|---|---|
char | 1 字节 | -128 到 127 或 0 到 255 |
unsigned char | 1 字节 | 0 到 255 |
signed char | 1 字节 | -128 到 127 |
int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 字节 | -32,768 到 32,767 |
unsigned short | 2 字节 | 0 到 65,535 |
long | 4 字节 | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 字节 | 0 到 4,294,967,295 |
#include<stdio.h> #include<limits.h> #include<float.h> int main() { /*定义相应数据类型的变量*/ char cChar;//定义字符型变量 int iInt1;//定义整型变量 short sShort=8;//定义short型变量,并初始化 long lLong;//定义long型变量 float fFloat;//定义浮点型变量 double dDouble;//定义双精度型变量 printf("char 存储大小:%d字节。\n",sizeof(char));//%d为数字占位符 printf("int 存储大小:%lu字节。\n",sizeof(int));//%lu 为 32 位无符号整数 printf("short 存储大小:%lu字节。\n",sizeof(short)); printf("long 存储大小:%lu字节。\n",sizeof(long)); printf("float 存储大小:%lu字节。\n",sizeof(float));//%E 为以指数形式输出单双精度实数 printf("float 最小值:%e。\n",FLT_MIN); printf("float 最大值:%e。\n",FLT_MAX); printf("float 精度值:%d。\n",FLT_DIG); printf("double 存储大小:%lu字节。\n",sizeof(double));//%E 为以指数形式输出单双精度实数 printf("double 最小值:%e。\n",DBL_MIN); printf("double 最大值:%E。\n",DBL_MAX); printf("double 精度值:%d。\n",DBL_DIG); return 0; }