码迷,mamicode.com
首页 > 其他好文 > 详细

printf函数

时间:2016-06-26 16:41:02      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

打印基本类型

以下打印基本的数据类型, 如int, char, float等, 最后两行是以八进制和十六进制打印数字10

  1. int aint=10;
  2. float afloat=1.1;
  3. double adouble=2.2;
  4. char achar=‘a‘;
  5. char*str="string";
  6. printf("int aint=%d\n",aint);
  7. printf("float afloat=%f\n",afloat);
  8. printf("double adouble=%f\n",adouble);
  9. printf("char achar=%c\n",achar);
  10. printf("char *str=%s\n",str);
  11. printf("octal int aint=%o(8)\n",aint);
  12. printf("hex int aint=%x(16)\n",aint)

windows gcc输出:
技术分享

设置输出宽度

设置每个整数占10个位置, 默认为右对齐
如果数字的长度比设置的宽度大, 那么会忽略我们设置的输出宽度

  1. int a=1,b=2,c=3,d=4;
  2. printf("%10d, %10d\n", a, b);
  3. printf("%10d, %10d\n", a, b);

windows gcc输出:
技术分享

对齐,填充

在上一个例子中, 设置宽度后默认是右对齐, 我们可以在10前加一个-(减号)设置为左对齐
在上一个例子中, 当整数的长度少于我们设置的宽度时会用空格去填充,我们 可以在10前加一个0用0进行填充

  1. int a=1,b=2,c=3,d=4;
  2. printf("%-10d, %-10d\n", a, b);
  3. printf("%010d, %010d\n", a, b);

windows gcc输出:
技术分享

精度

在时浮点数字后面跟的小数点很长,如pi=3.1415… , 但我们只想看小数点后2位或3位
%.xf, 其中的x就是我们要保留的小数点后的位数,在x前面有个点号为精度标志

  1. double pi=3.1415926;
  2. printf("%.3f\n",pi);
  3. printf("%.6f\n",pi);

windows gcc输出:
技术分享

超长整数

%lld 用于输出像long long这类超长的整数, 中间的两个ll是long long的缩写

  1. longlong a=123456789012345;
  2. printf("%lld\n", a);

技术分享

小结

printf的格式化工作: %[对齐,填充,正负][输出宽度][精度][超长整数]基本类型
中括号括着的表示可有可无, 百分号和基本类型这两部分不能为空
在[对齐,填充,正负]中的正负用+(加号)来表示, 如果整数为正就显示一个+,如果为负就显示一个-

收尾例子: 显示浮点数前的加号; 不显示浮点数的小数部分

  1. float a=10.01;
  2. printf("%+f\n",a);
  3. printf("%+.0f\n",a)

技术分享





printf函数

标签:

原文地址:http://www.cnblogs.com/cfans1993/p/5618043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!