2022年编程范式 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年编程范式 .pdf》由会员分享,可在线阅读,更多相关《2022年编程范式 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、介绍 :课程介绍:c 和 c+高级内存管理特征。命令范式和面向对象范式的差别。函数范式-使用 LISP和并发编程 -使用 c 和 c+。简单介绍一些其他流行的语言,如Python、Objective-C和 C# 。课程前提要求:抽象层次的编程和问题解决。未来的学生应该对c+有合理了解。你应该对数组、指针、引用、类、方法、动态内存分配、递归、链表、二叉搜索树、哈希、迭代器和函数指针。你应该能够写出结构清晰、方便阅读的代码,并且意识到变量的良好命名、短函数和方法实现、必要的和清晰的评注。Lecture1 主题:管理的细节,考试-时间限制,冲突,课程分数划分,作业细节-小作业,评分,缓交日期,课程e
2、mail,Newsgroup,Facebook/Twitter ,邮件发送清单,课程前提要求,编程语言和范式 -c+对比纯 c,过程范式对比面向对象编程,汇编,并发编程概况,并发编程数据共享问题的例子,scheme,函数范式的概况,Python 简介,优势和常用法。Lecture2 主题:c/c+ 数据类型 -解释,大小,位-字节怎么分成位, 将字符的十进制值转化成位结构,短型 -解释包含超过一个字节的数据,负数的表示, 符号位, 两个额外的实现,char 和 short类型的转换,位代表如何转换,int 和 short 转换,转换的符号扩展,浮点型,在整形和浮点型的转换。Lecture3 主
3、题:用指针在不同大小和位表示之间的转换,little Endian 对比 big Endian,结构体:结构体的数据如何存储,获取结构体数据的获取,数组, 数组的指针计算,将数组转换成其他类型的结果,结构体在内存的布局,c 中 string 的动态分配对比字符数组,使用strcpy 修正结构体内部数据,字符数组和cout,c 动态函数中使用内存和指针Lecture4 创建一个任意大小数据结构的泛型交换函数,void* 泛型指针类型,使用memcpy 实现交换函数, 交换泛型函数的界面,c 泛型的优缺点对比c+泛型,c 泛型交换函数编译的不正常使用的结果,交换指针,使用泛型交换指针的陷阱,实现泛
4、型线性搜索,使用cast 和指针算术,用 memcmp 或比较函数来比较内存块。Lecture5 泛型 L 搜索 -原型,比较函数,实现,将Void* S转换成 Char* S用于计算Byte 便宜,泛型L搜索的客户端使用,比较函数比较整数的例子,更复杂的数据结构和L 搜索 -使用 C-Strings的例子, 比较两个C-Strings的比较函数, 带有表示Char*S 的参数, 关键字第一二参数是不同类型的比较函数,使用结构体的指针作为关键字来获取比较函数中的额外数据,函数对比方法, C数据结构 实现整数的非泛型栈,c 栈的接口,实现,内存预分配,c 栈的客户端使用,栈内部内存的状态,栈变得
5、很大时内存的增长,新建栈的实现,断言。Lecture6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 主题:栈的实现构造器和析构器,入栈实现,当用realloc 栈过大时内存的重分配,使用realloc 内存是怎么复制的,栈顶的实现, 重新实现栈接口作为泛型数据结构,新建栈的泛型实现,使用memcpy 的入栈的泛型实现,栈增长的实现,静态(内部)函数,使用memcpy实现泛型出栈,这是调用者的职责来分配存储的出栈元素的内存。L
6、ecture7 主题: 内存拥有者的问题,析构栈的实现为什么不释放动态分配的数据,添加自由函数到栈的实现,重写栈析构来吸收,为C-Strings 的栈写入自由函数,写这些函数的陷阱,作业3的 C 库函数 Memmove (使用重叠的两个区域的可以复制的Memcpy ) ,旋转函数的例子,C Qsort 函数,内存全局布局栈段,堆段,堆管理者如何在堆上释放和分配内存,自由节点信息的基础链表。Lecture8 主题:堆管理 分配信息是如何存在堆中,不正确释放内存的结果,堆分配的实际大小2的最近的幂,通过在自由内存的块中存储地址来管理堆中的自由块,选择自由块分配算法,当内存被释放后堆的自由链表如何更
7、新,临近块如何被合并来避免碎片,使用 Handles 来压缩堆,通过减少栈指针在栈上分配本地变量,在嵌套函数调用中的激活记录和栈指针状态,汇编代码和代码段,RAM,寄存器,和算术逻辑单元,算术表达式被转换为寄存器操作的例子。Lecture9 主题:代码片如何被转换成汇编指令,存储,载入,和算术逻辑单元操作,4 字节地址的汇编优化,上下文敏感的代码转换,重写汇编指令中默认的4 字节,将for 循环转换为汇编,使用分支指令和PC寄存器,汇编中指针/数组计算,无条件分支指令(Jumps) ,4 字节的汇编指令在内存中如何编码Lecture10 主题: 激活记录的更多细节在函数调用中的内存分配,栈中函
8、数返回地址如何存储,激活记录在栈中构建的例子,在栈中建立函数参数,使用call 指令跳到函数,在函数结束时清理与使用 RET指令和存储的返回地址来返回原函数,激活信息的大致布局,激活信息的每个部分的建立, 阶乘函数的汇编代码转换,递归如何转换为汇编,在其他函数被调用时寄存器要重载的原因,阶乘函数汇编执行的动画展示。Lecture11 主题:从c 代码的产生到c+代码的产生:基本的交换例子,指针交换函数的代码产生,使用引用在c+版本的交换函数的代码产生,这被当做自动解除指针引用,本地变量声明为引用,引用和指针的不同,在栈中空间声明类的效果,类方法, 它把 this 指针隐式地当做第一个参数, t
9、his 指针对类方法在激活记录中的作用,静态类方法 (独立函数) 不包括 this 指针,编译和链接 -#define 和预处理。Lecure12 主题:预处理指令- #Define 是一个很好的找到和替代的预处理宏- 带参数的预处理指令,在容器中找到第n 个元素地址的宏指令例子。断言的宏指令实现。断言是如何使用#ifdef 和#define 从最终产品脱离出去的。当给出更多复杂参数时C 宏的缺点。 #include 作为搜索和名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年编程范式 2022 编程 范式
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内