数值的表示方式
原码
最高位为符号位,其余各位为数值本身的绝对值。
- +2的原码为00000010
- -2的原码是10000010
反码
正数
反码和原码是相同的。
- 例如-2的原码是10000010
负数
符号位为1其余位对原码取反。
- 例如-2的反码是11111101
补码
正数:原码、反码与补码相同。
负数:反码加1。
- 2的原码是10000010
- 2的反码是11111101
- 2的补码是11111110
数据类型
基本数据类型
- char 字符型,通常1字节
- short 短整型,通常2字节
- int 整型,通常4字节
- long长整型,通常4或8字节
- long long 双长整型,通常8字节
- float 单精度浮点数,通常4字节
- double 双精度浮点数,通常8字节
- long double 长双精度浮点数,通常8或16字节
输出控制符
%d- 十进制整数%f- 浮点数(小数)%c- 单个字符%s- 字符串%x- 十六进制整数%o- 八进制整数
修饰符:
%ld- 长整型(long)%lf- 双精度浮点数(double)%u- 无符号整数%p- 指针地址
格式控制:
%.2f- 保留2位小数%5d- 占5个字符宽度,右对齐%-5d- 占5个字符宽度,左对齐%05d- 不足5位前面补0
特殊:
%%- 输出一个百分号%%n- 将已输出字符数存入变量
运算符
运算符相关术语
- 表达式:由一个或多个操作数及运算符组成的式子。
- 优先级:运算符执行的优先级,优先级高的先执行。
- 结合性:当优先级相同,可以通过结合性确定表达式如何结合来确定执行顺序。
- 类别:参与当前运算符运算的操作数个数。
算数运算符
- +:相加。
- -:相减。
- /:除号两端都是整数时,执行的是整数除法,两端只有一个浮点数,就执行浮点数除法。
- %:取余,取模,运算的两个操作数只能是整数,结果是整除后的余数。
赋值运算符
- =:作用是将一个值赋给另一个变量,和数学中的等号含义不同。
自增和自减运算符
- ++:在原有的数字基础上+1,如a = 1; a++;那么a输出2。
- --:在原有的数字基础上+1,如a = 2; a--;那么a输出1。
位运算符
- 置1:或位,REG |= (1 << 2) | (1 << 5) | (1 << 7);
- 清零:与位,REG &= ~((1 << 1) | (1 << 4) | (1 << 6));
- 取反:异或位,REG ^= (1 << 0) | (1 << 3) | (1 << 5);
关系运算符
- 本质是比较运算,关系运算符组成的表达式,即为关系表达式。
- 关系表达式的结果是bool类型,0(false)错、1(true)对,主要应用于条件判断语句和循环控制语句中,在写代码时建议反过来写容易辨别赋值和运算,如 4 == age。
- -> 大于
- < 小于
- ->= 大于等于
- <= 小于等于
- = = 等于
- != 不等于