一.含义
printf=print(打印)+f(format(格式化))
二.用法
将参数文本传输到屏幕上
注意:printf不会自动在行尾添加换行符,运行结束后光标停留在输出结束的地方,需自主添加换行符
printf的使用需要包含头文件(#include <stdio.h>)
三.占位符
1.特点
占位符第一个字符一定为%
2.使用
可以在输出文本中指定占位符
#include <stdio.h> int main() { printf("There are %d apples",3); return 0; }一个文本中可以出现多个占位符
#include <stdio.h> int main() { printf("%s eats %d apples"); return 0; }注意:printf()参数与占位符有对应关系,n个占位符对应n+1个参数,若参数与占位符个数不匹配,printf()可能会输出内存中的任一值
3.常用占位符
%c 字符char
%d int/signed int 10进制
%u unsigned int 10进制
%hd shout int/shout signed int 10进制
%hu shout unsigned int 10进制
%ld long int/long signed int 10进制
%lu long unsigned int 10进制
%lld long long int 10进制
%llu long long unsigned int 10进制
%f float double
%p 指针(打印地址)
%s 字符串
%x 16进制整数
%zu size_类型
四.输出格式
1.限定宽度
允许限定占位符的最小宽度
#include <stdio.h> int main() { printf("%9d",123); return 0; }上面事例中%9d表示输出数据的宽度至少为9位,若不满9位,这在输出之前添加空格。输出的值默认是向右对齐,即输出内容前面会有空格,若希望改成向左对齐,即在输出内容后面添加空格,则需在%后加-
#include <stdio.h> int main() { printf("%-9",12345678); return 0; }打印小数时方法不变,但默认打印小数点后6位,在输出小数时小数点也算一位
2.总是显示正负号
默认情况下printf()不对正数显示整号,只对负数显示负号,若要对正数显示整号,在%后加+
3.限定小数位
想要小数点保留几位,就将占位符写成%.几f
#include <stdio.h> int main() { printf("%.5f",3.141592658577429); return 0; }与限定宽度占位符结合使用
#include <stdio.h> int main() { printf("%6.1f",3.1415926); return 0; }最小宽度和限定位数都可以用*代替,通过printf的参数传入
#include <stdio.h> int main() { printf("%*.*f",6,1,3.1415926); return 0; }4.输出字符串
%s用来输出字符串,默认是全部输出,如果只想输出开头一部分,可以用%.ms指定输出长度,m代表输出长度
#include <stdio.h> int main() { printf("%4s","Hello world"); return 0; }