Printf()函数的概念和占位符的用法

Printf()函数

一.Printf的基本用法

1.printf的作用就是将我们的参数文本输出到屏幕上。其中的f代表format(格式化),表示可以定制输出文本的格式(关于printf的使用方法和格式,在前面我每次给大家演示代码的时候几乎都有展示,很通俗易懂,所以关于这一点我想我就不必赘述了)

2.当我们在使用printf()进行输出的时候,系统是不会自动在行尾添加换行符的,当输出运行结束的时候,光标就会停留在我们输出结束的地方,所以当我们想使光标移动到下一行,我们就必须在输出文本的结尾,添加换行符:\ n (同理,我们想要在文本内部换行添加 \ n 也是可行的)

3.printf()在标准库中的头文件是stdio.h

二.占位符

1.printf()可以在输出文本中指定占位符,所谓占位符,就是指在这个位置可以用其它值带入,列如我们经常使用的“ % d ”,关于这个,我们在前面的一些代码的演示中也是经常会运用到的,大家可能都已经熟知并且会运用了,只是还没有正式的给大家介绍过占位符的概念而已

2.占位符的第一个字符必须是%,不管是%d(打印整型十进制数据),%c(打印字符格式的数据),%s(打印字符串格式的数据),%f(打印浮点格式的数据),还是其他的一些,都是必须以%为开头的

3.在同一输出文本中可以使用多个占位符,且占位符和其后的参数一一对应

4.如果有n个占位符,printf()中的参数就应该有n+1个(如果参数个数小于对应占位符,printf()可能会输出内存中的任意值)

5.C语言中占位符部分举例,了解就好,不必全部记住,红色为较常用的):

(1)%a :⼗六进制浮点数,字母输出为小写

(2)%A :⼗六进制浮点数,字母输出为大写

(3)%c :字符

(4)%d :⼗进制整数。列如:int

(5)%e :使用科学计数法的浮点数,指数部分的 e 为小写

(6)%E :使用科学计数法的浮点数,指数部分的 E 为大写

(7)%i :整数,基本等同于 %d 

(8)%f :小数(包含 float 类型和 double 类型,列如:float 用%f,double 用%lf)

(9)%g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会自动转为科学计数法,指数部分的 e 为小写

(10)%G :等同于 %g ,唯一的区别是指数部分的 E 为大写

(11)%hd :十进制 short int 类型

(12)%ho :八进制 short int 类型

(13)%hx :十六进制 short int 类型

(14)%hu :unsigned short int 类型

(15)%ld :十进制 long int 类型

(16)%lo :八进制 long int 类型

(17)%lx :十六进制 long int 类型

(18)%lu :unsigned long int 类型

(19)%lld :十进制 long long int 类型

(20)%llo :八进制 long long int 类型

(21)%llx :十六进制 long long int 类型

(22)%llu :unsigned long long int 类型

(23)%Le :科学计数法表示的 long double 类型浮点数

(24)%Lf :long double 类型浮点数

(25)%n :已输出的字符串数量。(该占位符本身不输出,只将值存储在指定变量之中)
(26)%o :八进制整数
(27)%p :指针(用来打印地址)
(28)%s :字符串
(29)%u :无符号整数(unsigned int)
(30)%x :十六进制整数
(31)%zd : size_t 类型
(32)%% :输出⼀个百分号

三.关于占位符的限定宽度

在printf()中,允许我们限定占位符的最小宽度,就是在%后加上我们想要的最小宽度,如果输出文本不满足我们的最小宽度,则会在文本前补上所缺的位数,话不多说,上图:

这个时候就有同学提问了,为什么是在前面添加空格呢?Good question!这是因为我们系统默认的文本输出格式是右对齐,那么有同学就说了,我有那个强迫症,就非要它是左对齐的呢,那当然也是有办法滴!在我们的%后再添加一个“ - ”即可变成左对齐的格式,如图所示:

对于小数而言呢,限制符会限制所有小数的最小显示宽度,什么意思呢?也就是说,我们小数,本来系统默认的精度就是小数点后6位,就算我们要输出的小数不满小数点后6位,系统也会默认用0占位,只是我们看不出来罢了,无需多言,上图:

如图,我们人为限制了12位,所以在前方补上了4位(输出文本的小数点也算)

四.占位符对小数位的限制

在我们输出小数时,当我们想固定保留几位小数时,可以在%后加“ 点和数 ”(这个保留遵循四四舍五入的原则,且可以与上面的限定宽度占位符结合使用),如图:

最小宽度 ”和“ 小数位数 ”这两个占位符都可以用“ * ”代替,如图:

五.占位符的正负

占位符会对负数显示负号,但不会对正数显示正号,如果想让正数也显示出正号,可以在%后加+

六.指定输出部分字符串

当我们想输出字符串的时候呢,需要用到占位符:% s ,但是这个“ % s ”是默认全部输出,我们有时候只想输出一部分该怎么办呢?这个时候我们用“ % . (x) s ”的形式输出即可(括号中填需要输出的字符串长度)如图:

OKK,有关printf()函数和占位符的总结暂时就这么多了,这部分很简单也容易理解,但是非常非常非常重要哦!作为代码的基础构成,printf()和占位符几乎是无处不在,大家下去多多练习,熟能生巧!加油加油,与诸君共勉!也祝大家Have a nice day!!!

  • 41
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值