c语言的格式字符
格式说明由“%”和字符组成,作用是将输出的数据转化为指定的格式输出
eg:格式字符有 d,o,x,u,c,s,f,e,g
%d,%i :以有符号十进制整形输出(%i不常用)%-2d数据输出左对齐。
%ld:以长整型输出
%o:以无符号八进制整型输出
%e:以指数形式输出实数,不指定输出数据所占的宽度和数字部分的小数位数
%x:以无符号十六进制整型输出,或者输出字符串的地址(当%X格式输出,就是以大写字母输出)
> int a=-1;
> printf("%d\t%o\n",a,a);
> 输出为:-1 37777777777
> 解释:-1在内存中以补码形式存放
> 1111 1111 1111 1111 1111 1111 1111 1111
> 以八进制打印的时候三位构成一组八进制数形式
> 11 111 111 111 111 111 111 111 111 111 111
> 3 7 7 7 7 7 7 7 7 7 7
> 若是以十六进制输出,四位构成一组十六进制数形式
> 1111 1111 1111 1111 1111 1111 1111 1111
> f f f f f f f f
%u:以十进制无符号整形形式输出
%c:用来输出一个字符(也可以指定域宽(所占列数)eg:%5c
)
%s:用来输出一个字符串。
f格式符:用来输出(包括单,双精度,长双精度),以小数形式输出。
有以下几种用法:
1. %f :不指定输出数据长度,实数部分全部输出,小数部分输出六位。
2. %m.nf
:例如,%7.2f
:指定输出数据占七列,包括2位小数,如果数值长度小于m,则左端补空格
3.%m.ns
输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。