int 类型范围
-2^31 ~ 2^31 -1
UB 未定义行为
2^31-1 + 1的话会发生未定义行为,产生溢出时时未定义行为
编译器的开发者可以以任意的行为来应对c标准中的未定义行为
int型默认保持32比特
/0或者%0会产生UB(未定义行为)
/0 为了兼容多个厂商的除法器而存在UB,有些除法器抛出错误,有的不抛出异常
针对UB 可以添加assert
变量为左值
赋值符号优先级最低
a b 两个数字交换的方法
1
2
3
4 亦或运算
位域
晶体管 二极管 => 1 / 0
输出控制符
%% 输出 %
常量
const int PI = 3.14
宏定义
#define PI 3.14
gcc -E circle.c | less
%[flags][minimalwidth][.precision]specifier
%m.px
%-m.px 强制左对齐
flags: 诸如- 这些
m: 最小栏宽 指定最少需要显示的字符数量 以空格补齐
p: 根据转换说明specifier类型的控制精度
根据不同类型来控制精度
%d 最少显示的数字个数 必要时补0
%e 科学计数法显示 指明小数点后应该出现的数字个数
%f 指明小数点后应该出现的数字个数
%g 所有可以显示的有效字符的最大数量
数组名称就是数组的首地址