C语言中的数据类型及输出格式

一.常用的几种数据类型

//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 
#include 

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位小数
}

输出结果是:
C语言中的数据类型及输出格式_第1张图片


这里需要说明一下:long类型和long long类型都可以用%d输出,但是还是建议用上述的输出格式,这样更标准,不会出错,还有%f跟%lf都建议用标准写法

三.为什么要有这么多类型及相似类型的区别?

简单地说就是为了减少内存消耗,在上面我写了int占有4字节,那么先解释一下什么是字节:
计算机中的存储单位(从小到大):bit-比特位;byte- 字节;kb;mb;gb;tb等等,计算机中只有0和1,那么怎么存储0和1?这就需要开辟一个内存空间,就是一个比特位。也就是说比特位只能存0或1即存储二进制,是计算机中最小的存储单位。
一个字节是8个比特位,之后的间距都是1024,如1mb=1024kb;
C语言中的数据类型及输出格式_第2张图片
所谓的类型就是申请内存空间,比如short类型占两个字节就是16个比特位,那也就是说最大就是2^16-1,而int类型就是最大是2^32-1

 

你可能感兴趣的:(c语言)