- 博客(28)
- 收藏
- 关注
原创 计算机组成原理:中央处理器(408考研版)
本文系统介绍了CPU的组成结构与工作原理。主要内容包括: CPU由控制器、运算器、寄存器组和内部总线构成,其中控制器包含PC、IR等关键部件,运算器以ALU为核心; 寄存器分为用户可见(如GPRs、PC)和不可见(如MAR、MDR)两类,分别实现不同功能; CPU具备取指译码、执行运算、异常处理等六大核心功能; 指令周期可分为取指、译码、执行、访存和写回五个典型阶段; 通过部件详解和示意图,展示了各功能模块的协作关系和工作原理。 全文以结构化方式呈现CPU的体系架构,适合计算机体系结构学习者系统掌握CPU设
2026-08-06 16:19:01
328
原创 【期末复习,408 考研计组全程笔记 】— 第4章 :指令系统
指令系统核心知识摘要 本文系统梳理了计算机指令系统的核心概念与知识体系。主要内容包括: 指令系统基本概念:指令是计算机运行的最小功能单位,指令系统是所有指令的集合,处于软硬件交界层。指令集架构(ISA)定义了程序员可见的硬件特性,包含指令集、寄存器模型、寻址方式等七大要素。 ISA与微架构区别:ISA是规范标准(如篮球规则),微架构是具体实现(如球场设计)。同一ISA可有不同微架构实现(如Intel各代CPU)。 指令格式分类: 按地址码数量分为零地址(堆栈操作)、一地址(隐含ACC)、二地址(常见运算)、
2026-07-23 08:41:40
399
原创 【期末复习,408考研数据结构精讲:单链表、双链表与循环链表全解析】
单链表是一种基础链式结构,每个结点包含数据域和指向后继的指针。它具有动态内存分配、插入删除高效(O(1))的优点,但存在单向遍历、查找效率低(O(n))等缺点。单链表核心操作包括初始化、插入、删除、查找和遍历。双链表通过增加前驱指针(prior)解决了单链表的局限性,支持双向遍历。双链表的插入操作需严格按顺序修改指针,避免空指针错误。两种链表各有所长,双链表以空间换取了更高效的前驱访问能力。
2026-07-12 22:11:24
456
1
原创 期末复习,408考研数据结构精讲:单链表的定义、实现、核心操作与逆置
本文系统梳理了单链表的核心知识点,从定义、代码实现到基本操作,重点包括: 单链表定义与实现 逻辑结构为线性表,存储结构为链式(非连续) 结点包含数据域和指针域,通过typedef定义LNode和LinkList 带头结点方式更优,简化插入删除操作 基本操作 插入:重点掌握后插操作(O(1)),注意指针修改顺序 删除:需先找到前驱结点 按位序操作需遍历链表(O(n)) 关键对比 顺序表:随机存取O(1)但扩容成本高 单链表:插入删除灵活但查找需遍历 注意事项 malloc动态分配内存需手动释放 带头结点实现可
2026-07-11 20:44:16
435
原创 期末复习,408考研数据结构:线性表与顺序表实现(概念、C代码及时间复杂度全解析)
本文系统介绍了线性表和顺序表的核心概念、实现原理与操作复杂度分析。主要内容包括: 线性表定义与特性:有限、有序、同质的元素序列,是最基础的逻辑结构 顺序表实现方式:静态分配(定长数组)和动态分配(可扩容数组) 核心操作实现: 插入操作:平均时间复杂度O(n) 删除操作:平均时间复杂度O(n) 按值查找:平均时间复杂度O(n) 随机存取特性:通过地址计算公式实现O(1)访问 顺序表作为线性表最基本的存储结构,是理解更复杂数据结构的基础,其核心思想(如连续存储、随机存取)在后续学习中会反复出现。
2026-07-10 20:31:41
509
原创 期末复习,408考研数据结构:第一章绪论完整知识梳理与真题深度解读
摘要: 数据结构是计算机考研408的核心内容,第一章“绪论”作为基础,常被忽视却至关重要。文章结合考纲和王道教材,系统梳理了数据结构的核心考点: 基本概念:数据、数据元素、数据项的层级关系,数据类型与抽象数据类型(ADT)的定义与区别。 数据结构三要素:逻辑结构(线性/非线性)、存储结构(顺序/链式/索引/散列)及其与算法设计的关系,强调逻辑结构决定算法设计,存储结构影响实现效率。 算法评价:时间复杂度的分析方法(大O表示法、加法/乘法规则)与常见阶数比较,空间复杂度的定义及辅助空间计算,区分原地算法与非原
2026-07-09 21:04:50
716
原创 深入理解C/C++程序的翻译环境与运行环境
本文深入剖析了C/C++程序从源代码到可执行文件的生命周期,分为翻译环境和运行环境两大阶段。翻译环境包括预处理(文本替换)、编译(词法/语法/语义分析)、汇编(生成机器码)和链接(符号决议与重定位)四个关键步骤;运行环境则涵盖程序加载、执行入口、内存管理(栈/堆/静态区)和终止过程。理解这些底层机制对调试编译错误、优化程序性能、解决内存问题至关重要,既是开发者必备的理论基础,也是面试考察的核心知识点。通过掌握程序完整的生命周期,开发者能够更高效地定位问题并编写健壮的代码。
2026-06-19 16:38:24
529
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十五讲:动态内存管理
本文系统讲解了C语言动态内存管理的核心概念和关键技术。首先分析了传统静态内存分配的局限性,引出了动态内存分配的必要性。重点介绍了四个关键函数:malloc用于申请内存、free用于释放内存、calloc能初始化分配的内存、realloc可调整已分配内存大小。文章详细剖析了常见的内存管理错误,如空指针解引用、越界访问、错误释放等,并通过经典笔试题加深理解。最后介绍了柔性数组特性和程序内存区域划分。全文强调了动态内存管理的重要性,并提供了使用这些函数时的最佳实践和注意事项,帮助开发者避免内存泄漏和访问错误。
2026-06-18 18:55:42
486
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十四讲:⾃定义类型:结构体
本文深入探讨了C语言结构体的关键知识点,包括声明定义、内存对齐、传参优化和位段使用。主要内容涵盖:1)结构体基础语法与变量初始化方式;2)匿名结构体和自引用实现链表的注意事项;3)结构体内存对齐规则及成员顺序对空间占用的影响;4)传参时优先使用指针减少开销;5)位段的声明方法和节省空间的特性。通过代码示例和内存布局分析,帮助开发者深入理解结构体底层机制,优化程序性能和内存使用。
2026-06-17 23:43:58
295
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十三讲:数据在内存中的存储
本文深入解析C/C++中数据在内存的存储机制,重点探讨整数补码、大小端字节序和浮点数IEEE 754标准。主要内容包括:1) 整数存储采用补码形式实现统一运算;2) 大端模式(高位低址)与小端模式(低位低址)的区别及判断方法;3) 整型提升规则对类型转换的影响;4) 通过典型代码案例揭示数据存储的底层原理,如char类型在不同符号性下的整型提升差异。通过系统分析,帮助开发者深入理解内存数据表示,编写更健壮的底层代码。
2026-06-16 20:18:40
2660
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
本文摘要:本文深入解析C语言中指针与数组的核心难点,通过7个sizeof/strlen对比案例和7道指针运算笔试题,从内存角度剖析二者的本质区别。重点讲解数组名的"双重身份"特性、指针运算规则及地址偏移原理,帮助读者掌握编译时确定的sizeof与运行时扫描的strlen的关键差异,解决多级指针、二维数组等复杂场景下的常见错误。全文以图示化内存模型和逐行代码解析,为C语言学习者和求职者提供实战指南。
2026-06-15 17:42:47
478
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十一讲:深入了解指针(四)
return x / y; } void menu() { printf("\n"); printf(" 1. add 2. sub \n"); printf(" 3. mul 4. div \n")
2026-06-14 21:14:35
361
原创 【2个月 C 语言从入门到精通:零基础系统教程】第十讲:深入了解指针(三)
文章摘要: 本文深入探讨C语言中数组与指针的关系,解析数组名的本质(首元素地址,但sizeof(arr)和&arr例外),演示指针访问数组的灵活操作,并揭示一维数组传参时退化为指针的特性。通过冒泡排序实例强化指针操作,引入二级指针的概念及其应用场景,最后用指针数组模拟二维数组的实现。关键结论包括:数组传参需额外传递长度、指针数组的灵活内存管理,以及二级指针修改一级指针的能力。全文结合代码示例,为后续学习字符串和数据结构奠定基础。 (字数:149)
2026-06-14 21:13:24
367
原创 【2个月 C 语言从入门到精通:零基础系统教程】第九讲:深入了解指针(二)
本文深入探讨了C语言指针的进阶使用技巧。首先分析了const修饰指针的不同位置对指针行为的限制(*左边限制内容修改,*右边限制指向修改);然后剖析了野指针的三种成因(未初始化、越界访问、指向已释放空间)及规避方法(初始化、防越界、及时置NULL);介绍了assert断言在调试中的使用;最后通过模拟strlen函数和实现两数交换函数,对比了传值调用与传址调用的本质区别,展示了指针在实际问题中的必要性。文中配有代码示例和调试截图,帮助读者从理论到实践全面掌握指针的进阶应用。
2026-06-06 17:22:44
397
原创 2 个月 C 语言从入门到精通:零基础系统教程】第八讲:深入了解指针(一))
本文深入讲解了C语言中指针的核心概念及其应用。首先介绍了内存地址与变量的关系,指出指针是存储地址的特殊变量。随后详细解析了指针的操作符(&和*)、类型意义及void*泛型指针的特性。文章通过代码示例展示了指针的三种基本运算:指针加减整数、指针间减法以及关系运算,并强调了指针类型对解引用和运算的影响。最后指出指针作为C语言的核心特性,直接内存操作能力使其成为实现高效程序、动态内存管理和复杂数据结构的基础。全文配有可视化图表,帮助读者直观理解指针的工作原理。
2026-06-06 16:14:48
358
原创 【期末复习,408 考研计组全程笔记 | 计算机组成原理超详细详解】— 第3章 :存储系统
存储器是计算机系统的核心组成部分,承担着程序与数据的存储任务,是 CPU 能实现自动执行指令的基础。不同类型的存储器在速度、容量、成本上各有取舍,也因此形成了层次化的存储结构。本文将从存储器的分类与性能指标入手,依次介绍半导体随机存取存储器(SRAM/DRAM)、主存扩展方式(高位 / 低位交叉编址),最后延伸到高速缓存 Cache 的工作原理。全文以 408 考研考点为纲,兼顾原理理解与应试应用,帮你构建完整的存储器知识体系。存储器是计算机系统的重要组成部分,用来存放程序和数据。
2026-05-05 20:10:47
735
原创 【2 个月 C 语言从入门到精通:零基础系统教程】第七讲:递归深度解析 —— 思想拆解 + 阶乘 / 斐波那契实战 + 递归 vs 迭代全对比
递归,作为编程中一种经典的问题解决思路,是C语言学习绕不开的核心知识点。很多初学者第一次接触递归时,都会被“函数自己调用自己”的逻辑绕晕,甚至觉得递归既抽象又难理解,写出的代码要么陷入死循环,要么结果完全不对。但递归的本质,其实就是大事化小、小事化了的分治思想。只要抓住它的核心逻辑和限制条件,就能轻松驾驭。
2026-05-01 17:48:49
501
原创 【学完 C 语言基础,用这个扫雷项目练手就够了】:数组和函数实践——扫雷游戏
本文将以扫雷游戏为载体,从功能需求拆解、数据结构设计、文件结构规划,到核心代码逐模块实现,完整记录一个 C 语言控制台扫雷游戏的开发过程。无论你是刚学完数组与函数的 C 语言新手,还是想通过经典项目回顾编程基础的开发者,都能通过本文清晰的步骤讲解,掌握扫雷游戏的实现原理,并动手写出可运行的完整代码。同时,文章最后也会分享扫雷游戏的拓展方向,帮助大家在基础版本之上实现更多进阶功能
2026-04-29 17:52:18
971
原创 【期末复习,408 考研计组全程笔记 | 计算机组成原理超详细详解】— 第2章 :数据的表示和运算
本文系统介绍了计算机数据表示与运算的核心知识,重点包括:1)数制转换方法,特别是十进制与二进制的相互转换;2)定点数的编码表示,详细解析了原码、反码、补码和移码四种编码方式;3)C语言中整数类型的存储特性及类型转换规则,包括有符号与无符号数的转换机制。文章以考点为导向,通过清晰的图表对比和实例说明,为计算机组成原理的学习提供了实用的复习框架,特别适合快速掌握数值编码的关键概念和运算原理。
2026-04-25 17:10:13
960
原创 【2 个月 C 语言从入门到精通:零基础系统教程】第六讲:函数模块全知识点详解
本文完整梳理了 C 语言函数模块的全部核心知识点,从基础概念到工程化多文件编程,形成了完整闭环的知识体系,现将全文核心内容汇总如下:基础概念:函数的本质是实现代码封装与复用,分为系统自带的库函数与开发者自行编写的自定义函数,合理使用函数可以拆分程序逻辑、减少代码冗余。形参与实参:明确了形参与实参的定义、内存特性,二者是单向值传递的关系,函数调用时实参将数值拷贝给形参,函数内部形参的修改不会影响外部实参本身。return 语句核心规则1. 函数未显式书写返回类型时,C89 标准默认返回类型为int;
2026-04-20 23:04:49
763
原创 【2个月 C语言从入门到精通:零基础系统教程】第五讲:数组核心全解 — 一维+二维数组完整知识点全覆盖
在 C 语言基础语法的学习过程中,数组是我们接触到的第一个批量处理数据的复合数据类型,也是后续字符串、函数、指针、数据结构学习的重要基础。在之前的学习中,我们定义的单个变量只能存储一个数据,当需要批量管理大量同类型数据(如批量存储成绩、多个数值、字符序列)时,单个变量会变得繁琐且难以维护。而数组正是为解决这类场景诞生,它可以在内存中开辟连续的空间,统一管理大量相同类型的数据。本文将会按照循序渐进的学习逻辑,完整讲解 C 语言数组的全部核心知识点:从数组基础概念出发,依次详解一维数组的创建、初始化、下标访
2026-04-19 17:21:02
736
原创 【C 语言入门实战:随机数详解与猜数字游戏完整实现】
掌握了前⾯学习的这些知识,我们就可以写⼀些稍微有趣的代码了,⽐如:写⼀个猜数字游戏电脑⾃动⽣成1~100的随机数玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束提示:以下是本篇文章正文内容,下面案例可供参考本篇完成了从零散语法学习到小型综合项目实战的跨越。我们不仅攻克了 C 语言随机数模块的全部难点:厘清了伪随机数、随机种子、时间戳的底层原理,掌握了任意区间随机数的通用生成方法;
2026-04-18 23:08:33
550
原创 【期末复习,408 考研计组全程笔记 | 计算机组成原理超详细详解(含真题习题 + 图文全解)】— 第1章 :计算机系统概述
随着计算机考研 408 统考的全面普及,计算机组成原理作为 408 考试三门核心科目(数据结构、计算机组成原理、操作系统、计算机网络)里,概念抽象、硬件底层难理解、考点细碎且分值占比极高的科目,一直是很多备考同学、在校期末复习同学的重难点。很多同学在初学计组时,会被底层硬件原理、总线结构、CPU 工作机制、存储器体系、指令系统等晦涩概念困住,课本原文过于枯燥难懂,零散的资料不成体系,刷题找不到对应知识点,真题考点无法精准对应,复习没有完整的脉络框架。为此,本系列专栏笔记应运而生。本系列将用整整 2 个月
2026-04-18 21:29:25
2079
1
原创 【2 个月 C 语言从入门到精通:零基础系统教程】第四讲:循环结构全解析 — 三大循环 + 控制语句一网打尽
在 C 语言的三大程序结构中,顺序结构是基础,分支结构是选择,而循环结构则是让程序真正 “活” 起来的核心 —— 它能帮我们用几行代码,高效完成成千上万次重复操作,是实现算法、处理批量数据的必备技能。从 1 到 10 的累加、数组元素的遍历、菜单系统的交互,再到复杂算法的迭代计算,几乎所有实用的 C 语言程序,都离不开循环的支撑。很多初学者刚接触循环时,常会混淆while、for、do-while的区别,搞不清break和continue的用法,甚至频繁写出死循环。本文作为《2 个月 C 语言从入门到精
2026-04-16 17:26:59
533
原创 【2 个月 C 语言从入门到精通:零基础系统教程】第三讲:流程控制核心 — 分支结构
在前两讲的学习中,我们已经掌握了 C 语言的基础语法框架,明确了数据类型与变量是程序存储数据的核心载体,也初步了解了运算符对数据的运算规则。但在此之前,所有代码都只能按照 “从上到下” 的顺序线性执行,这显然无法满足现实中复杂的编程需求 —— 比如根据用户输入做出不同响应、根据数值范围执行不同逻辑、处理多分支的程序流程。而本讲要学习的流程控制之分支结构,正是打破线性执行限制的关键工具。从基础的if单分支判断,到else的二选一逻辑,再到switch的多分支匹配,以及支撑分支判断的逻辑运算符与关系运算符,共
2026-04-16 14:26:39
527
原创 【2个月C语言从入门到精通:零基础系统教程】第二讲:数据类型和变量
上一讲我们初步认识了C语言程序,这一讲是C语言编程最地基的内容。不管是写循环、写函数、做项目,代码里时时刻刻都离不开数据、变量、运算符。对于那些对C语言有了解的同学来说这部分会很简单,但对于完全对这个领域没了解的同学来说,这部分或许太抽象了,但不要着急,我们可以借助AI来辅助学习(一定要学会借用A来学习,但在基础阶段不要用AI帮你写代码,这样很容易造成一学就会,一写就费的局面)。一定要坚持下来,千万不要从入门到放弃!!!这部分内容对于计算机学生来说是不是感觉很熟悉,好像又看到了曾经让人头疼的天书,以下说到
2026-04-13 16:11:26
693
原创 【2个月C语言从入门到精通:零基础系统教程】第一讲:C语⾔常⻅概念
注】:本讲只是让大家对C语言有个大致的了解C语言作为计算机科学领域的基石,至今仍是系统开发、嵌入式编程和高性能计算的核心语言。其简洁的语法与强大的底层控制能力,使得学习C语言不仅是掌握编程的基础,更是理解计算机工作原理的关键一步。本系列文章《C语言从入门到精通》将系统性地讲解从基础语法到高级应用的完整知识体系,结合实战案例与常见误区分析,帮助读者逐步构建扎实的编程能力。系列内容预计耗时两个月更新完毕,每周提供渐进式学习模块,确保
2026-04-11 17:40:16
975
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅