stdio.h是C语言中的一个头文件。
可以解释一下其名称的含义:std是standard的缩写,而io是input&output的简写,从而整个名称的含义就是“标准输入输出库”。
的确,这个头文件中定义了许许多多与输入输出有关的函数,常量,宏(简单理解用于直接跟编译器对话的一些指令)等等。
在这其中,有scanf与printf函数 分别用于标准输入与标准输出,也是C语言的初学者必须掌握的输入输出函数。
在这里,我将为大家详细地讲解这两个函数。
在这里,首先给出两个函数的函数原型:
int scanf(const char*format,…);
int printf(const char*format,…);
其中,…对应的是参数列表,format是使用格式化标识符的字符串,表达了程序员希望使用输入输出格式。
C语言中的格式化说明符用于控制如何格式化和显示数据。以下是一些常见的C语言格式化说明符:
%a或%A:浮点数,十六进制数和p计数法(C99/C11)
%d:有符号十进制整数
%u或%i:无符号十进制整数
%f:浮点数,默认小数点后6位
%e或%E:指数形式的浮点数,默认小数点后6位
%g或%G:根据精度不同自动选择%f或%e中精度较小者,默认有效数字位数6位
%c:字符
%s:字符串
%p:指针
%o:无符号八进制整数
%x或%X:无符号十六进制整数
%%:输出一个百分号
这些格式化说明符可以与其他修饰符一起使用,以控制输出的宽度、精度、对齐方式等。以下是一些常见的修饰符:
可以使用0个或多个修饰符
数字:提供目标值输出宽度的下限,若目标值实际宽度不足则右对齐,不足的部分用空格补齐;否则按实际宽度输出
.数字:提供输出精度,
对于%f、%e和%E表示小数点后位数,
对于%g和%G表示有效数字位数
对于%s表示打印字符串的最大长度
对于%i、%d和%u表示将要打印数据的最小位数,不足则在左侧补0(前导0)
h:表示一个short整型的数值,与%i、%d、%x、%o和%u等连用
hh:表示一个char整型的数值,与%i、%d、%x、%o和%u等连用
l:表示一个long整型(与%i、%d、%x、%o和%u等连用)
或者double浮点型(与%f、%e、%g等连用)
ll:表示一个long long整型(与%i、%d、%x、%o和%u等连用)
L:表示一个long double浮点型(与%f连用,慎用)