在初级的C语言,对于类型代码表与宽度,精度的掌握是非常重要的;下面作者举例一些我们必备的一些例子;
常见的类型代码;
%c:字符,对应char;
%d(%i):带符号十进制整数,这个应该是再熟悉不过了;其中%i是有一样的作用的,对应int;
%ld,%lld:长整型,int=long=32bit;long long=64bit。
%f,%lf,,%e,%le:浮点型,float占用4个字节(32位)存储空间来存储一个浮点数,包括符号位1位,阶码8位,尾数23位,double占用 8个字节(64位)存储空间来存储一个浮点数,包括符号位1位,阶码11位,尾数52位。%e以指数显示输入单精度,%le是双精度;
%e,%E:是不同的表示科学计数法的方法
%u,%o:无符号十进制与八进制整数,对应unsigned,octor;
为啥flag输出为4294967295,那是因为unsigbed是无符号的整型,与int一样是32bit,但取值范围是0到2^32-1;这里考虑数字数据的负数表达法的一些知识点;
%s,%n:字符串与已输出的字符数;%s常用于配合gets()和scanf(),printf(),可以输入和输出整条字符串,关于gets()有个知识点,可以跳转到"嘉嘉的队伍“;%n是可以计算已经输出的字符数;
%g,%G:e(E)或者f中选择短格式;
精度的几种用法
%0nd:取n位,不足前面补0,如%02d,常用于时间的表达;
%.nf或者%.nlf:保留n个小数,常于浮点型配套使用;
%n.m加类型:两者也可以结合使用,可用于字符和其他数据,当精度作用于%g,%G时,指的是有效数目;(%10.15s表示至少显示10个字符最多15个)。%m.nf,m表示这个数总共占多少位,n表示小数点后保留几位。;
%-n加类型:向左对齐n个字符
补充
&按位与,如果两个相应的二进制都位1,则改位的结果值为1,否则为0。|按位或运算
对于short类型,用%hd
对于scanf("%3d%*3d%d",&a,&b),输入111222333,可以%*3d跳过三位,a为111,b为333