1.第一天:
1.1、开发概述
1.2、IOS设备发展史
1.3、Mac OS X系统介绍
1.4、Mac OS X常见设置
1.5、Mac OS X系统操作(一)
1.6、Mac OS X系统操作(一)
1.7、Mac OS X系统操作(一)
1.8、开发环境Xcode安装、使用
1.9、IOS开发体验之按钮、界面切换
1.10、IOS开发体验之按钮、界面切换(补充)
1.11、IOS开发体验之打电话发短信
1.12、IOS开发体验之《Tom猫》
1.13、计算机程序
1.14、IOS开发基础-C语言介绍
1.15、C语言学习中的重难点
1.16、第一个C语言程序
1.17、C语言源程序分析
1.18、C语言源程序分析(补充)
1.19、C语言项目打开、运行方法
1.20、C语言练习-打印图形
2.第二天:
2.1、关键字及分类
2.2、关键字及分类-补充
2.3、标识符概念及其命名原则
2.4、标示符的命名规范
2.5、C语言中的注释介绍
2.6、C语言中的注释使用
2.7、数据及数据类型
2.8、数据类型的内存占用及范围
2.9、常量的概述及分类
2.10、不同类型的常量表示方法
2.11、上午复习
2.12、变量的概念及定义
2.13、变量的概念及定义-补充
2.14、变量的初始化和引用
2.15、变量的初始化和引用-补充
2.16、变量的作用域
2.17、变量的作用域-补充1
2.18、变量的作用域-补充2
2.19、printf函数介绍及常见用法-补充
2.20、变量为什么要区分类型
2.21、printf函数介绍及常见用法
2.22、%f输出精度问题
2.23、printf函数使用注意事项
2.24、scanf函数介绍及使用
2.25、scanf函数介绍及使用-补充1
2.26、scanf使用注意事项
2.27、scanf使用注意事项-补充
2.28、scanf函数原理
2.29、scanf函数原理-补充
3.第三天
3_2、运算符的概念及分类
3_3、运算符的概念及分类
3_4、算术运算符的介绍和使用
3_5、求余运算符的使用及注意事项
3_6、算术运算中类型转换问题
3_6、算术运算中类型转换问题-补充
3_7、赋值运算符
3_8、复合赋值运算符
3_9、自增自减运算符
3_9、自增自减运算符-补1
3_10、自增自减掌握技巧
3_11、sizeof运算符
3_11、sizeof运算符-补1
3_11、sizeof运算符-补2
3_12、逗号运算符
3_13、逗号运算符应用及使用注意
3_14、关系运算符
3_15、关系运算符优先级和结合性
3_16、逻辑运算符
3_17、逻辑运算符结合性和优先级
3_18、逻辑运算符的短路问题
3_19、三目运算符及其求值方法
3_20、三目运算符应用举例
3_21、Xcode使用补充
3_22、Xcode断点调试
4.第四天
4_2、变量易犯错误总结
4_3、注释插件的安装和使用
4_4、程序的结构及分类
4_5、if语句介绍及基本格式
4_6、if-else语句及嵌套
4_7、if语句的高级用法
4_7、if语句的高级用法-补充
4_8、if语句的使用注意点
4_9、应用:剪刀石头布游戏分析
4_10应用:剪刀石头布游戏代码实现
4_11、switch语句基本格式
4_11、switch语句基本格式-补充
4_12、case语句穿透问题
4_13、if语句和switch语句转换
4_14、if语句和switch语句选择
4_15、switch使用注意事项(一)
4_16、switch使用注意事项(二)
4_17、应用-判断季节
4_18、应用:实现计算器
5.第五天
5_2、循环结构介绍
5_3、while循环介绍及基本格式
5_3、while循环介绍及基本格式-补充
5_4、while循环介绍及基本格式
5_5、应用-游戏方向控制
5_6、应用-《疯狂猜数》游戏分析
5_7、应用-《疯狂猜数》代码实现
5_8、while循环使用注意
5_8、while循环使用注意-补充
5_9、do-while循环介绍及语法格式
5_10、do-while和while对比
5_11、for循环结构及执行过程
5_12、for循环的其他形式
5_13、for循环的嵌套
5_14、for循环嵌套应用:打印图形(一)
5_15、for循环嵌套应用:打印图形(二)
5_16、for循环嵌套应用:打印9?9乘法表
5_17-break关键字及break语句
5_18-continue关键字及continue语句
6.第六天
6_3、函数的概念及分类
6_4、无参无返回值函数
6_5、无参有返回值函数的定义
6_6、有参无返回值函数定义
6_7、有参有返回值函数定义
6_8、函数的参数
6_9、函数的参数传递过程
6_10、函数的返回值及注意事项
6_11、函数的声明
6_12、函数的调用
6_13、函数应用:打印图形
6_14、函数应用:数学计算
6_15、递归函数概述及构成条件
6_15、递归函数概述及构成条件-补充
6_16-递归应用举例
6_17-Xcode运行原理
6_18、手动编译方法及步骤
7.第七天
7_1、知识回顾
7_2、include的使用
7_3、include文件搜索顺序
7_4、C语言模块化编程概念
7_5、多文件开发实现及注意事项
7_6、计算机中的进制
7_7、进制转换的要素
7_7、进制转换的要素-补充600比特率
7_8、2进制和10进制互转
7_9、2进制和16进制互转
7_10、机器数和真值的概念
7_11、原码反码补码概念及转换
7_12-应用:补码转换举例
7_13、为什么要引入反码、补码
7_13、为什么要引入反码、补码-补
7_14、位运算符介绍(一)
7_15、位运算符介绍(二)
7_16-应用:编程实现10进制转2进制
7_17-应用:实现两个变量值交换
7_17-应用:实现两个变量值交换-补充
7_18-变量地址获取及存储原理
7_18-变量地址获取及存储原理-补充
7_19、查看变量在内存中的每一个字节
8.第八天
8_2、改变整型变量的符号
8_2、改变整型变量所占存储空间
8_3、char类型数据存储
8_4、数组的基本概念及分类
8_5、数组元素作为函数参数
8_5、一维数组定义及注意事项
8_6、一维数组初始化
8_7、一维数组一个让人疑惑的问题
8_8、一维数组的引用
8_9、应用:数组遍历
8_10、一维数组的存储方式
8_11、一维数组的地址
8_12、一维数组长度计算方法
8_13、一维数组的越界问题
8_14、应用:找最大值
8_15、数组元素作为函数参数
8_16、数组名作为函数参数
8_17、数组名作为函数参数的注意点
8_17、数组名作为函数参数的注意点-补充
8_18、冒泡排序的思想
8_18、冒泡排序的思想-补充
8_19、冒泡排序代码实现
9.第九天
9_2、选择排序思想
9_3、选择排序的代码实现
9_4、折半查找思想
9_4、折半查找思想-补充
9_5、折半查找&插入的代码实现
9_6、二维数组的定义
9_7、二维数组的初始化
9_8、二维数组的遍历
9_8、二维数组的遍历-补充
9_9、二维数组的内存存储细节
9_9、二维数组的内存存储细节-补充
9_10、应用:求多人多门课平均成绩
9_11、应用:找最大值
9_12、二维数组做函数参数
9_13、应用:从键盘接收数据构成二维数组
9_14、《迷宫》游戏玩法及实现思路
9_15、《迷宫》伪代码实现
9_16、《迷宫》游戏代码实现
9_17、《迷宫》游戏优化
9_18、字符串的基本概念
9_19、字符数组定义
9_20、字符数组初始化和引用
10.第十天
10_2、以字符串的形式输入和输出
10_3、字符串结束符使用
10_4、字符串长度计算的方法
10_5、字符数组和普通数组区别
10_6、字符串处理函数(一)
10_7、字符串处理函数(二)
10_8、应用:单词首字母大写&统计单词个数
10_9、地址的概念
10_10、为什么要使用指针
10_11、指针变量概念及定义方法
10_12、指针变量的初始化和引用
10_12、指针变量的初始化和引用-补充
10_13、应用:变量及指针变量存储细节
10_14、用函数实现两变量值交换
10_15、指针常见的应用场景
10_16-二级指针介绍
10_17-指针为什么要区分类型
11.第十一天
11_2、数组指针的概念及定义
11_3、使用指针引用数组元素
11_3、使用指针引用数组元素-补充
11_4、应用:逆序数组
11_5、一维指针数组
11_6、指针变量之间运算
11_7-用数组名访问二维数组
11_7-用数组名访问二维数组-补
11_8、普通指针访问二维数组
11_9、二维数组指针定义、初始化
11_10、二维数组指针定义、初始化
11_11、《推箱子》游戏玩法及实现思路
11_12、《推箱子》伪代码实现
11_13、《推箱子》游戏代码实现(一)
11_15、《推箱子》游戏代码实现(二)
11_16、字符串指针介绍及使用
11_16、字符串指针介绍及使用-补
11_17、二维字符数组概念
11_18、char型指针数组和字符数组区别
11_19-应用:字符串排序
12.第十二天
12_2、fgets()、fputs()函数使用
12_3、fgets()和fputs()优缺点
12_4、const关键字介绍及作用
12_4、const关键字介绍及作用-补充
12_5、内存管理的概念和内存分区
12_6、常见的内存分配函数
12_6、常见的内存分配函数-补充
12_7、野指针和内存泄露
12_8、指针函数概念及定义
12_9、应用:输出星期
12_10、函数指针概念及定义
12_11、函数指针使用
12_12、构造类型及结构体
12_13、定义结构体的方法
12_14、结构体变量及定义方法
12_15、结构体变量中成员的访问方法
12_16?结构体变量的初始化
12_17、结构体变量存储原理
12_18、结构体变量占用存储空间大小
12_19、结构体作用域
12_20、常见的内存分配函数
13.第十三天
13_2、结构体数组概念及定义
13_3、结构数组的初始化和遍历
13_3、结构数组的初始化和遍历-补充
13_4、应用:实现简易通讯录
13_5、结构指针定义和初始化
13_6、结构体指针间接访问成员值
13_7、结构体嵌套使用
13_7、结构体嵌套使用-补充
13_8、结构体变量及成员作为函数参数
13_9、结构指针作为函数的参数
13_10、枚举类型介绍及定义
13_11、枚举变量的定义和使用
13_12、typedef关键字介绍
13_13、typedef使用方法
13_14、预处理指令的概念及分类
13_15、宏的概念及无参宏定义方法
13_15、宏的概念及无参宏定义方法-补充
13_16、有参宏定义和使用方法
13_17、应用:使用有参宏求最大值
13_18、typedef和#define的区别
13_19、#if-#else 条件编译指令
13_20、#ifdef 条件编译指令
13_22、使用条件编译指令调试bug
14.第十四天
14_2、static和extern修饰局部变量
14_3、static和extern修饰全局变量
14_4、static和extern修饰函数
14_5、文件概念及分类
14_6、文件操作步骤及原理
14_7、C语言文件指针
14_8、文件的打开和关闭
14_9、文件使用方式及注意事项
14_10、字符读写函数:fgetc和fputc
14_10、字符读写函数:fgetc和fputc-补2
14_10、字符读写函数-补1:fgetc和fputc
14_11、应用:保存键盘输入的字符串
14_12、字符串读写函数:fgets和fputs
14_13、查看文本文件的内容
14_14、数据块读写函数:fread和fwrite
14_15、应用:从文件中读写结构体信息
14_16、格式化读写函数fscanf和fprintf
14_17、应用:读取和写入一个二维数组
14_18、文件的随机读写实现
14_19、文件检测函数feof()介绍
15.第十五天
15_2、C语言《通讯录》功能展示
15_3、C语言《通讯录》用到的知识点分析
15_4、《通讯录》功能分析及实现步骤
15_5、《通讯录》界面、框架搭建
15_5、《通讯录》界面、框架搭建-补1
15_6、《通讯录》退出系统
15_7、《通讯录》初始化
15_8、《通讯录》查看联系人
15_9、《通讯录》添加联系人
15_10、《通讯录》删除联系人
15_11、《通讯录》修改联系人
15_12、《通讯录》搜索联系人
16.第十六天
16_1_1、Objective-C语言简介
16_1_1、Objective-C语言简介-补充
16_1_2、Objective-C语言发展现状
16_1_3、Objective-C语言学习路线及重难点
16_1_4、OC语言快速入门之“helloworld”
16_1_5、NSLog函数使用方法
16_1_6、OC中注释及@符号使用
16_1_7、访问OC源文件、C源文件中的函数
16_1_8、OC和C差异学习(一)
16_1_9、OC和C差异学习(二)
16_1_9、OC和C差异学习(二)改进
16_1_10、面向对象编程概念
16_1_11、类和对象
16_1_11、类和对象-补充改进
16_1_11、类和对象改进
16_1_12、类的声明和实现
16_1_13、创建一个对象并访问成员变量
16_1_14-无参方法声明实现及调用
16_1_15-补充有参方法声明实现及调用
16_1_15-有参方法声明实现及调用
17.第十七天
17_2_2、应用:类的创建练习
17_2_3、对象的存储细节
17_2_3、对象的存储细节-补充
17_2_4、#pragma mark指令的使用
17_2_5、函数和对象方法的区别
17_2_6、常见错误汇总
17_2_7、对象和方法之间的关系
17_2_8、练习题讲解(一)-1
17_2_8、练习题讲解(一)-1-补充
17_2_9、练习题讲解(一)-2
17_2_9、练习题讲解(一)-2-补充
17_2_10、对象作为方法的参数连续传递
17_2_11、对象作为方法的参数连续传递2
17_2_12、对象作为方法的参数连续传递3
17_2_13、练习题讲解(二)-1
17_2_13、练习题讲解(二)-1-补充
17_2_14、NSString 类介绍及用法
17_2_15、NSString 字符串长度计算方法
17_2_16、OC多文件开发介绍
17_2_17、多文件实现步骤
18.第十八天
18_3_2、类方法的学习引入
18_3_3、类方法的调用及注意事项
18_3_4、类方法注意事项
18_3_5、类方法易犯的错误
18_3_5、类方法易犯的错误-补充
18_3_6、类方法应用场景
18_3_7、匿名类的概念及使用
18_3_7、匿名类的概念及使用-补充
18_3_8、匿名类作为方法的参数
18_3_9、封装的概念及原理
18_3_10、封装的实现步骤
18_3_10、封装的实现步骤-补充
18_3_11、封装应用:股票K线计算
18_3_12-组合模式
18_3_13、依赖关系
18_3_14、关联关系
18_3_14、关联关系-补充
18_3_15、Xcode文档在线安装方法
18_3_16、Xcode文档离线安装方法
18_3_17、方法重载问题
18_3_18-关于OC中的Static关键字使用
19.第十九天
19_4_2、self和super关键字介绍
19_4_3、self用在对象方法中
19_4_4、self用在类方法中
19_4_5、self修饰变量
19_4_6、self使用总结和注意事项
19_4_7、类的继承和派生概念
19_4_08、继承的代码实现
19_4_08、继承的代码实现-补充
19_4_09-基类和派生类之间的关系
19_4_10、继承的注意事项
19_4_11、实例变量修饰符介绍
19_4_12、实例变量修饰符对子类的影响
19_4_13、OC中的私有变量
19_4_14、OC中的私有方法
19_4_14、OC中的私有方法改进
19_4_15、description方法介绍及重写
19_4_15、description方法介绍及重写-补充
19_4_16、多态的概念和条件
19_4_17、多态的实现
19_4_17、多态的实现-补充
19_4_18-类的本质
19_4_19、类对象的使用
19_4_20、SEL类型
19_4_20-类对象的存储细节
20.第二十天
20_5_2、传统的get和set方法
20_5_3、点语法介绍和使用
20_5_4、点语法使用注意事项
20_5_5、@property关键字介绍及使用
20_5_6、@property使用注意事项
20_5_7、@synthesize关键字介绍和使用
20_5_8、@synthesize指定实例变量赋值
20_5_9、@property增强使用
20_5_9、@property增强使用-补充
20_5_10、@property增强下重写get和set方法
20_5_11、动态类型和静态类型
20_5_12、id类型及应用场景
20_5_12、id类型及应用场景-补充
20_5_13、动态类型检测
20_5_13、动态类型检测-补充
20_5_14-判断对象能否响应指定的方法
20_5_15、响应方法
20_5_16、构造方法的概念
20_5_17、重写构造方法
20_5_17、重写构造方法-补充
20_5_18、重写构造方法应用场景
20_5_19、自定义构造方法
21.第二十一天
21_6_2、综合项目《购票系统》
21_6_3、《购票系统》功能展示
21_6_4、《购票系统》功能分析
21_6_5、《购票系统》流程分析
21_6_6、《购票系统》类设计
21_6_7、《购票系统》基本框架搭建
21_6_7、《购票系统》基本框架搭建-补充
21_6_8、《购票系统》系统初始化
21_6_9、《购票系统》显示热映的电影
21_6_10、《购票系统》选择影片
21_6_11、《购票系统》选择排数
21_6_12、《购票系统》选择座位&支付&出票
21_6_13、《购票系统》出票完善