C语言——>早期不成熟——>成熟——>流行
国际标准
ANSIC——C89/C90
C99/C11并不流行--不少编译器不支持
变量的分类
- 局部变量
- 作用域:变量所在的局部范围
- 生命周期:进入作用域生命周期开始,出作用域生命周期结束。
- 全局变量
- 作用域:整个工程
- 生命周期:整个程序的生命周期。
数据类型
常量
- 字面常量 :直接写出来的。
- const修饰的常变量:
- #define定义的标识符常量
- 枚举常量
字符串:用双引号括起来引起来的一串字符
注意:结束标志\0
操作符:
- 算术操作符:+ - * / %
- 移位操作符:>> <<
- 位操作符:& (按位与) | (按位或) ^(按位异或)
- 赋值操作符: = += -= *= /= &= ^= |= >>= <<=
- 单目运算符:!- + & sizeof ~(按位取反) -- ++ *
- 逻辑操作符:&&(逻辑与) ||(逻辑或)
- 条件操作符:exp1 ?exp2 :exp3
- 逗号表达式:exp1,exp2,exp3,...expN
- 下标引用、函数调用和结构成员:[](下标引用操作符) ()(函数调用操作符) . ->
常见关键字
auto、break、case、char、const、continue、default、double、do、else、enum、extern、float、for、goto、if、int、long、register(寄存器关键字)、return、short、signed(有符号的)、unsigned、sizeof、static(静态的)、struct、switch、typedef(类型重命名)、union(联合体/共用体)、void(空)、volatile、while
define、include不是关键字,是预处理指令
static(静态的):
- static修饰局部变量,改变了局部变量的生命周期(本质上改变了变量的存储类型)
- static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部使用,其他源文件不能使用(全局变量在其他源文件内部可以使用,是因为全局变量具有外部链接属性,但是被static修饰后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量)
- static修饰函数
计算机中数据可以存在哪里?
- 寄存器 小
- 高速缓存 几十MB
- 内存 8G-16G
- 硬盘 500G
- 网盘 2T