在之前的转义字符学习中,大家是使用puts来输出字符串。而puts是outputstring的缩写,意思是只用来输出字符串,不能输出整数、小数、字符等,加入我们需要输出整数小数等的时候我们就需要用另外一个函数:printf。
相信通过文字开头的介绍后,大家都基本了解到:printf比puts更加强大,因为printf不仅可以输出字符串,还可以输出整数、小数、单个字符等;输出格式也可以自己定义,举个例子:printf可以以十进制、八进制、十六进制形式输出,也可以要求输出的数字占n个字符的位置,还可以控制小数的位数。
大家首先要了解printf是printformat的缩写,意思是“格式化打印”。这里所谓的“打印”就是在屏幕上显示内容,与“输出”的含义相同,所以我们一般称printf是用来格式化输出的。
什么是格式化输出呢?我们先来看一个简单的例子:
这个语句可以在屏幕上显示“C语言中文网”,与puts("C语言中文网");的效果类似。
输出变量abc的值:
接下来我们再通过另外一个例子来了解一下:
这是一个比较有趣的例子,我们先来看%d,d是decimal的缩写,意思是十进制数,%d表示以十进制的形式输出。输出什么呢?输出变量abc的值。%d与abc是对应的,也就是说,会用abc的值来替换%d。
接下来我们再一起来看个复杂点的:
这个代码将会在屏幕上显示:
Thevalueofabcis999!
大家可以看到,字符串"Thevalueofabcis%d!"中的%d被替换成了abc的值,其他字符没有改变。这就说明%d比较特殊,不会原样输出,会被替换成对应的变量的值。
我们在再来看一下:
printf("a=%d,b=%d,c=%d",a,b,c);
在屏幕上显示的效果就是:
a=100,b=200,c=300
这一个代码再次为我们证明了%d与后面的变量是一一对应的,第一个%d对应第一个变量,第二个%d对应第二个变量,以此类推。
总结一下:%d称为格式控制符,它指明了以何种形式输出数据。格式控制符均以%开头,后跟其他字符。%d表示以十进制形式输出一个整数。除了%d,printf支持更多的格式控制,举个例子:
%c:输出一个字符。c是character的简写。
%s:输出一个字符串。s是string的简写。
%f:输出一个小数。f是float的简写。
当然,printf不止以上的这些功能,它支持更加复杂和优美的输出格式,继续关注编程学习网,我们以后会讲到。
接下来我们需要把代码补充完整来感受一下我们的成果:
输出结果:
n=100,c=@,money=93.959999
最后小编给大家一些温馨提示:
1)\\n表示换行,puts输出完成后会自动换行,而printf不会,要自己添加换行符。
2)//后面的为注释。注释用来说明代码是什么意思,让我们阅读更加方便,它也是代码的一部分。编译器会忽略注释内容。
3)money的输出值并不是93.96,而是一个非常接近的值,这与小数的存储有关。
我们也可以不用变量,直接将数据输出,下面我们看一个例子:
输出结果与上面相同。
好了,本次的学习就到这里啦!等一下,小编要考考大家:%ds输出什么?
想不出来,小编给大家一点提示:%d输出整数,%s输出字符窜,那么%ds输出什么呢?
最后的答案是:%ds输出整数,并在后面添加一个字符's'。因为%d是格式字符串,%ds在一起没有意义,'s'仅仅是在%d后面的一个普通字符。请看下面的例子:
最后我们来看一下运行结果:
a=1234s
在屏幕上输出各种代码的教程就到这里完成啦!各位有为青年赶紧试试吧!实践才能出真知,对于编程的学习大家需要多打多练多实践才能取得大的进步!希望本文对大家有所帮助!