传智播客C语言提高讲义(2018年最新版)

上传人:灯火****19 文档编号:121902108 上传时间:2020-02-27 格式:PDF 页数:81 大小:2.48MB
返回 下载 相关 举报
传智播客C语言提高讲义(2018年最新版)_第1页
第1页 / 共81页
传智播客C语言提高讲义(2018年最新版)_第2页
第2页 / 共81页
传智播客C语言提高讲义(2018年最新版)_第3页
第3页 / 共81页
传智播客C语言提高讲义(2018年最新版)_第4页
第4页 / 共81页
传智播客C语言提高讲义(2018年最新版)_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《传智播客C语言提高讲义(2018年最新版)》由会员分享,可在线阅读,更多相关《传智播客C语言提高讲义(2018年最新版)(81页珍藏版)》请在金锄头文库上搜索。

1、轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 传智播客传智播客 C 提高讲义提高讲义 传智扫地僧传智扫地僧 1 程序内存模型程序内存模型 1 1 就业班引言就业班引言 1 1 1 问题引出问题引出 企业需要企业需要能干活能干活的人的人 C 学到什么程度可以找工作 对于 C C 初级开发者 怎么达到企业的用人标准 就业问题 问 老师 有没有一个框框 有没有一个标准啊 我们学什么哪 C 工程开发需要什么 培养什么能力 工程开发需要什么 培养什么能力 成熟的 商业化的信息系统在分区 分层成熟的 商业化的信息系统在分区 分层 轻松入门 实战应用 传智播客 C 学院 就业班第一阶

2、段 C 提高课程 信息系统的技术模型在分层信息系统的技术模型在分层 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 找出对我们初学者最近的那一层 哪些能力是你入行前 必须要掌握的 C 项目开发的套路 一套接口 项目开发的套路 一套接口 socket client pool api 设计与实现 int sckClient poolinit void handle int sckClient getConnet void handle void hConnect int sckClient sendData void hConnect unsigned char data i

3、nt dataLen int sckClient getData void hConnect unsigned char data int dataLen int sckClient getData Free void hConnect unsigned char data int sckClient putConnet void handle void hConnect int sckClient pooldestory void handle 总结 寻找到学习的标准 培养两种能力培养两种能力 接口的封装和设计 功能抽象和封装 接口 api 的使用能力 接口 api 的查找能力 快速上手 轻

4、松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 接口 api 的实现能力 建立正确程序运行内存布局图 印象图 内存四区模型图 函数调用模型图 1 1 2 总体课程安排总体课程安排 课程大纲课程大纲 C 提高 C 数据结构 总体时间 1 个月 实用专题实用专题 总 轻松入门 实战应用 形式 1 专题的形式录制 话题集中 便于初学者学习 形式 2 知识点分段录制 细致讲解 从根本上提高初学者水平 项目开发中的重要点做剖析 指针铁律 1 2 3 4 5 6 7 8 9 10 企业用人标准 1 1 3 学员要求学员要求 资料 时间空间管理 工作经验 记录和积累 临界点 事物认知规律

5、 挑战 p p p 提高课堂效率 课堂例子 当堂运行 录制视频说明 不来 看视频 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 C C 学习特点 Java 学习 应用 做项目 C 学习 理解 应用 做项目 多动手 不动手 永远学不会 关键点 关键时候 进行强化训练和考试 1 1 4 小结小结 建立信心 接口的封装和设计 指针教学 多年实践检验 心态放轻松了 分析有效时间 尊重事物认知规律 给自己一次机会 1 2 学员听课的标准学员听课的标准 C 语言学到什么程度 就可以听懂传智播客就业班第一阶段的课程了 有没有一个标准 选择法或者冒泡法排序 在一个函数内排序 通过函数调

6、用的方式排序 数组做函数参数的技术盲点和推演 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 1 3 内存四区专题讲座内存四区专题讲座 1 3 1 数据类型本质分析数据类型本质分析 数据类型概念数据类型概念 类型 是对数据的抽象 类型相同的数据有相同的表示形式 存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型 数据类型的本质思考数据类型的本质思考 思考数据类型和内存有关系吗 C C 为什么会引入数据类型 数据类型的本质数据类型的本质 数据类型可理解为创建变量的模具 模子 是固定内存大小的别名 数据类型的作用 编译器预算对象 变量 分配的内存空间大小 程

7、序举例 如何求数据类型的大小 sizeof int 请问 数据类型可以有别名吗 数据类型可以自定义吗 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 数据类型大小数据类型大小 int main int a 10 int b 10 printf int a d n sizeof a printf int a d n sizeof int printf int b d n sizeof b printf int b d n sizeof b 0 printf int b d n sizeof b printf hello n getchar return 0 sizeof 是

8、操作符 不是函数 sizeof 测量的实体大小为编译期间就已确定 数据类型别名数据类型别名 数据类型可以理解为固定大小内存块的别名 请问数据类型可以起别名吗 int main Teacher t1 printf Teacher d n sizeof Teacher printf u32 d n sizeof u32 printf u8 d n sizeof u8 printf hello n getchar return 0 数据类型的封装数据类型的封装 1 void 的字面意思是 无类型 void 则为 无类型指针 void 可以 指向任何类型的数据 2 用法 1 数据类型的封装 int I

9、nitHardEnv void handle 典型的如内存操作函数 memcpy 和 memset 的函数原型分别为 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 void memcpy void dest const void src size t len void memset void buffer int c size t num 3 用法 2 void 修饰函数返回值和参数 仅表示无 如果函数没有返回值 那么应该将其声明为 void 型 如果函数没有参数 应该声明其参数为 void int function void return 1 4 void 指针的意义

10、 C 语言规定只有相同类型的指针才可以相互赋值 void 指针作为左值用于 接收 任意类型的指针 void 指针作为右值赋值给其它指针时需要强制类型转换 int p1 NULL char p2 char malloc sizoeof char 20 5 不存在 void 类型的变量 C 语言没有定义 void 究竟是多大内存的别名 6 扩展阅读 void 类型详解 doc 数据类型总结与扩展数据类型总结与扩展 1 数据类型本质是固定内存大小的别名 是个模具 c 语言规定 通过 数据类型定义变量 2 数据类型大小计算 sizeof 3 可以给已存在的数据类型起别名 typedef 4 数据类型封

11、装概念 void 万能类型 思考思考 1 C 一维数组 二维数组有数据类型吗 int array 10 若有 数组类型又如何表达 又如定义 若没有 也请说明原因 抛砖 数组类型 压死初学者的三座大山 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 1 数组类型 2 数组指针 3 数组类型和数组指针的关系 思考思考 2 C 语言中 函数是可以看做一种数据类型吗 a 若是 请说明原因 并进一步思考 函数这种数据类型 能再重定义吗 b 若不是 也请说明原因 抛砖 1 3 2 变量本质分析变量本质分析 变量概念变量概念 概念 既能读又能写的内存对象 称为变量 若一旦初始化后不能修

12、改的对象则称 为常量 变量定义形式 类型 标识符 标识符 标识符 例如 int x int wordCut Radius Height double FlightTime Mileage Speed 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 变量本质变量本质 1 程序通过变量来申请和命名内存空间 int a 0 2 通过变量名访问内存空间 一段连续 内存空间的别名 是一个门牌号 3 修改变量有几种方法 1 直接 2 间接 内存有地址编号 拿到地址编号也可以修改内存 于是横空出世 了 编程案例 3 内存空间可以再取给别名吗 4 数据类型和变量的关系 通过数据类型定义变

13、量 5 总结及思考题 1 对内存 可读可写 2 通过变量往内存读写数据 3 不是向变量读写数据 而是向变量所代表的内存空间中写数据 问 变量跑哪去了 思考 1 变量三要素 名称 大小 作用域 变量的生命周期 思考 2 C 编译器是如何管理函数 1 函数 2 变量之间的关系的 引出两个重要话题 内存四区模型 函数调用模型 重要实验 int main333 2 种方法 通过变量直接操作内存 通过内存编号操作内存 int i 0 printf int 1245024 10 printf i d i 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 printf hello n g

14、etchar return 0 1 3 3 程序的内存四区模型程序的内存四区模型 内存四区的建立流程内存四区的建立流程 流程说明 1 操作系统把物理硬盘代码 load 到内存 2 操作系统把 c 代码分成四个区 3 操作系统找到 main 函数入口执行 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 各区元素分析各区元素分析 1 4 函数调用模型函数调用模型 1 4 1 基本原理基本原理 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 1 4 2 内存四区模型和函数调用模型变量传递分析内存四区模型和函数调用模型变量传递分析 1 一个主程序有 n 函数

15、组成 c 编译器会建立有几个堆区 有几个栈区 2 函数嵌套调用时 实参地址传给形参后 C 编译器如何管理变量的生命周期 分析 函数 A 调用函数 B 通过参数传递的变量 内存空间能用吗 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 1 4 3 提示学好提示学好 C 语言的关键语言的关键 1 4 4 如何建立正确的程序运行内存布局图如何建立正确的程序运行内存布局图 内存四区模型 02 堆栈区生命周期训练 Char p1 abcdefg 返回基本类型 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 返回非基本类型 03 堆栈属性训练 测试 heap 生

16、长方向 测试 stack 生长方向 Heap stack 生长方向和内存存放方向是两个不同概念 野指针 Malloc 得到指针释放问题测试 free p free p 1 深入理解 1 6 作业强化作业强化 训练训练 1 划出内存四区划出内存四区 void main26 char buf 100 byte b1 new byte 100 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 int a 10 分配 4 个字节的内存 栈区也叫临时区 int p 分配 4 个字节的内存 p cpu 执行的代码 放在代码区 p 20 char p NULL 分配 4 个字节的内存 栈区也叫临时区 p char malloc 100 内存泄露概念 if p NULL free p system pause 全局区代码测试 char getstring1 char p1 abcde return p1 char getstring2 char p2 abcde return p2 轻松入门 实战应用 传智播客 C 学院 就业班第一阶段 C 提高课程 void main int i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号