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
连用,慎用)