您的位置:首页 > 其它

printf函数

2016-11-27 16:05 176 查看
首先直接描述printf函数中的“格式描述串”,它是由一系列的“格式转换说明符号”组成,格式转换说明符号的描述形式如下:

%[+][-] 0 m
[输出精度]<形式字母>

(1)形式字母:制定输出格式,如表

d:十进制整型数

i:十进制整型数

x:十六进制整型数

o:八进制整形数

u:无符号十进制整形数

c:单个字符

s:字符串

e:指数形式的浮点数

f:小数形式的浮点数

g:e 和 f 中比较短的一种

p:显示变量所在的内在地址

n:它不是向printf()传递格式化信息,而是令printf()把自己已经输出的字符总数放到相应的整形变量中

举例:

int i;

printf("hello%n",&i);

此时i的值为5.

(2):输出精度如果形式字母是d,x,o.u,则可以指定如下两类精度
l:long型输出精度
h:short型输出精度
默认时为int型精度
如:long x=123454578;printf("%d",x);
如果形式字母为e,f,g的时候,则指定l的 时候为double精度,不指定为float精度;

(3):m[.n]指定输出长度,如果输出的是实例,则m表示该项输出占用字符位置的总长度,n表示小数部分的字符长度,如float x=4.56;printf("%7.4f",x);

(4)0:指定不被使用的空位置填写0,入股不指定使用0,则不使用的位置为空白.该项仅仅对数值输出时才可以指定,对字符串输出不用指定.例如int x=234;printf("%05d",x);//00234printf("%5d",x);//**234

(5)[+][-]:指定输出位置,如果指定+或者缺省时为右对齐,如果为"-"的时候为左对齐;

 

1、d格式符:按十进制格式输出。

%d
输出数字长度为变量数值的实际长度
%md
m指定输出数据的宽度。当数据本身的实际宽度小于m时,则数据左端补空格;若大于m,则按数据的实际位数输出。
%ld,%mld
l(小写字母L)表示输出“长整型”数据
%0md,%0mld
0(数字0)表示位数不足m时补0
注:%后面的m(位数控制)、0(位数不足补0)对于其他格式符也适用。

2、s格式符:用来输出一个字符串。

%s
用来输出一个字符串,不含双引号. 例:printf("%s","CHINA");
%ms
m指定宽度(字符串长度小于m时左补空格,大于时按实际宽度输出)
%-ms
左对齐,不足m时右补空格
%m.ns
输出占m列,只取字符串中左端n个字符.这n各字符输出在m列的右侧,左补空格.
%-m.ns
同上,右补空格
 3、f格式符:按实数格式输出。

%f
整数部分全部显示出来,小数部分显示6位.但并不是显示的所有数字都是有效数字
%m.nf
指定数据的宽度共为m列,其中有n位小数.如果数值长度小于m,则左侧补空格。
%-m.nf
与%m.f类似,只是应在右侧补空格
4、e格式符:以指数形式输出实数。

%e
按规范化指数形式输出实数,系统自动给出6位小数,指数部分占5位
%m.ne
与前面的叙述相同
%-m.ne
与前面的叙述相同

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: