【数据类型】
1--- bool
- #include <stdbool.h> (bool类型特有的头文件)
- 布尔类型只有两个值0 1
2--- char
- 占1字节,8位
3--- int 占4字节
- short 占2字节
- long 占4字节
4--- float 占4字节 (浮点型就是小数类型,例如12.34)
- double 占8字节
5--- void 缺省类型(说白了就是空类型)
【常量】
1---- 整数常量
- 十进制:23
- 八进制:023
- 十六进制:0x23
2---- 浮点型常量
- eg:12.34
3---- 指数常量
- 12.3e-3 ===> 12.3*10^3
4---- 字符常量 (字符使用一对单引号括起来的)
- ‘A’ ‘b’ ‘ ’ ‘ ’ ‘9’
5---- 字符串常量 (字符串使用一对双引号括起来的)
- “A” : ‘A’ ‘ ’
- “hello”: ‘h’‘e’‘l’‘l’‘o’‘ ’
- 字符串默认最后会补上字符0也就是' '所以字符串"A"包含'A'和' '俩个字符
6---- 宏定义
- #define N 12
- 宏定义:我的理解是一般是定义那种数据----->就是你使用的时候不需要改变其值的数
- 比如:你定义一个整数类型的数组 int a[N];
- 然后你想要它的空间为64不变,你就可以在上面定义#define N 64
【运算符】(这个我觉得不用去强行去记看看就好,用着用着自然就记住了)
1---- 算术运算符
- + - * / % ++ --
- 两个整数相运算结果一定是整数
- ++ --:在变量名前:先自增或自减后,再参与其他运算
- ++ --:在变量名后:先参与其他运算,再自增或自减
- %:参与运算的必须是整数
2---- 关系运算符
- < <= > >= == !=
- 关系运算的结果只有两种状态:0 1
3---- 逻辑运算
- &&:与运算代表一假则假
- ||:或运算代表一真则真
- ! :非代表真变假,假变真
逻辑运算的结果只有两个状态:0 1
短路原则:当一个表达式可以决定整个表达式的结果,后面的表达式不运算。
4---- 位运算(多数用于无符号整数运算)
- & :位与,一假则假
- | :位或,一真则真
- ~ :取反,真变假,假变真
- ^ :异或,相同为0,不同为1
- >>:x>>n <==> x/2^n
- <<:x<<n <==> x*2^n
5---- 复合运算符
- += -= *= /= %=
- ^= &= |= <<= >>=
数据交换:
- a ^= b;
- b ^= a;
- a ^= b;
6---- 条件运算符
- <表达式1> ? <表达式2> : <表达式3>;
- 最先判断表达式1,为真则执行表达式2,为假则执行表达式3;
7---- ,(逗号)
- 优先级最低
8---- 强制类型转换
- 相似数据类型之间的转换。
9---- sizeof
其实我个人觉得这是个比较重要的函数。
- 例如:
- 求数据开辟的空间大小
- 比如你定义一个数组int a[]={1,2,3,4,5,6,7,8}; 假设里面元素很多不止这八个,你要知道a的大小你就sizeof(a);
- 或者你想知道一个int类型是多少大小sizeof(int);