1 一般格式
   printf(格式控制,输出表列)
   例如:printf("i=%d,ch=%c\n",i,ch);
   说明:
   (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:
         ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。
         ②普通字符,即需要原样输出的字符。
   (2)“输出表列”是需要输出的一些数据,可以是表达式
   (3) printf函数的一般形式可以表示为
         printf(参数1,参数2,……,参数n)
         功能是将参数2~参数n按参数1给定的格式输出
2 格式字符(9种)
    (1)d(或i)格式符。用来输出十进制整数,有以下几种用法:
        ①%d,按整型数据的实际长度输出。
        ②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
        ③%ld(%mld 也可),输出长整型数据。
         例如:long a=123456;
               printf("%ld",a);
 (2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。
     (3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。
     (4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。
       参见:li4-3.c
     (5)c格式符,用来输出一个字符。格式:%c,%mc都可。
     (6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。
     (7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。
       注意:单精度实数的有效位数一般为7位,双精度为16位。
     (8)e(或E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。
     (9)g(或G)格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种)。
3 说明
(1)除了X、E、G(用大写字母表示)外,其他格式字符必须用小写字母;
(2)“格式控制”字符串内可以包含转义字符;
(3)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:
     printf("%f%%",1.0/3);
(4)格式字符表参见下表
                                             表1 printf格式字符
格式字符
说     明
d,i
以带符号的十进制形式输出整数(正数不输出符号)
o
以八进制无符号形式输出整数(不输出前导符0)
x,X
以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出
u
以无符号十进制形式输出整数
c
以字符形式输出,只输出一个字符
s
输出字符串
f
以小数形式输出单、双精度数,隐含输出6位小数
e,E
以指数形式输出实数
g,G
选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0
表2   printf的附加格式说明字符

 
  

 
实例:
printf("0x%02X, ", (int)DDC_buf[i]);  // %02X: 

02 表示不足两位,前面补0输出;出过两位,不影响;
printf("%02X", 0x123);  //打印出:123
printf("%02X", 0x1); //打印出:01

最新文章

  1. SecureCRT乱码
  2. (转)myrepo
  3. 关于 Head First SQL 中文版
  4. 经典shell面试题整理
  5. Free Sql Server SMSS format Plugin
  6. 使用 boost 进行 CRC32 校验
  7. Java IO流之随机读写流RandomAccessFile
  8. Java基础总结--常用类以及包的访问权限
  9. 漫谈PID——实现与调参
  10. C#多条件查出来的多个DataSet,然后循环将数据整合
  11. C# 插件化方案(Add-In)
  12. 【ASP.NET Core】在CentOS上安装.NET Core运行时、部署到CentOS
  13. linux下配置zookeeper注册中心及运行dubbo服务
  14. 004_centos安装pip的几种方式及pip源
  15. Windows cmd命令
  16. ARMV7-M数据手册---Part B :System Level Architecture---B3 System Address Map
  17. C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)
  18. (转)漫谈MySql中的事务
  19. win下Apache2.4的下载与安装
  20. cocos2d-x学习记录6——自定义Button

热门文章

  1. 聚焦游戏安全,腾讯云GAME-TECH“空降”上海
  2. 让ubuntu的ssh保持长时间连接
  3. IDEA中一个工程多个模块(module)分别提交到不同的git服务器
  4. CSS动画效果
  5. 【代码笔记】Java文件的输入输出(1)——Java.io包的初步理解
  6. jquery获取不了ajax动态添加的内容的解决办法
  7. Instance Segmentation入门总结
  8. SCI收录的期刊查询
  9. xshell连不上虚拟机linux的解决办法
  10. Android 隐式 Intent 跳转注意事项