赞
踩
目录
printf函数是一个库函数,功能是在标准输出设备(一般指屏幕)上进行信息打印。printf的函数名其实是由两部分组成,即 print 和 format(格式化)。f就是format,表示可以定制输出文本的格式,就是所谓的按格式输出。
printf函数可以输出文本中指定 占位符。所谓“占位符”,就是这个位置可以用其他值代替。
- #include <stdio.h>
- 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 <stdio.h>
- int main()
- {
- printf("%5d\n", 123); // 输出为 " 123"
- printf("%5d\n", 123456); // 输出为 "123456"
- return 0;
- }
上面这个例子中 “%5d”表示这个占位符至少要占5位宽度。若未满5位,则打印空格,若满足5位,则不做限制原样打印。
printf函数默认是右对齐,若想要左对齐,应在占位符表示类型前加上“-”。
- #include <stdio.h>
- int main()
- {
- printf("%5d\n", 123); // 输出为 " 123"
- printf("%-5d\n", 123); // 输出为 "123 "
- return 0;
- }
printf函数默认情况下,只显示负数的“-”,正数不显示“+”。那么我们可以在占位符的标识类型前加上“+”,这样我们就可以总是显示正负数了。
- #include <stdio.h>
- int main()
- {
- printf("%+d",7);//输出+7
- printf("%+d",-7);//输出-7
- return 0;
- }
- #include <stdio.h>
- int main()
- {
- printf("Number is %.2f\n", 0.5);//输出0.50
- return 0;
- }
上面例子中,".2f"就表示保留小数点后2位。printf函数默认情况下保留小数点后6位。此外,这种写法还可以和限制宽度结合。
- #include <stdio.h>
- int main()
- {
- printf("%6.2f\n", 0.5);//输出" 0.50"
- return 0;
- }
上面例子中 "%6.2f"就表示占位符占6位,其中保留小数点后两位。所以0.50前有两个空格。
最小宽度和小数位数这两个限定值,都可以通过 " * "来代替,通过printf函数的参数传入。
- #include <stdio.h>
- int main()
- {
- printf("%*.*f\n", 6, 2, 0.5);
- // 等同于printf("%6.2f\n", 0.5);
- return 0;
- }
%s占位符用来输出字符串,默认是全部输出。若只想要输出前几位,则需要使用 "%[m]s"指定输出的长度,这里的m是个数字,表示所要输出长度。
- #include <stdio.h>
- 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个
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。