变量
类型名 变量名=值;
类型名:unsigned char/int/long unsigned无符号位。char/int/long所占字节由编译器和单片机共同决定。
类型名决定了变量的值域。char,一字节,2^8次方,最大值255,从0开始所以-1。
尽量不要溢出,否则会出现不确定的错误。
二进制,八进制(0,%o),十进制(%d),十六进制(0x,%x)
a=19等价于a=10011b等价于
/与%,/的类型相同。4/3=1,4/3.0=1.3333
取,个十百千位,x/位%10。
345/100%10 3
345/10%10 4
345/1%10 5
位运算:&(清0),|(置1),^(与1达到取反作用) (单目)!,~。
关系运算:&&,||,==,>=,<=,<,>。都是双目,得到的是布尔值,0假,非0真(包括负数)
&&与||短路,达到条件后面的就不判断了。
移位运算:<<(×2),>>(÷2)(unsigned的不用管符号位)。左移,低位补0。右移,高位补0。
左移:数据合并。置1,置0。
置1:让第 0 位置 1,b|=(1<<0)
置0:让第 0 位清零,b&=(~(1<<0))
右移:不同数据类型之间的分解。
括号:改变运算顺序(多用),强制类型转换,指针类型强制转换。
if语句:无括号只执行后面一句语句。