Code:
  1. #include<stdio.h>
  2. int main()
  3. {
  4. //for int
  5. int i=30122121;
  6. long i2=309095024l;
  7. short i3=30;
  8. unsigned i4=2123453;
  9. printf("%d,%o,%x,%X,%ld,%hd,%u/n",i,i,i,i,i2,i3,i4);//如果是:%l,%h,则输不出结果
  10. printf("%d,%ld/n",i,i2);//试验不出%ld和%d之间的差别,因为long是4bytes
  11. printf("%hd,%hd/n/n/n",i,i3);//试验了%hd和%d之间的差别,因为short是2bytes
  12. //for string and char
  13. char ch1='d';
  14. unsigned char ch2=160;
  15. char *str="Hello everyone!";
  16. printf("%c,%u,%s/n/n/n",ch1,ch2,str);//unsigned char超过128的没有字符对应
  17. //for float and double,unsigned and signed can not be used with double and float
  18. float fl=2.566545445F;//or 2.566545445f
  19. double dl=265.5651445;
  20. long double dl2=2.5654441454;
  21. //%g没有e格式,默认6位包括小数点前面的数,
  22. //%f没有e格式,默认6位仅只小数点后面包含6位
  23. //%e采用e格式,默认6位为转化后的小数点后面的6位
  24. printf("%f,%e,%g,%.7f/n",fl,dl,dl,dl);
  25. printf("%f,%E,%G,%f/n",fl,dl,dl,dl);//%F is wrong
  26. printf("%.8f,%.10e/n",fl,dl);
  27. printf("%.8e,%.10f/n/n/n",fl,dl);
  28. //for point
  29. int *iP=&i;
  30. char *iP1=new char;
  31. void *iP2;//dangerous!
  32. printf("%p,%p,%p/n/n/n",iP,iP1,iP2);
  33. //其他知识:负号,表示左对齐(默认是右对齐);%6.3,6表示宽度,3表示精度
  34. char *s="Hello world!";
  35. printf(":%s: /n:%10s: /n:%.10s: /n:%-10s: /n:%.15s: /n:%-15s: /n:%15.10s: /n:%-15.10s:/n/n/n",
  36. s,s,s,s,s,s,s,s);
  37. double ddd=563.908556444;
  38. printf(":%g: /n:%10g: /n:%.10g: /n:%-10g: /n:%.15g: /n:%-15g: /n:%15.10g: /n:%-15.10g:/n/n/n",
  39. ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd);
  40. //还有一个特殊的格式%*.* ,这两个星号的值分别由第二个和第三个参数的值指定
  41. printf("%.*s /n", 8, "abcdefgggggg");
  42. printf("%*.*f   /n", 3,3, 1.25456f);
  43. return 0;
  44. }

1.转换说明符
      %a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)
      %c             字符
      %d             有符号十进制整数
      %f              浮点数(包括float和doulbe)
      %e(%E)     浮点数指数输出[e-(E-)记数法]
      %g(%G)     浮点数不显无意义的零"0"
      %i              有符号十进制整数(与%d相同)
      %u             无符号十进制整数
      %o             八进制整数    e.g.     0123
      %x(%X)      十六进制整数0f(0F)   e.g.   0x1234
      %p             指针
      %s             字符串
      %%            "%"

2.标志
      左对齐:"-"   e.g.   "%-20s"
      右对齐:"+"  e.g.   "%+20s"
      空格:若符号为正,则显示空格,负则显示"-"   e.g.   "%  6.2f"     
      #:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
           对e,g,f 类当结果有小数时才给出小数点。

3.格式字符串(格式)
      [标志][输出最少宽度][.精度][长度]类型
     "%-md" :左对齐,若m比实际少时,按实际输出。
     "%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
                      e.g.    "%7.2s"   输入CHINA
                                             输出"     CH"
     "%m.nf":输出浮点数,m为宽度,n为小数点右边数位
                      e.g.    "%3.1f"    输入3852.99
                                               输出3853.0
      长度:为h短整形量,l为长整形量

【转】Printf()输出格式控制相关推荐

  1. 2016计算机学科夏令营上机考试 A:分段函数 printf输出格式控制

    总时间限制: 1000ms 内存限制: 65536kB 题目 描述 编写程序,计算下列分段函数y=f(x)的值. y=-x+2.5; 0 <= x < 5 y=2-1.5(x-3)(x-3 ...

  2. c语言 printf 输出格式控制 %#x 带0x 16进制的输出

    #include<stdio.h> #include<stdlib.h>int main(void) {#if 0 printf("这里是注释"); #en ...

  3. c语言printf输出格式顶格,c语言printf()输出格式[共6页].pdf

    c 语言 printf() 输出格式大全 浮点数( 包括 float 和 doulbe) 浮点数指数输出 [e-(E-) 记数法] 浮点数不显无意义的零 "0" 有符号十进制整数 ...

  4. c语言整数四则运算表达式的输出格式控制,Educoder CC++基本输入输出

    第1关:重要的事情说三遍 1.这里结合的一个具体场景是:程序接受一个输入字符,然后将该字符输出三遍,再输出一个!. // 包含标准输入输出函数库 #include // 定义main函数 int ma ...

  5. C++STL开发温习与总结(六): 6.C++语言输入/输出流定义之输入/输出格式控制

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://mp.blog.csdn.net/postedit/79177645 C++STL开发温习 ...

  6. 关于printf输出格式的总结

    基础的东西总是很容易忘 要时常总结回顾才能牢记 printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中.但作为一个特例,不要求在使用 printf 函数之前必须 ...

  7. C语言scanf怎么输入字母,C语言scanf输入格式printf输出格式

    1. 转化说明符 %a(%A)浮点数,十六进制数字和p-(P-)表示法(C99)%c个字符 %d个有符号十进制整数 %f浮点数(包括浮点数和doulbe)%e(%E)浮点指数输出[e-(E-)表示法] ...

  8. C++基础知识(二)--左值右值--逻辑表达式求值优化--逗号运算符与表示式--输入输出格式控制...

    :一.C++左值右值概念 左值:c++将变量名代表的单元称为左值,而将变量的值称为右值,左值必须是内存中可以访问且可以合法修改的对象,因此只能是变量名,而不能是常量或表达式.即左值可以寻址. 右值:将 ...

  9. DbgPrint/KdPrint输出格式控制

    在驱动编程学习中,往往需要通过DbgPrint或者KdPrint来输出调试信息,对于Check版本,KdPrint只是DbgPrint的一个宏定义,而对于Free版本,KdPrint将被优化掉.这些输 ...

  10. Shell echo-使用echo实现更复杂的输出格式控制

    语法 Shell 的 echo 指令是用于字符串的输出.命令格式: echo string 当然也可以使用echo实现更复杂的输出格式控制. 复杂输出格式 1.显示普通字符串 echo "I ...

最新文章

  1. 主题mysql_主题数据库(SubjectBase)
  2. html锚点反向联动,小程序菜单左右联动
  3. 【PAT甲级 - 1013】Battle Over Cities (25分)(并查集)
  4. HTML5画布(矩形)
  5. Tomcat 优化和性能监测
  6. glEnable(GL_DEPTH_TEST)作用
  7. qt实现类似everything搜索功能,速度没有everything那么快
  8. linux解压 tar命令
  9. 天线工程手册_弱电工程人员书籍推荐
  10. mysql给一张表做快照_MySQL之快照读
  11. 今天你够“敏捷”吗?
  12. 关于图灵机的妙文(3)——图灵机杂思(rev#2)(刘未鹏)
  13. SCARA四轴机器人eye-to-hand手眼标定(九点标定)
  14. Cathy Zhang 箭头函数与普通函数的区别
  15. C++动态开辟数组空间
  16. nginx 开启gzip压缩
  17. NAS网络存储是什么
  18. 云原生是什么?如何准确理解云原生?
  19. Python数据科学学习笔记之——Matplotlib数据可视化
  20. Java中的三种代理模式解释

热门文章

  1. VXLAN配置实例(三)——VXLAN集中式双活网关
  2. 在网上找来的几个大牛,忽然觉得自己来参加ACM倒也不是一件错误的事情,梦想总是要有的,万一成了呢。
  3. 正则表达式在 ES2018 中的新写法
  4. kernel——make menuconfig的实现原理【转】
  5. webpack多环境(dev stg prd qa)打包问题
  6. 菜单的无限极分类实现
  7. SpringMVC之二:配置 Spring MVC
  8. android 广播观察者,androidObservable观察者模式
  9. python 如何检验数据正态分布_小样本数据的正态性检验用python怎么写?
  10. oracle update导入clob,【Oracle】给clob字段插入数据