printf是库函数,C语言标准库中提供的现成的函数 printf=print+format 可按照格式来打印信息
为了不再重复实现常见代码,C语言标准规定了一组函数,这些函数组成了函数库,称为标准库,一个系列的库函数会声明在同一个头文件中,使用库函数,就要包含对应的头文件。而printf使用时需要包含头文件**<stdio.h>**
int printf( const char *format, ... );#include<stdio.h>
int main()
{
printf("hello,csdn");
return 0;
}成功后,将返回写入的字符总数。
如果发生写入错误,则设置错误指示器(ferror)并返回负数。
如果在写入宽字符时发生多字节字符编码错误,那么 errno 将设置为 EILSEQ 并返回负数。
参数format包含了两种类型的对象:普通字符和转换说明。
普通字符:在输出时,普通字符将原样不动地复制到标准输出。
转换说明:转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明符结束,从而说明输出数据的类型、宽度、精度等。它可以选择性地包含嵌入式转换说明符,这些说明符被后续附加参数中指定的值替换,并根据请求进行转换。
转换说明符遵循以下原型: %[flags][width][.precision][length]转换说明符 %[标志][最小宽度][.精度][类型长度]转换说明符
以下是常见的转换说明符:

以下是一些常见的实例:
(内有注释)
#include<stdio.h>
int main()
{
int a = 37;
printf("hello,csdn\n\n");
//打印普通字符
printf("%d\n\n", 37);
//打印十进制整数
printf("%ld\n\n", 37);
//打印long int类型整数
printf("%c\n\n", 37);
//打印字符
printf("%s\n\n", "37");
//打印字符串
printf("%f\n\n", 0.37);
//打印小数(包含float类型)
printf("%lf\n\n",0.37);
//打印long double类型
printf("%p\n\n", &a);
//打印指针(用来打印地址)
printf("%u\n\n", 37);
//打印无符号整数
printf("%x\n\n", 37);
//打印十六进制整数
printf("%o\n\n", 37);
//打印八进制整数
printf("%%\n\n", 37);
//打印%
return 0;
}运行结果:

当然有些转换说明符你们可能还没接触到 在以后的学习中我也会一一讲解
上面我们提到了 转换说明符遵循以下原型: %[flags][width][.precision][length]转换说明符 %[标志][最小宽度][.精度][类型长度]转换说明符 现在来一一讲解[标志][最小宽度][.精度][类型长度]如何控制
以下我就给大家一些例子吧:
标志用于规定输出样式

(内有注释)
#include<stdio.h>
int main()
{
printf("%-d\n\n",37);
//左对齐格式
printf("%+d\n", 37);
printf("%+d\n\n", -37);
//总是显示正负号
//且对负号无影响
printf("% d\n\n", 37);
//则在值前插入空格
printf("%#o\n\n", 37);
//以八进制输出
printf("%#x\n\n", 37);
//以十六进制输出
printf("%08d\n\n", 37);
//用(0)而不是
// 空格左填充数字
return 0;
}运行结果:

printf允许限定占位符的最小宽度

#include<stdio.h>
int main()
{
printf("%d\n\n", 8);
//正常输出
printf("%5d\n\n", 8);
//要求最小宽度5位,
// 默认右对齐,用空格填充
return 0;
}运行结果:

精度用于指定输出精度,以“.”开头,后跟十进制整数 用于限制小数点位数

#include<stdio.h>
#include<stdio.h>
int main()
{
printf("%f\n\n", 0.37);
//正常输出保留后6位
printf("%.5f\n\n", 0.37);
//保留后6位
printf("%.1f\n\n", 0.37);
//若位数超出则会四舍五入
printf("%.f\n\n\n", 3.7777);
//如果只有小数点没有数字
// 默认为保留0位且四舍五入
printf("%.6g\n\n", 3.7777777);
//对于g和G,限制总的输出位数
printf("%.3s\n\n", "abcdefg");
// .X限制字符串的输出长度
return 0;
}
类型长度用于控制待输出整型数据的数据类型长度

#include<stdio.h>
int main()
{
printf("%d\n\n", 123456);
//正常打印
printf("%hd\n\n\n", 123456);
//以短整型异常打印
//若打印过长会丢失数据
printf("%hd\n\n\n", 1234);
//以短整型正常打印
//打印少量数字
printf("%ld\n\n", 123456);
//以长整型打印
return 0;
}
转义字符用于表示字符串文字和字符常量中的某些特殊字符。 例如上文的 \n 意思为换行 以下是常见的转义字符,大家可自行查看 本文就不进行过多介绍

以上代码均可复制 大家可到自己编译器中自行实验 当然,若还有什么不懂的地方也可在评论区留言 我会一一回复 感谢大家的支持啦