给自己留个笔记
运算符
+ - * / %(余数的正负取决于被除数)
++ -- 在赋值时注意先后取值问题
b = ++a; 先自加,后取值
b = a++; 先取值,后自加
&&(与) 短路现象:第一个表达式为假,后不计算
||(或) 短路现象:第一个表达式为真,后不计算
!(非)
按位与 & 都为1才是0,否则为0 &=
按位或 | 有1为1,否则为0 |=
按位异或 ^ 相同为0,不同为1 ^=
按位取反 ~ 0变1或者1变零 ~=
正数三码合一,负数三码不同(三码:原码 反码 补码)
<<: 左移运算符 (乘2运算)
>>: 右移运算符 (除2运算) 负数右移(高位补1)
sizeof运算符: 求一种类型或者变量所占的内存大小(字节)
例: int a ; sizeof(int) == sizeof(a)
注意:sizeof()不能进行赋值操作;sizeof(c=c+1);
宏:
例: #define PI 3.14 #define CH 'A'
带参宏: #define SUM(x) ((x)*(x)*(x))
不引入第三个变量交换两个变量的值
1.加减法 a=a+b; b=a-b; a=a-b;
2.乘除法 a=a*b; b=a/b; a=a/b;
3.位运算 a=a^b; b=a^b; a=a^b;
例: a=4; b=2
第一步:a = a^b; 0100^0010=0110
第二步:b = a^b; 0110^0010=0100
第三步:a = a^b; 0110^0100=0010
#include<stdlib.h>
调用 system("pasue")函数
time();
malloc等