printf()、sprintf()和scanf()函数为输入/输出函数,也简称为I/O函数,函数声明包含在/usr/include/stdio.h头文件里面。
printf()函数:该函数的返回值为打印字符的数目。
格式:printf(“Control-string”, item1, item2,...)
控制字符串(Control-string)是一个描述如何打印的字符串,用双引号包含。item1,item2是要打印的内容,可以是变量,也可以是常量,也可以是进行计算的表达式。
printf()函数什么时候真正把输出传送给屏幕?首先printf()函数将输出传递给一个被称为缓冲区(buffer)的中介存储区域。缓冲区的内容再不断地传递给屏幕。当缓冲区满、遇到换行符以及需要输入的时候,就会将缓冲区的数据传递给屏幕或者文件。这个过程称为刷新缓冲区(flushing buffer)
转换说明符(conversion specification)及打印输出的结果
转换说明 | 输出结果 |
---|---|
%a | 浮点数、十六进制数和p-记数法(C99) |
%A | 浮点数、十六进制数和p-记数法(C99) |
%c | 一个字符 |
%d | 有符号十进制整数 |
%e | 浮点数、e-记数法 |
%E | 浮点数、E-记数法 |
%f | 浮点数、十进制记数法 |
%g | 根据数值不同自动选择%f或%e。%e格式在指数小于-4或者大于等于精度时使用 |
%G | 根据数值不同自动选择%f或%E。%E格式在指数小于-4或者大于等于精度时使用 |
%i | 有符号十进制数(与%d相同) |
%o | 无符号八进制整数 |
%p | 指针 |
%s | 字符串 |
%u | 无符号十进制整数 |
%x | 使用十六进制数字0f的无符号十六进制整数 |
%X | 使用十六进制数字0F的无符号十六进制整数 |
%% | 打印一个百分号 |
例子:
printf("This is %s.\n", “testing”);
printf()函数的转换说明修饰符:可以在%和定义的转义字符之间通过插入修饰符对基本的转换说明加以修改。
修饰符 | <
---|