在C语言中,printf
函数是一个非常重要的输出函数,用于在屏幕上显示各种数据类型的值。它通过占位符来指定输出的格式,并可以根据需要进行格式化输出。
以下是printf
函数中常用的占位符列表:
%a
:浮点数(仅C99有效)%A
:浮点数(仅C99有效)%c
:char型数据%d
:十进制整数(int)%e
:使用科学计数法的浮点数,指数部分的 e 为小写%E
:使用科学计数法的浮点数,指数部分的 E 为大写%i
:整数,基本等同于 %d
%f
:浮点数(float)%g
:6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的 e 为小写%G
:等同于 %g
,唯一的区别是指数部分的 E 为大写%hd
:十进制 short int 类型%ho
:八进制 short int 类型%hx
:十六进制 short int 类型%hu
:unsigned short int 类型%ld
:十进制整数(long)%lo
:八进制 long int 类型%lx
:十六进制 long int 类型%lu
:unsigned long int 类型%lld
:十进制 long long int 类型%llo
:八进制 long long int 类型%llx
:十六进制 long long int 类型%llu
:unsigned long long int 类型%le
:科学计数法表示的 long double 类型浮点数%lf
:十进制浮点数(double)%n
:已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中%o
:八进制整数%p
:指针%s
:字符串%u
:十进制无符号整数(unsigned int)%x
:十六进制整数%zd
: size_t 类型%%
:输出一个百分号// Created by yjtzf on 2023/12/30.
#include <stdio.h>
int main() {
printf("Hello, World\n"); // Hello, World
printf("num is %d\n", 100); // num is 100
printf("score = %d, level = %c\n", 90, 'A'); // score = 90, level = A
// 常见的占位符
printf("There are %d students\n", 5); // There are 5 students
char level = 'A';
printf("this score level is: %c\n", level); // this score level is: A
// 输出格式说明
printf("num is %10d\n", 123); // num is 123
printf("num is %-10d\n", 123); // num is 123
printf("num id %+d\n", +10); // num id +10
printf("num id %+d\n", -10); // num id -10
// 限定小数位
printf("float is %.2f\n", 12.355678); // float is 12.36
printf("float is %6.2f\n", 12.345); // float is 12.35
// 练习
float f = 3.1415926535f;
double d = 3.1415926535;
// 使用 %f 输出单精度浮点数
printf("Float: %f\n", f); // Float: 3.141593
// 使用 %lf 输出双精度浮点数
printf("Double: %lf\n", d); // Double: 3.141593
// 使用 %f 输出单精度浮点数
printf("Float: %.8f\n", f); // Float: 3.14159274
// 使用 %lf 输出双精度浮点数
printf("Double: %.8lf\n", d); // Double: 3.14159265
return 0;
}
以上代码展示了printf
函数的使用,包括常见占位符的输出以及格式说明。通过这些例子,你可以更好地理解如何使用printf
函数来格式化输出不同类型的数据。