目录
4.1.2 使用printf函数时需要引入头文件stdio.h
4.1 printf 函数
printf()的作用是将参数文本输出到屏幕
注:printf由单词print(意为打印)和字母 f 组成(f代表单词format,表示可以定制输出文本的格式)
4.1.1 printf函数不会在输出末尾自动加换行符
代码运行结束后,光标会停留在输出结果的地方,如果想要光标出现在下一行,可以在结尾加上换行符\n
例如我们想要打印 hello world
如果我们没有在末尾加换行符,那么下一次的打印光标会出现在 第一次打印结果的末尾,挨着第一次打印结果出现,
图片中的第一二个printf由于第一个printf没有换行符,所以第二个printf打印结果出现在第一个printf打印结果的后面,第二个printf有换行符,所以第三个printf打印结果出现在了下一行。
如果文本内部有换行,可以通过在文本内部插入换行符实现
例如第四个printf通过在文本内部加入了换行符,使world出现在hello的下一行
4.1.2 使用printf函数时需要引入头文件stdio.h
如没有引入头文件stdio.h会出现printf未定义的报错
4.1.3 printf可以在输出文本中指定占位符
占位符就是这个位置可以用其他值代替
4.1.3.1 %d占位符的使用
例如我们想要输出 there are 3 students,就可以使用占位符%d,%d表示可以用其它值进行替换,但必须是整数,printf的第二个参数就是替换占位符的值
整数3替换%d,输出结果为there are 3 students
4.1.3.2 %s占位符的使用
%s对应的替换的值必须是字符串
例如 我们想输出 火火will come to tomorrow
字符串火火替换%s,输出结果为 火火will come to tomorrow
输出文本中可以出现多个占位符
例如我们想输出 火火 says,it is 6 o'clock
文本中共有2个占位符,字符串占位符%s,整数占位符%d ,分别对应 printf()中的第二个参数 火火和第三个参数6
![](https://img-blog.csdnimg.cn/direct/e0730ad42e4141a7b399393106f86160.jpeg)
图中蓝色为占位符,红色为参数
4.1.3.3 printf()允许限定占位符的最小宽度
%5d表示限定字符串的最小宽度为5,如果不满5位,对应的值前面会添加空格,输出值默认为右对齐,即输出的值前面会有空格,如想改为左对齐,则需在%后面添加-
例如 我们想要输出整数123,限定最小字符宽度为6,输出结果中123前出现了3个空格进行补位
若我们想要 输出的整数123是左对齐,限定最小字符宽度为6,输出结果中123后会出现空格进行补位,为了方便观察,我们在后面加上hehe来观察补位
我们想要输出整数1234567,限定最小字符宽度为6,输出结果为1234567,若超出最小字符宽度限制,则输出结果不变
对于⼩数,这个限定符会限制所有数字的最⼩显⽰宽度
%11f 表⽰输出的浮点数最少要占据11位。由于⼩数的默认显⽰精度是⼩数点后6位, 77.66输出结果的头部会添加2个空格
4.1.3.4 printf()能显示正负号
默认情况下,printf()不对正数显示正号,但对负数会显示负号 ,若想让正数前显示正号,可以在%后加+
+可以保证输出的数值总是带有正负号
4.1.3.5 printf()能限定小数点位数
在输出小数时,可以对小数的位数进行限定,格式为%.限定的小数位数
例如 对0.5 限定2位小数,可以写作%.2f
限定宽度的占位符可以与小数点位数的占位符混合时使用
例如 限定0.67 的宽度为6,小数点位数为3,可以写作%6. 3f 注 小数点也算一位字符
最小宽度与小数点位数这2个限定值也可以用*代替
4.1.3.6 printf()可以输出部分字符串
%s在输出字符串时默认是全部输出,若想输出部分字符串,可以写作%.输出的字符数s
例如 Life is bright and everything is lovely 我们想输出12个字符可以写作%.12s
我们可以发现 字符串中的空格也算作字符数
printf函数的总结就到此结束了