写程序是为了解决生活中的问题,则写程序必须要有能力来描述生活中的问题,例如一件商品23.5元,这样的带有小数点的则称为浮点数;例如年龄15岁,年龄都是整数,这样的则是整型。
数据类型
类型 | 中文名 | 大小(字节) | 范围 |
char | 字符型 | 1 | -128~127 |
short | 短整型 | 2 | -32768~32767 |
int | 整型 | 4 | -2147483648~2147483647 |
unsigned int | 无符号整型 | 4 | 0~4294967295 |
long | 长整型 | 4 | -2147483648~2147483647 |
long long | 更长的整型 | 8 | -2^1024~2^1024 |
float | 单精度浮点数 | 4 | -3.4*10^38~3.4*10^38 |
double | 双精度浮点数 | 8 | -2^1024~2^1024 |
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。
unsigned 意思为无符号,从0开始,可以加在前面修饰
其中的short,long是两个限定符,用于限定整型
short int sh;
long int counter;
通常情况下,int都省略了,所以直接用short,long。
查看数据类型大小需要用sizeof(),以下是查看数据类型所占大小代码:
#include<stdio.h>
int main() {
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
补充:计算机中的单位
bit 比特 一个比特位储存一个二进制位 byte 字节 1 B = 8 bit
float与double区别
float : 单精度浮点数。 double : 双精度浮点数。
两者的主要区别如下:
1.在内存中占有的字节数不同
单精度浮点数在机内存占4个字节。
双精度浮点数在机内存占8个字节。
2.有效数字位数不同:
单精度浮点数有效数字8位。
双精度浮点数有效数字16位。
3.数值取值范围:
单精度浮点数的表示范围:-3.40E+38~3.40E+38。
双精度浮点数的表示范围:-1.79E+308~-1.79E+308。
double 和 float 的区别是double精度高,有效数字16位,float精度7位(可提供7位或8位有效数字,构成包括符号位、指数位和尾数位)。但double消耗内存是float的两倍,double的运算速度比float慢得多,能用单精度时不要用双精度。
数据类型的使用
#include<stdio.h>
int main() {
char name = '张三';
int age = 18;
float clothes = 150.2;
}