格式化
printf:%[flags][width][.prec][hlL]type
scanf: %[flags]type
flags
-:左对齐
+:强制+
0:0填充;width
number
.number
*
.*HlL
hh char
h short
l long
ll long long
L long doubletype
i\d -> int
g\G -> float
u -> unsigned int
o -> 八进制
a\A -> 十六进制浮点
x\X -> 十六进制\字母大写的十六进制
c -> char
s -> 字符串
P -> 指针
f\F -> float
e\E -> 指数
n -> 读入\写出的个数
1 | int main(){ |
返回值
printf:读入的项目数
scanf:输出的字符数
1 | int main(){ |
FILE
fopen | fclose | fscanf | fprintf
1 | FILE * fp = fopen("filePath","r"); |
fopen
r | r+ | w | w+ | a | ..x:只新建,如果文件存在,则不能打开
二进制文件
所有的文件最终都是二进制
二进制读写
1 | //内存指针,内存大小,内存个数,文件指针 |
二进制缺点
可移植性差
按位运算
&
|
~ :反
^ :异或(两个位不相等为1,相等为0)
<<:左移(乘以 2^n)
>>:右移(除以 2^n)
*移位不可以用负数*
1 | 0101 1010 & 5A |
位段
1 | struct U0{ |