目录
1.什么是库函数:
2.printf()函数介绍:
2.1占位符
2.1.1 占位符概念:
2.1.2 占位符列举:
2.2输出格式
2.2.1 限制宽度 和 左右对齐:
2.2.2 总是显示正负数:
2.2.3 限制小数的位数:
2.2.4只输出部分字符串:
3.总结|补充:
printf函数是一个库函数,功能是在标准输出设备(一般指屏幕)上进行信息打印。printf的函数名其实是由两部分组成,即 print 和 format(格式化)。f就是format,表示可以定制输出文本的格式,就是所谓的按格式输出。
printf函数可以输出文本中指定 占位符。所谓“占位符”,就是这个位置可以用其他值代替。
#include
int main()
{
printf("There are %d apples\n", 3);//输出 There are 3 apples
return 0;
}
这里的 " %d " 就是占位符,表示这个位置要用其他值来代替。 占位符第一个字符一定是 %,第二字字符表示占位符类型,%d这里表示这个位置必须用一个整数代替。
printf函数第二个参数就是替换占位符的值,上面这个例子就是 3 代替 %d。执行的结果就是 “There are 3 apples”
printf函数可以定制占位符的输出格式。
printf函数可以限定占位符的最小宽度
#include
int main()
{
printf("%5d\n", 123); // 输出为 " 123"
printf("%5d\n", 123456); // 输出为 "123456"
return 0;
}
上面这个例子中 “%5d”表示这个占位符至少要占5位宽度。若未满5位,则打印空格,若满足5位,则不做限制原样打印。
printf函数默认是右对齐,若想要左对齐,应在占位符表示类型前加上“-”。
#include
int main()
{
printf("%5d\n", 123); // 输出为 " 123"
printf("%-5d\n", 123); // 输出为 "123 "
return 0;
}
printf函数默认情况下,只显示负数的“-”,正数不显示“+”。那么我们可以在占位符的标识类型前加上“+”,这样我们就可以总是显示正负数了。
#include
int main()
{
printf("%+d",7);//输出+7
printf("%+d",-7);//输出-7
return 0;
}
#include
int main()
{
printf("Number is %.2f\n", 0.5);//输出0.50
return 0;
}
上面例子中,".2f"就表示保留小数点后2位。printf函数默认情况下保留小数点后6位。此外,这种写法还可以和限制宽度结合。
#include
int main()
{
printf("%6.2f\n", 0.5);//输出" 0.50"
return 0;
}
上面例子中 "%6.2f"就表示占位符占6位,其中保留小数点后两位。所以0.50前有两个空格。
最小宽度和小数位数这两个限定值,都可以通过 " * "来代替,通过printf函数的参数传入。
#include
int main()
{
printf("%*.*f\n", 6, 2, 0.5);
// 等同于printf("%6.2f\n", 0.5);
return 0;
}
%s占位符用来输出字符串,默认是全部输出。若只想要输出前几位,则需要使用 "%[m]s"指定输出的长度,这里的m是个数字,表示所要输出长度。
#include
int main()
{
printf("%.5s\n", "hello world");//输出hello
return 0;
}
上面例子中," %.5s "表示输出字符串 "hello world"的前5位,即 "hello"
——printf()的作用是将参数文本输出到屏幕。它名字里面的f代表format(格式化),表示可以定制输出文本的格式。
——printf()不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。
——printf()可以在输出文本中指定占位符,“占位符”,就是这个位置可以用其他值代入。
——printf()参数与占位符是一一对应关系,如果有n个占位符,printf()的参数就应该有n+1个