C语言知识点四: printf()函数的转换说明、修饰符和标记
printf()函数的转换说明、修饰符和标记:
表一 转化说明及其打印的输出结果
转换说明 | 输出 |
%f | 浮点数的十进制计数法 |
%e或%E | 浮点数的e计数法 |
%a或%A | 浮点数的p计数法 |
%c | 单个字符 |
%d或%i | 有符号十进制整数 |
%u | 无符号的十进制整数 |
%o | 无符号的八进制整数 |
%x或%X | 无符号十六进制整数 |
%% | 打印百分号 |
表二 printf()的修饰符
修饰符 | 含义 |
标记 | 详见表三 |
数字 | 例如: 输出结果: int a = 100; 100 printf("%10d\n", a); 100 printf("%2d", a); 解释:如果输出数字的宽度小于限定的宽度,则左边补空格;如果大于限定的宽度,则系统会自动用更宽的字段,即左边只输出该数字。 |
.数字 | 精度 输出结果: 例如: 3.14 float PI = 3.14159; 3.141590 int a = 10; printf("%.2f\n%.6f\n",PI, PI); 解释:.后面的数字代表该数字小数点后面的位数,若限定的位数大于该数的小数点位数,则添0来达到限定的位数 |
j | 如果要定义比unsigned long还要大的数,用intmax_t或uintmax_t类型的数(记得添加头文件stdint.h) 示例:%jd |
l | 和整型转换说明一起使用,表示long int或unsigned long int类型的值 示例:%ld %lu |
ll | 和整型转换说明一起使用,表示long long int或unsigned long long int类型的值 示例:%lld %llu |
L | 和浮点转换说明一起使用,表示long double类型的值 示例:%Lf |
z | 和整型转换说明一起使用,表示size_t类型的值,size_t是sizeof返回的类型 示例:%zd |
表三 printf()中的标记
标记 | 含义 |
- | 输出的结果左对齐 |
+ | 输出的数字若为正,则添+,否者添- |
空格 | 示例: 输出结果: int a = 12; 12 int b = -12; -12 printf("% d\n% d", a, b); 输出的数字若为正,则保留空格,否则将负号代替空格 |
# | 将结果转化为另外一种格式,比如打印八进制或十六进制为其添加各自的前缀,如八进制的前缀是0,十六进制的前缀是0x或0X; |
0 | 对于数值格式,用前导0代替空格填充字段宽度。若是整数格式,出现了-格式或指定精度,则忽略该标记 |
请读者将每个转换说明、修饰符和标记相互结合打印数字或字符来加深对其理解,并灵活使用
下面是我给出的几个示例:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)