类型 | 存储大小 | 值范围 |
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;
}