printf()是一种C语言标准库函数,用于将格式化的字符串输出到标准输出. 标准输出是标准输出文件,与终端的屏幕相对应. 在stdio.h头文件中声明了printf().
功能原型:
int printf ( const char * format, ... );
返回值: 返回正确输出的字符总数,并且错误返回负值. 同时,将设置输入和输出流错误标志. 指示器ferror可用于检查输入和输出流错误标志.
调用格式: printf()函数的调用格式为: printf(“格式字符串”,输出表列).
格式字符串包含三种类型的对象: (1)字符串常量; (2)格式控制字符串; (3)转义字符. 字符串常量按原样输出,并在显示中用作提示. 每个输出项目在输出表列中列出. 要求格式控制字符串和每个输出项目的编号和类型必须彼此对应. 格式控制字符串是一个以%开头的字符串,后跟各种格式控制字符,用于解释输出数据的类型,宽度和精度.
注意: 本文中的所有示例代码都是在Linux环境下使用g ++ 4.4.6编译成64位程序的.
printf的格式控制字符串组成如下:
%[flags][width][.prec][length]type
分别:
%[标志][最小宽度][.精度][类型长度]类型。
首先说明类型,因为类型是格式控制字符串中最重要的部分,并且是必不可少的组成部分. 其他选项是可选的. type用于指定输出数据的类型,含义如下:
对应的数据类型
输出十进制带符号的32位整数,我是旧式表示法
printf(“%i”,123);输出123
无符号八进制整数(无前缀0)
printf(“ 0%o”,123);输出0173
无符号十进制整数
printf(“%u”,123);输出123
无符号十六进制整数,x对应abcdef,X对应ABCDEF(不输出前缀0x)
printf(“ 0x%x 0x%X”,123,123);输出0x7b 0x7B
浮动(双精度)
F表示单精度浮点数,lf表示双精度浮点数(printf可以混合,但scanf不能混合)
printf(“%. 9f%.9l