赞
踩
上一篇文章主要叙述了一下scanf函数的小细节部分,这次咱们就探究c语言中的printf函数,来揭开它的真面目!!!
1.printf函数是c中的输出函数,也是标准的库函数(库函数如果不太懂啥意思的话,后续再详细介绍,本次文章主要了解如何用)使用printf函数需要声明在头文件#include<stdio.h>
下。
2.函数原型
int printf(const char*format,...);
返回值
正确的时候返回输出的字符总数
错误的话返回一个负值
printf("格式化字符串",输出列表);
原样输出
printf("hello c!");//这种可以就算字符串常量
//输出为hello c!(原样输出了)
格式为:%【标志】【最小宽度】【.精度】【类型长度】【类型】。
%a 浮点数、十六进制数字和p-记数法(C99) %A 浮点数、十六进制数字和P-记法(C99) %c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法 %E 浮点数、E-记数法 %f 浮点数、十进制记数法(单精度) %lf 双精度浮点数 %g 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用 %G 根据数值不同自动选择%f或%E,%E格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制整数 %x 使用十六进制数字0f的无符号十六进制整数(0f中是数字0,而不是字母o) %X 使用十六进制数字0F的无符号十六进制整数 %% 打印一个百分号
1.-(负号)
项目是左对齐的:也就是说,会把项目打印在字段的左侧开始处,右边填空格。默认是右对齐,左边填空格。
例如:”%-20s”
2.+
有符号的值若为正,则显示带加号的符号:若为负,则带减号的符号
例如:”%+6.2f”
3.(空格)
有符号的值若为正,则显示带前导空格(但是不显示符号):若为负,则带减号符号。+标示会覆盖空格标志
例如:”% 6.2f”
4.#
使用转换说明的可选形式。若为%o格式,则以0开始;若为%x和%X格式,则以0x或0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除。
例如:“%#o”、“%#8.0f”和“%+#10.3E”
5.0
对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志。
例如:“%010d”和“%08.3f”
用十进制整数来表示输出的最少位数。若实际位数多于指定的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
printf("%06d",1000);
输出为001000,默认右对齐,且少的添零,故为该数!
精度格式符以“.”开头,后跟十进制整数。可取值如下:
.精度
(1)对于整型(d,i,o,u,x,X),精度表示输出的最小的数字个数,不足补前导零,超过不截断。
(2)对于浮点型(a, A, e, E, f ),精度表示小数点后数值位数,默认为六位,不足补后置0,超过则截断。
(3)对于类型说明符g或G,表示可输出的最大有效数字。
(4)对于字符串(s),精度表示最大可输出字符数,不足正常输出,超过则截断。
注意呦!!!!浮点数截断时是会四舍五入的!!
大家不要被这些名称吓到,举个非常简单的例子,double类型为双精度对吧,所以指令格式应该为%lf,此时前面那些别的乱七八糟的都省略了,此时l表示的就是那个类型长度!!
1.h 和整数转换说明符一起使用,表示一个short int 或者 unsigned short int 类型数值。 示例:“%hu”、“%hx”和“%6.4hd” 2.hh 和整数转换说明符一起使用,表示一个signed char 或者unsigned char类型数值。 示例:“%hhu”、“%hhx”和“%6.4hhd” 3.j 和整数转换说明符一起使用,表示一个intmax_t或uintmax_t值。 示例:“%jd”和“%8jX” 4.l(字母) 和整数说明符一起使用,表示一个long int 或者unsigned long int 类型值。 示例:“%ld”和“%8lu” 5.ll(字母) 和整数说明符一起使用,表示一个long long int或 unsigned 6.long long int 类型值 (C99)。 示例:“%lld”和“%8llu” 7.L 和浮点转换说明符一起使用,表示一个long double值。 示例:“%Lf”和“%10.4Le” 8.t 和整数转换说明符一起使用,表示一个ptrdiff_t值(与两个指针之间的差相对应的类型) (C99) 示例:“%td”和“%12ti” 9.z 和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型) (C99)。 示例:“%zd”和“%12zx”
这个转义字符呢,前面我的初识c语言中放入了相关详细转义字符的总结,大家可以参考那个哈,在这我简单说一下为啥printf函数中还用的到转义字符
printf("\n");//此时里面放的为\n这个转义字符,输出效果为换行
printf("\t");//\t这个转义字符,输出效果为空格
更多详细的转义字符看这呦初识c语言(一)
本篇文章讲述了c中的输出函数,上一篇文章讲述的为输入函数,在任何一种语言中肯定少不了输入输出,所以我感觉在这种小地方抓起来,还是有好处的,就像有的编程题他让你以什么格式输入,什么格式输出,假设你不了解这些,是不是一团懵,甚至还觉得题目错了,所以呀,在我们的学习中一定要注意一些细节呦,同样,欢迎小可爱们指正完善,一起加油吧!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。