一、 集成开发环境(IDE)
预编译---汇编---编译---链接---运行
二、 导入头文件
1、什么情况下需要导入头文件:需要用到外部提供的一些函数或者变量
2、导入头文件的区别
< > 导入系统自带的库 头文件 告诉编译器首先从系统类库里面去查找这个头文件,如果类库里面没有那么从当前这个工程文件里面查找
" "导入自己写的头文件 告诉编译器先从当前这个工程里面去查找 如果没有 那么再去系统类库里面去查找
三、关键字、常量、变量
1、关键字:int const char return float double long exit
有特殊的含义 在定义变量的时候不能用关键字来当变量名
2、变量 常量: 程序在执行过程中有些数据或者资源需要被长时间记录 就 需要定义一个变量或者常量来保存它
定义一个变量:系统会立刻分配内存
声明一个变量:不会立刻分配内存 当使用这个变量的时候才去分配内存
3、变量的作用域:从定义开始到‘}’;变量在同一个作用域里不能被重复定义
临时变量(局部变量)
全局变量
四、if else 与switch case
1、if(判断条件){
表达式;
} else{
表达式;
}
2. switch(整型或字符型){
case值1:语句1 break;
case值2:语句2 break;
...
default:语句N break;
}
五、循环
1. for ( [表达式 1]; [表达式2 ]; [表达式3] ){
语句
}
其中:
表达式1:一般为赋值表达式,给控制变量赋初值;
[endif]for语句
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量或减量;
语句:循环体,当有多条语句时,必须使用复合语句。
2. while(表达式){
语句;
}
3. do{
语句;}
while(表达式);
注意:continue:结束此次循环,继续下一次循环
break:直接跳出当前循环
六、数组
1、数组和简单变量的区别:
简单变量:只能存储一个数据
数组: 能够存储多个数据
同种类型的数据
2、定义数组:必须明确知道数组里面有多少个元素
int score[4] = {}; //0 0 0 0
int score2[] = {1,2,3,4}; // 1 2 3 4
int score3[4] = {1, 2}; // 1 2 0 0
3、数组的访问:下标访问;指针访问
4. 数组的数组名表示的是:数组的首地址
七、结构体
typedefstruct stu {
char name;
char dd;
int age;
long id;
}Student;
将多个不同类型的数据封装为一种类型
八、宏定义
#define
k字符串 要替换的内容(可以是一个值 也可以是一个表达式【表达式加()】)
1.给一个值赋一定的意义-1 kOUT
2.在程序运行、调试的时候 更方便了 如果要更改某一个值 只需要在define这一个地方改就可以了
九、枚举
typedefenum UnlockType {
kUnlockTypeSlide = 1,//默认从0开始
kUnlockTypePIN,//2
kUnlockTypeGraph,//3
}kUnlockType;
十、函数
完成特定功能的一个代码块
一个函数只做一件事儿
1.函数的声明
2.函数的实现
先声明后实现
声明和实现一起写 必须在调用者上方
十一、动态分配内存
1、为什么需要动态分配内存?
优点:在使用之前已经确保内存是存在的
缺点:大小固定了 浪费空间||空间不足
2、 定义一个指针变量 系统只是为这个变量本身分配了内存空间
暂时没有指向任何数据
不能存储数据 因为没有内存来存储
3、过程:
(1) 分配内存空间malloc(内存空间的大小(字节))
(2)必须判断分配内存是否成功
(3)realloc重新分配内存空间
(4)free释放内存空间