一.位运算符
^ & | ~ << >> 都跟数字的二进制有关
^
按位亦或:0^0=0,1^1=0,0^1=1
&
按位与:1&1=1,1&0=0,0^0=0
|
按位或:1|0=1,1|1=1,0|0=0
~
按位取反:
12: 0000 1100
~12:1111 0011( 243)
<<
向左移:a=12;
12:0000 1100
a<<1:0001 1000
>>
向右移:a=12;
12:0000 1100
a>>1:0000 0110
二.尖头文件和双引号头文件的区别
#include<stdio.h>
直接从系统文件里面去找
#include"stdio.h"
会先从同级里去找,找不到再去系统默认文件里去找
三.宏
#define N 10000
起单纯的替换作用,下面程序里的N都代表了10000,10000也可以是一串代码:printf("%d",i);
#define N(x,y) x+y
参数宏,N(2,3)对位带入即可,
另:宏只起替换的作用,不参与计算
N(2,3)*3
本质上是:2+3*3=11;