c语言各种输出格式(C语言程序设计现代方法)
1. printf函数的格式:有两部分组成,一部分是格式串,是告诉计算机如何来显示一些数据的。它又分为两部分,(1)是普通字符,显示的时候原样显示;(2)是转换说明,是用于控制数据显示的形式的。另一大部分是表达式列表,就是我们想要让计算机显示的数据的列表。
如:printf("a =m,b=M",86,1040)
"a =m,b=-" 是格式串, 其中 a= , b=就是普通字符,会原样显示,而m M 是转换说明符,是来控制后面两个数的显示形式的。对于例子,结果应该是:
86,1040 注意86前面有4个空格。
2. 转换说明格式是%m.pX
m表示显示的最小字符数量,如果要显示的数少于m,则靠右对齐,前面补空格,如果显示的数多于m,则字段宽度会自动扩展。如第1中,86一共是2个数 小于4,所以右对齐,前面补空格,而1040一共是4个数,大于2,所以自动扩展成4,即还是打印1040,不能打印成10.
转换说明有这样几种:
(1)d 用来表示10进制形式的整数。
(2)e用来表示指数形式的。
(3)f表示定点十进制形式的浮点数,没有指数
(4)g表示指数形式或者定点十进制形式的浮点数
对于这部分内容的理解,大家可以在上机的时候来不断的测试,看一下输出结果,做到真正的理解。
3. scanf函数是大家容易糊涂的内容。经常会和printf函数混淆,其实这两个函数完全是反着的,一个是从键盘接收数据,一个是通过显示器打印数据给用户看。
scanf函数的格式:也是由两部分组成,一部分是格式串,另一部分是地址列表(一定要注意是地址列表,不要忘了&)。格式串又有两个部分组成,一部分是普通字符,一部分是转换说明。和printf不同的是,这里的普通字符不再是原样输出到屏幕上了,是用户要原样输入到计算机上。
举个例子:scanf("a=%d",&a); a=%d就是格式串,其中 a= 是普通字符 %d是转换说明。那么如果执行的时候应该这样做,用户输入:a=12才行,一定要加上a= 要保持和scanf格式串中的a=表示一致。否则接收不到数据12.
4. scanf中的格式说明,有:
(1)%d 接收整数
(2)%f %g %e用于接收浮点数
注意 如果前面加上数字,如- ? 等,那么是分别从键盘上取输入数据的2个数,3个数。
5. scanf函数的接收数据的原理,如:scanf("%d%f%d",&i, &x, &j); 执行后,用户输入的数据: 10.3 6 8
针对上面的数据,scanf是这样工作的。
首先,根据第一个转换说明%d 计算机需要从键盘缓冲区中取整数,第一个是1,1可以是整数的一部分,接收1,然后看后面的0,0可以是整数的一部分,所以把接收0,再向后看,是个点,不是整数的一部分,则结束%d的数据接收,把10给i,检查后面的%f 先看这个点,点属于浮点型,所以接收这个点,然后看后面的字符是3,3可以是浮点型的一部分,接收3,然后看后面的空格,空格不是浮点型的一部分,于是把点和3给了x。接下来根据%d来接收整数,忽略空格后看后面的6,6是整数的一部分,于是接收6,后面又是空格,结束整数的接收,把6给j,结束数据的接收。后面的8会给接下来的scanf函数。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com