C语言学习笔记。printf和scanf的花样(一)

发布时间:2024年01月15日

????????printf是c语言中基础的库函数,包含在studio.h头文件中。通常情况下认为这个函数与scanf为一对,本文讲解printf函数的使用和部分拓展。本文为个人的学习总结,如果文章有漏洞和错误,欢迎指出,谢谢。

1、printf基本用法

? ? ? ? printf()的作用就是按格式将参数文本输出到屏幕。‘f’代表format(格式化),表示可以定制输出文本格式。如下图(1)所示,根据上面的命令会输出一行文字“Hellow World”。printf()不会在行尾自动添加换行符,运行结束后,光标停留在输出结束的地方,不会自动换行,为了让光标移到下一行的开头,可以在输出文本的结尾添加“\n”,如图(2)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(1)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(2)

????????printf()可以输出文本中指定占位符。占位符指这个位置可以用其他值带入,这里列举一些常见的占位符:%a(十六进制浮点数,字母输出为小写)、%c(字符)、%d(十进制整数)、%i(整数,等同于%d)、%f(小数包含float和double型)、%o(八进制整数)、%p(指针)、%s(字符串)、%u(无符整数)、%x(十六进制整数)、%zd(size_t类型,占用存储空间大小)、%%(输出一个百分号)

? ? ? ? 占位符在我个人看来,其作用为告知printf()输出数据的格式,比如:我告诉它要输出整数,但我给它一个浮点数,它就会出错,如图(3)。同时,输出文本中可以有多个占位符,但是有n个占位符必须有n+1个参数和它对应,如图(4)。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(3)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(4)

? ? ? ? printf()可以自定输出数据的格式。比如显示正负号、限定占位符的宽度、限定小数位数等。【1】正负号的显示。默认情况下,printf()不显示正号,只对负数显示符号,我们可以通过在占位符中%后加入+,保证输出的值带正负号,如图(5)。【2】限定符号的宽度。printf()允许限定占位符的最小宽度,如图(6),输入%6d表示宽度最少6位,如果不满6位则会加空格。通常情况下输出的值默认右对齐,即输出的内容前面有空格,如果希望改成左对齐,就是在输出的内容后加空格可以在占位符%后加-号,如图(7)。【3】限定小数位数。输出小数时printf()通常输出小数点的后6位,而我们可以设定希望保留小数点的后几位,同时自动四舍五入,图(8)。【4】输出部分字符。%s输出字符串,通常情况下,其默认输出全部字符,如果只想输入开头的部分,可以用%.ms指定输出长度,如图(9)。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(5)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(6)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(7)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(8)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图(9)

? ? ? ? 如果你想了解更多printf()的相关操作可以参考网站printf - C++ 参考 (cplusplus.com)

文章来源:https://blog.csdn.net/2301_81041065/article/details/135573967
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。