一.常用的几种数据类型
//char 字符数据类型
//short 短整型(占用2字节)
//int 整型(占用4字节)
//long 长整型(Windows为4字节,也可以理解32位编译器中占4字节,64位编译器中占8字节)
//long long 更长的整型(8字节)
//float 单精度浮点数
//double 双精度浮点数
二.输出格式
%d - 打印整型
%hd - 打印short类型
%ld - 打印long类型
%lld - 打印long long类型
%c - 打印字符
%f - 打印浮点数
%lf - 打印双精度浮点数-也可以用%f但是最好用%lf
%p - 以地址形式打印
%x - 打印16进制数字,其中输出的字母为小写
%X - 打印16进制数字,其中输出的字母为大写
比如:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch='a';//字符用单引号,字符串用双引号
printf("ch为%c\n",ch);//"\n"是换行的意思
int a=15,b=16;
printf("a为%X\n",a);//输出15的十六进制,其中字母小写
printf("a为%x\n",b);//输出15的十六进制,其中字母大写
long k=124323;
printf("k为%ld\n",k);
double c=12.22;
printf("c为%lf\n",c);
float c1=12.22;
printf("c1为%f\n",c1);//%f和%lf输出的数都是小数点后保留6位小数
}
输出结果是:
这里需要说明一下:long类型和long long类型都可以用%d输出,但是还是建议用上述的输出格式,这样更标准,不会出错,还有%f跟%lf都建议用标准写法
三.为什么要有这么多类型及相似类型的区别?
简单地说就是为了减少内存消耗,在上面我写了int占有4字节,那么先解释一下什么是字节:
计算机中的存储单位(从小到大):bit-比特位;byte- 字节;kb;mb;gb;tb等等,计算机中只有0和1,那么怎么存储0和1?这就需要开辟一个内存空间,就是一个比特位。也就是说比特位只能存0或1即存储二进制,是计算机中最小的存储单位。
一个字节是8个比特位,之后的间距都是1024,如1mb=1024kb;
所谓的类型就是申请内存空间,比如short类型占两个字节就是16个比特位,那也就是说最大就是2^16-1,而int类型就是最大是2^32-1