printf()和scanf()

printf()函数是C语言中的输出函数,主要用来格式化输出数据。它支持多种转换说明,如%d用于十进制整数,%f用于浮点数,%s用于字符串等。转换说明还可以结合修饰符,如%-10d表示至少10位宽度的左对齐整数,%.2f表示保留两位小数的浮点数。此外,还有针对不同数据类型的修饰符,如h用于shortint,l用于longint等。
摘要由CSDN通过智能技术生成

1.printf()函数——输出函数

转换说明及其打印得输出结果
转换说明输出
%a浮点数、十六进制数和p记数法
%A浮点数、十六进制数和p记数法
%c单个字符
%d有符号十进制整数
%e浮点数、e记数法
%E浮点数、e记数法
%f浮点数、十进制记数法
%g根据值得不同,自动选择%f或%e。%e格式用于指数小于-4或者大于或等于精度时
%G根据值得不同,自动选择%f或%E。%E格式用于指数小于-4或者大于或等于精度时
%i有符号十进制整数(与%d相同)
%o无符号八进制整数
%p指针
%s字符串
%u无符号十进制整数
%x无符号十六进制整数,使用十六进制数0f
%X无符号十六进制整数,使用十六进制数0F
%%打印一个百分号
printf()的修饰符
修饰符含义
标记5种标记(-、+、空格、#和0),可以不使用标记或使用多个标记
示例:"%-10d"
数字最小字段宽度
如果该字段不能容纳待打印的数字或字符串,系统会使用更宽的字段
示例:"%4d"
数字

精度
对于%e、%E和%f转换,表示小数点右边数字的位数
对于%g和%G转换,表示有效数字最大位数
对于%s转换,表示待打印字符的最大数量

对于整型转换,表示待打印数字的最小位数

如有必要,使用前导0来达到这个位数
只使用.表示其后跟随一个0,所以%.f和%.0f相同
示例:"%5.2F"打印一个浮点数,字段宽度为5字符,其中小数点后有两位数字

h

和整型转换说明一起使用,表示 short int 或unsigned short int 类型的值

示例:"%hu"、"%hx"、"%6.4hd"

hh和整型转换说明一起使用,表示signed char或unsigned char类型的值
示例:"%hhu"、"%hhx"、"%6.4hhd"
j和整型转换说明一起使用,表示intmax_t或uintmax_t类型的值。这些类型定义在stdint.h中
示例:"%jd"、“%8jx"
l和整型转换说明一起使用,表示long int或unsigned long int 类型的值
示例:"%ld"、"%8lu"
ll和整型转换说明一起使用,表示long long int 或unsigned long long int类型的值(C99)
示例:"%lld"、"%8llu"
L和浮点转换说明一起使用,表示long double类型的值
示例:“%Lf"、“%10.4Le"
t和整型转换说明一起使用,表示ptrdiff_t 类型的值。ptrdiff_t是两个指针差值的类型(C99)
示例:"%td"、“%12ti"
z和整型转换说明一起使用,表示size_t 类型的值。size_t是sizeof 返回的类型(C99)
示例:"%zd"、“%12zd"
printf()中的标记
标记含义
-待打印项左对齐。即,从字段的左侧开始打印该项
示例:”%-20s"
+有符号值若为正,则在值前面显示加号;若为负,则在值前面显示减号
示例:“%+6.2f"
空格有符号值若为正,则在值前面显示前导空格(不显示任何符号);若为负,则在值前面显示减号标记并覆盖空格
示例:“%6.2f"
#把结果转换为另一种形式。如果是%o格式,则以0开始;如果是%x或%X格式,则以0x或0X开始;对于所有的浮点格式,#保证了即使后面没有任何数字,也打印一个小数点字符。对于%g和%G格式,#防止结果后面的0被删除
示例:"%#0"、”%#8.0f"、
"%+#10.3e"
0对于数值格式,用前导0代替空格填充字段宽度。对于整数格式,如果出现-标记或指定精度,则忽略该标记
示例:"%010d"和"%08.3f"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值