还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机技术培训课件第一章计算机基础概述计算机发展历史与分类计算机的基本组成与工作原理计算机系统性能评价指标从第一代电子管计算机到现代量子计算机,深入理解冯·诺依曼体系结构,掌握运算器、了解计算机技术的演进历程掌握个人计算控制器、存储器、输入输出设备五大部件的机、服务器、嵌入式系统等不同类型计算机功能与协作关系,建立计算机系统整体认的特点与应用场景知计算机的工作过程指令执行的基本流程01输入环节每条指令的执行都遵循取指-译码-执行-回写四阶段流水线模式程序计数器PC指向下一条指令地址,指令寄存器IR存储当前指令,控制器CU负责协调各部件工通过键盘、鼠标、扫描仪等设备将外部信息转换为计算机可识别的数字信号作计算机体系结构简介02处理环节CPU执行指令,完成数据的算术运算、逻辑判断和控制操作03存储环节将数据和程序保存在内存或外存中,实现信息的持久化管理04输出环节通过显示器、打印机等设备将处理结果以人类可理解的形式呈现数据的机器级表示数制与编码二进制是计算机的基础语言,每一位只能是0或1十六进制作为简洁表示方式,广泛用于内存地址和颜色编码掌握不同进制间的转换方法是理解计算机数据表示的关键1•二进制逢二进一,如1011代表十进制11•十六进制用0-9和A-F表示,如0xFF代表255•八进制在Unix权限管理中常用原码、反码、补码2为了在计算机中统一加减法运算,引入补码表示法正数的原码、反码、补码相同;负数的反码为原码符号位不变其余取反,补码为反码加1补码运算可将减法转换为加法,简化硬件设计示例-5的8位表示为11111011(补码)IEEE754浮点数标准数据在计算机中的表示与传输二进制数据通过总线在CPU、内存、硬盘等部件间高速流动,时钟信号同步各部件工作节奏,数据总线、地址总线、控制总线协同完成信息交换第二章程序设计基础(语言)C语言发展历史与特点程序的基本结构C CC语言由Dennis Ritchie于1972年在贝尔实验室开发,#include stdio.h最初用于编写Unix操作系统它兼具高级语言的易读性和汇编语言的高效性,成为系统编程的首选语言int main{核心特点printfHello,World!\n;return0;•简洁紧凑的语法结构}•强大的指针操作能力•丰富的运算符集合每个C程序必须包含main函数作为程序入口预处理指令#include用于引入标准库程•良好的可移植性序从main函数开始执行,return0表示正常结束•直接操作硬件的能力常用数学库函数math.h提供了sqrt、pow、sin、cos等数学函数,使用前需包含头文件编译时需链接数学库(-lm参数)语言基本数据类型与变量C整型数据浮点型数据字符型数据int基本整数类型(通常32位)float单精度浮点数(32位,约7位有效数char存储单个字符(8位)short短整型(16位)字)实际存储的是ASCII码值long长整型(32或64位)double双精度浮点数(64位,约15位有可进行算术运算unsigned无符号变体,表示非负整数效数字)A的ASCII值为65科学计算推荐使用double类型变量的定义、初始化与作用域变量使用前必须先声明类型int age=25;未初始化的局部变量值作用域规则局部变量在函数内可见,全局变量在整个文件可见块作不确定,应养成初始化习惯用域变量在{}内有效,函数参数作用域限于函数体内运算与表达式算术运算符赋值与复合赋值+-*/%五种基本运算符=基本赋值,右结合性注意事项整数除法截断小数部分,5/2结果为2;取模运算符%仅用复合赋值运算符a+=5等价于a=a+5,同样适用于-=、*=、于整数,-7%3结果为-1;运算符优先级遵循数学规则,乘除优先于加/=、%=等,代码更简洁高效减关系与逻辑运算符条件运算符与逗号运算符关系==!===三目运算符max=aba:b;简洁表达条件选择逻辑(与)||(或)!(非)逗号运算符按顺序执行多个表达式,返回最后一个表达式的值,常短路特性运算中若左操作数为假则不计算右操作数;||运算中用于for循环若左操作数为真则不计算右操作数强制类型转换的应用场景当需要精确控制类型转换时使用强制转换double5/2得到
2.5而非2避免隐式转换带来的精度损失,特别是浮点与整型混合运算时程序流程控制核心条件分支结构循环结构if-else语句根据条件选择执行路径,for循环适合已知次数的迭代,while用switch-case用于多分支选择,提高代码于条件控制,do-while保证至少执行一可读性次循环体程序流程控制算法与流程图基础算法是解决问题的明确步骤序列,具有有穷性、确定性、可行性、输入输出四个基本特征流程图使用标准图形符号表示算法逻辑,包括椭圆形(开始/结束)、矩形(处理)、菱形(判断)、平行四边形(输入/输出)算法设计流程图绘制分析问题,确定输入输出,设计求解步骤用图形符号表示算法逻辑结构代码实现测试调试将算法转换为程序代码验证程序正确性并优化性能条件分支结构循环结构if-else语句单分支、双分支、多分支嵌套注意else与最近的未匹配if配对for循环for初始化;条件;增量三部分可选,适合计数循环switch-case语句整型或字符型表达式的多路分支,每个case后需break防止穿透,while循环先判断后执行,条件为假可能一次不执行default处理其他情况do-while循环先执行后判断,保证至少执行一次,分号不可省略函数与模块化设计函数定义与调用参数传递方式函数是完成特定功能的代码块,包括返值传递是C语言唯一的参数传递方式,回类型、函数名、参数列表和函数体函数接收参数的副本,修改不影响原变返回类型函数名参数类型参数名量通过传递指针可实现引用传递效{函数体}函数声明(原型)告知果,函数内修改指针指向的数据会影响编译器函数存在,定义提供具体实现原变量递归函数应用函数调用自身解决问题,必须有明确的终止条件防止无限递归经典应用阶乘计算、斐波那契数列、汉诺塔问题、树的遍历递归代码简洁但可能效率较低,需考虑栈空间消耗模块化设计原则高内聚低耦合每个函数完成单一明确的功能,函数间通过参数和返回值通信,减少全局变量使用合理的函数粒度提高代码可读性、可维护性和可复用性第三章数据结构基础数据结构是计算机存储、组织数据的方式,直接影响算法效率合理选择数据结构是编写高效程序的关键本章介绍最基础也最重要的几种数据结构线性表栈与队列树与二叉树最基本的数据结构,元素按线性顺序受限的线性表栈遵循后进先出非线性的层次结构树由节点和边组排列顺序表使用连续内存,支持随(LIFO)原则,应用于函数调用、表成,一个节点可有多个子节点二叉机访问,插入删除需移动元素链表达式求值、括号匹配等队列遵循先树每个节点最多两个子节点,是最常使用指针连接节点,插入删除灵活,进先出(FIFO)原则,应用于任务调用的树结构应用于文件系统、数据但不支持随机访问根据应用场景选度、广度优先搜索、打印队列等场库索引、编译器语法树、决策树等领择合适的实现方式景域线性表实现详解顺序表的存储结构与操作单链表的节点结构与基本操作使用数组实现,元素在内存中连续存储支持O1时间复杂度的随机访节点包含数据域和指针域,指针指向下一个节点需要头指针标识链表问,通过下标直接定位元素起始位置,最后节点指针为NULL基本操作基本操作插入需移动插入位置后的所有元素,平均时间复杂度On插入修改指针即可,时间复杂度O1(不含查找)删除需移动删除位置后的所有元素,平均时间复杂度On删除修改前驱节点指针,时间复杂度O1(不含查找)查找顺序查找On,有序表可用二分查找Olog n查找必须从头遍历,时间复杂度On优点存储密度高,访问速度快优点插入删除灵活,动态分配内存缺点插入删除效率低,表长难以扩充缺点不支持随机访问,存储指针占用额外空间典型应用案例分析顺序表应用成绩管理系统(频繁查询少量修改)、图像像素存储(需要随机访问)链表应用浏览器历史记录(频繁插入删除)、多项式运算(项数动态变化)、LRU缓存淘汰算法栈与队列应用栈的顺序实现队列的顺序实现使用数组存储,栈顶指针top指示当前栈顶位置入栈top++,出栈top--需判断栈使用循环队列避免假溢出维护队头front和队尾rear指针,入队满和栈空状态rear=rear+1%MaxSize,出队front=front+1%MaxSize123栈的链式实现使用链表存储,栈顶在链表头部入栈头插法插入新节点,出栈删除头节点无需判断栈满,仅需判断栈空括号匹配算法示例队列的典型应用利用栈的后进先出特性检查括号是否匹配遇到左括号入栈,遇到右括号与栈顶元素匹配,操作系统进程调度队列、打印任务队列匹配成功则弹出栈顶元素最终栈为空则匹配成功网络通信数据包缓冲队列、消息队列图算法广度优先搜索BFS算法步骤模拟系统银行排队、超市结账
1.初始化空栈
2.扫描表达式队列保证了任务按到达顺序处理,体现公平性原则
3.左括号入栈
4.右括号匹配栈顶
5.检查栈是否为空树的基本概念树的定义与性质二叉树的遍历方法二叉树的存储方式树是n(n≥0)个节点的有限集合,n=0时前序遍历(先根)根→左子树→右子树顺序存储使用数组,节点i的左孩子为为空树非空树有唯一根节点,其余节点中序遍历(中根)左子树→根→右子树2i,右孩子为2i+1,适合完全二叉树划分为m(m≥0)个互不相交的子树后序遍历(后根)左子树→右子树→根链式存储节点包含数据域、左指针、右基本术语节点的度(子节点个数)、树遍历可用递归或栈实现中序遍历二叉搜指针,灵活但占用更多空间的度(最大节点度数)、叶子节点(度为索树可得有序序列特殊二叉树满二叉树(所有分支节点都0)、分支节点(度不为0)、节点的层次有两个子节点)、完全二叉树(除最后一(根为第1层)、树的高度(最大层次)层外,所有层节点数达到最大)数据结构的形象理解链表像火车车厢,每节栈像弹夹,子弹后进先树像家族谱系,祖先在车厢通过连接器相连,可出,最后装入的子弹最先上,子孙在下,层次分灵活增减车厢射出明第四章操作系统基础操作系统是计算机系统的核心软件,管理硬件资源,为应用程序提供服务理解操作系统原理对系统编程和性能优化至关重要操作系统的作用操作系统的分类作为用户与硬件的接口,提供资源管理(CPU、内存、设备)、文件管理(存批处理系统成批处理任务,无交互储组织)、进程管理(任务调度)、安全保护(权限控制)等功能隐藏硬件分时系统多用户轮流使用CPU,响应及时复杂性,提供友好的编程接口实时系统保证任务在限定时间内完成网络/分布式系统资源共享与协同工作进程与线程管理进程程序的执行实例,拥有独立的地址空间和资源进程间相互独立,通过IPC线程进程内的执行单元,共享进程地址空间线程切换开销小于进程,适合并(管道、消息队列、共享内存)通信发任务进程状态就绪、运行、阻塞CPU通过进程调度算法(先来先服务、短作业优多线程编程需注意同步互斥问题,使用互斥锁、信号量、条件变量等机制避免数先、时间片轮转、优先级调度)分配处理器时间据竞争和死锁内存管理与虚拟内存内存管理负责分配回收内存、地址转换、内存保护虚拟内存技术使程序可使用超过物理内存大小的地址空间,通过页面置换算法(LRU、FIFO、Clock)在内存和磁盘间交换数据分页机制将地址空间划分为固定大小页面,页表记录虚拟页到物理页的映射文件系统与设备管理文件的组织与访问方式文件是存储在外存上的相关信息集合目录结构单级、两级、树形、无环图文件属性包括名称、类型、位置、大小、权限、时间戳等1访问方式顺序访问(磁带)、随机访问(磁盘)文件分配连续分配、链接分配、索引分配设备驱动程序简介驱动程序是操作系统与硬件设备的接口,将设备的特定操作转换为统一的系统调用接口I/O控制方式程序直接控制、中断驱动、DMA、2通道设备分类字符设备(键盘、鼠标)、块设备(硬盘、U盘)操作系统安全机制3用户认证密码、指纹、双因素认证访问控制自主访问控制DAC、强制访问控制MAC、基于角色的访问控制RBAC系统保护地址空间隔离、权限级别划分(用户态/内核态)、系统调用接口病毒防护、防火墙、入侵检测系统IDS增强系统安全第五章计算机网络基础计算机网络将地理上分散的计算机通过通信线路连接,实现资源共享和信息传递理解网络原理是现代IT从业者的必备技能网络体系结构主要网络协议OSI七层模型物理层、数据链路层、网络层、传输层、会话层、表示IP网络层,负责寻址和路由层、应用层理论模型,清晰划分各层职责TCP传输层,可靠的面向连接协议TCP/IP四层模型网络接口层、网络层、传输层、应用层实际互联网UDP传输层,不可靠的无连接协议采用的模型,更贴近实现HTTP应用层,Web服务协议DNS域名解析协议局域网与广域网基础局域网LAN覆盖小范围(建筑物、校园),高速率、低延迟以太网是最常用的局域网技术,采用CSMA/CD介质访问控制无线局域网WLAN使用IEEE
802.11标准(WiFi)广域网WAN覆盖大范围(城市、国家),速率相对较低、延迟较高互联网是最大的广域网,由无数子网通过路由器互联而成网络设备与配置路由器交换机网卡工作在网络层,连接不同网络,根据路由表转发数据包工作在数据链路层,连接同一网络内的多台设备根据计算机连接网络的接口,实现物理层和数据链路层功能维护路由信息,选择最佳路径支持NAT地址转换、防火MAC地址表转发数据帧,实现高速交换支持VLAN划有线网卡使用RJ45接口,无线网卡支持WiFi每块网卡有墙、VPN等功能家庭/企业网络的核心设备分、端口镜像、生成树协议STP提高局域网性能的关键设唯一的MAC地址(48位)现代主板多集成网卡芯片备地址与子网掩码网络安全基础IPIPv4地址32位,点分十进制表示,如
192.
168.
1.1分为A、B、C、D、E五类私有防火墙监控和控制网络流量,根据规则允许或阻止数据包分为包过滤、状态检测、地址(
10.
0.
0.0/
8、
172.
16.
0.0/
12、
192.
168.
0.0/16)用于内网,公网地址用于互联应用层防火墙网加密技术对称加密(DES、AES)、非对称加密(RSA)、哈希函数(MD
5、SHA)子网掩码划分网络号和主机号
255.
255.
255.0表示前24位为网络号CIDR表示法HTTPS使用SSL/TLS协议加密通信
192.
168.
1.0/24网络编程基础常用网络通信模型TCP Socket编程流程多进程/多线程模型每个连接分配独立进程或线程I/O多Socket编程简介服务器创建socket→绑定地址bind→监听listen→接受连路复用select/poll/epoll监控多个socket事件驱动模Socket(套接字)是网络编程的基本接口,提供进程间通信接accept→读写数据recv/send→关闭close型异步非阻塞I/O,高并发性能好机制分为流式Socket(TCP)和数据报Socket客户端创建socket→连接服务器connect→读写数据(UDP)Socket由IP地址和端口号唯一标识send/recv→关闭close简单客户端-服务器示例服务器代码框架客户端代码框架socket//创建套接字socket//创建套接字bind//绑定地址connect//连接服务器listen//开始监听send//发送请求while1{recv//接收响应accept//接受连接close//关闭连接recv//接收数据send//发送响应实际应用需处理错误、超时、并发等问题close//关闭连接}网络结构与通信路径数据包在网络中的传输路径由路由协议动态决定常见拓扑结构包括星型、总线型、环型、网状型现代网络多采用星型和网状混合拓扑,兼顾可靠性和灵活性第六章数据库基础数据库系统概述关系数据库与SQL基础数据库是长期存储在计算机内、有组织、可共享的数据集合数据库管理系统DBMS是管理数据库的关系模型用二维表(关系)表示实体和联系表由行(元组)和列(属性)组成主键唯一标识每软件,提供数据定义、操作、控制功能一行,外键建立表间关系数据库系统的特点SQL语言结构化查询语言,包括数据定义DDL(CREATE、ALTER、DROP)、数据操作DML(SELECT、INSERT、UPDATE、DELETE)、数据控制DCL(GRANT、REVOKE)•数据结构化,减少冗余•数据独立性高•统一管理和控制•支持并发访问•数据安全性和完整性数据库设计与范式0102需求分析概念设计调查用户需求,确定数据内容和使用方式绘制E-R图,描述实体、属性和联系0304逻辑设计物理设计将E-R图转换为关系模式,进行规范化选择存储结构,建立索引,优化性能范式理论1NF(属性不可分)、2NF(消除部分依赖)、3NF(消除传递依赖)、BCNF(消除主属性对码的部分和传递依赖)范式越高冗余越少,但查询可能需要更多连接操作实际设计需权衡范式和性能语言实用操作SQL123数据查询()数据更新操作简单事务管理SELECT基本语法SELECT列名FROM表名插入INSERT INTO表名列1,列2事务特性ACID原子性、一致性、隔离WHERE条件VALUES值1,值2性、持久性常用子句ORDER BY排序、GROUP BY分更新UPDATE表名SET列=值WHERE条事务控制BEGIN TRANSACTION开始、组、HAVING分组过滤、LIMIT限制结果件COMMIT提交、ROLLBACK回滚数删除DELETE FROM表名WHERE条件事务确保一组操作要么全部成功,要么全部连接查询INNER JOIN内连接、LEFT失败,保证数据完整性转账、订单处理等务必使用WHERE子句指定条件,避免误操JOIN左外连接、RIGHT JOIN右外连接、业务必须使用事务作影响全表数据更新前建议先用SELECTFULL JOIN全外连接验证WHERE条件正确性聚合函数COUNT计数、SUM求和、AVG平均、MAX最大、MIN最小第七章软件工程与项目管理软件开发生命周期软件从概念到退役的全过程,包括计划、分析、设计、实现、测试、部署、维护七个阶段不同开发模型(瀑布、迭代、敏捷)对各阶段的强调和顺序有所不同需求分析系统设计确定用户需求,编写需求规格说明书明确系统功能、性能、约束条件概要设计确定系统架构,详细设计规定模块实现绘制流程图、类图、时序图等编码实现测试与部署按设计文档编写代码,遵循编码规范进行单元测试,保证代码质量集成测试、系统测试、验收测试修复缺陷后部署上线,提供用户培训版本控制与团队协作工具版本控制系统Git是目前最流行的分布式版本控制系统核心概念仓库repository、提交协作平台GitHub、GitLab、Bitbucket提供代码托管、问题跟踪、持续集成等服务commit、分支branch、合并merge、冲突conflict项目管理工具Jira、Trello、禅道用于任务分配、进度跟踪、需求管理提高团队协作效工作流程克隆→创建分支→修改代码→提交→推送→拉取请求→代码审查→合并率,保证项目可控软件测试与质量保证测试类型与方法按测试阶段单元测试(模块级)、集成测试(模块组合)、系统测试(整体功能)、验收测试(用户角度)按测试技术黑盒测试(不关注内部实现)、白盒测试(检查代码逻辑)、灰盒测试(结合两者)按测试目的功能测试、性能测试、安全测试、兼容性测试、可用性测试缺陷管理流程缺陷(Bug)是软件未达到预期的问题缺陷生命周期新建→指派→修复→验证→关闭缺陷报告要素标题、严重程度、优先级、重现步骤、预期结果、实际结果、环境信息、附件截图清晰的缺陷描述能加快修复速度使用缺陷跟踪系统(Bugzilla、Mantis、Jira)管理缺陷,生成统计报告,分析质量趋势持续集成与自动化测试持续集成CI频繁地将代码集成到主干,每次集成通过自动化构建和测试验证Jenkins、Travis CI、GitLab CI是常用工具自动化测试编写测试脚本自动执行测试用例单元测试框架(JUnit、pytest)、UI自动化工具(Selenium)、性能测试工具(JMeter)自动化测试提高测试效率和覆盖率,尽早发现问题,降低修复成本第八章前沿技术与发展趋势计算机技术日新月异,新兴技术不断涌现,深刻改变着社会生活和产业格局了解前沿技术趋势,把握发展方向,是技术人员保持竞争力的关键人工智能与机器学习云计算AI模拟人类智能,ML让计算机从数据中学习深通过网络提供按需可扩展的计算资源IaaS、度学习、神经网络、自然语言处理、计算机视觉PaaS、SaaS三种服务模式主流平台AWS、等技术快速发展,应用于自动驾驶、医疗诊断、Azure、阿里云降低IT成本,提高资源利用智能推荐等领域率大数据通信5G海量、高速、多样的数据及处理技术第五代移动通信技术,高速率、低延迟、大Hadoop、Spark等分布式计算框架,数据连接支持自动驾驶、远程医疗、工业控制挖掘、数据可视化技术帮助企业洞察商业等应用推动万物互联时代到来趋势,辅助决策区块链物联网去中心化的分布式账本技术加密货币、智能合物理设备通过传感器、网络互联智能家居、工约、供应链溯源特点去中心化、不可篡改、业互联网、智慧城市边缘计算将数据处理下沉透明可信改变金融、物流等行业运作模式到网络边缘,降低延迟,减轻云端压力实践环节与案例分析典型项目演示通过实际项目案例,展示从需求分析到系统实现的完整流程项目示例学生成绩管理系统(数据库应用)、简易聊天程序(网络编程)、个人博客网站(Web开发)每个项目涵盖多个知识点,帮助学员融会贯通编程实训指导网络配置与故障排查代码规范命名清晰、注释充分、格式IP配置静态IP设置、DHCP配置统一连通性测试ping、traceroute命令调试技巧使用断点、日志、调试工具端口检查telnet、netstat命令定位问题DNS解析nslookup、dig工具代码重构消除重复、提取函数、优化掌握基本的网络诊断工具,能够快速定结构位和解决常见网络问题,是系统管理员性能优化算法改进、缓存机制、并发的必备技能处理实践是检验真理的唯一标准,动手编程是提高编程能力的最佳途径课程总结与学习建议夯实基础动手实践计算机原理、数据结构、算法是核心基础,必须深入理解掌握编程是实践技能,多写代码、多做项目,在实践中提升能力参与社区持续学习加入技术社区,参与开源项目,与他人交流分享,共同成长技术更新快,保持学习热情,关注新技术,不断扩展知识面计算机技术学习路径规划入门阶段(0-6个月)1学习一门编程语言(推荐Python或C),掌握基本语法和编程思维了解计算机基础知识,培养兴趣2进阶阶段(6个月-2年)深入学习数据结构与算法,掌握面向对象编程学习数据库、操作系统、计算机网络等核心课程专业阶段(2-5年)3选择专业方向(前端、后端、移动、AI等),深入钻研参与实际项目,积累工程经验4精进阶段(5年以上)成为某领域专家,具备架构设计能力关注技术前沿,能够解决复杂问题,指导他人成长致谢与互动问答感谢参与感谢各位学员全程参与本次计算机技术培训课程!希望通过系统学习,大家对计算机技术体系有了全面认识,掌握了核心知识和实用技能学习之路漫长而充实,愿大家保持热情,勇于探索,在技术的道路上不断前行,实现自己的职业目标和人生价值现场答疑与讨论联系方式与后续支持欢迎提出学习中遇到的问题和困惑,讲师将逐一解答也欢迎分享您的课程资料课件、代码示例、参考资料已上传至学习平台学习心得和项目经验,互相交流促进共同成长在线答疑加入技术交流群,持续提供学习支持进阶课程后续将推出专项深度课程,欢迎继续学习祝各位学员学有所成,前程似锦!。
个人认证
优秀文档
获得点赞 0