2024-2025-1 20241322 《计算机基础与程序设计》 第九周学习总结
2024-2025-1 20241322 《计算机基础与程序设计》 第九周学习总结
作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09 |
这个作业的目标 | - 操作系统责任 - 内存与进程管理 - 分时系统 - CPU调度 - 文件、文件系统 - 文件保护-磁盘调度 |
作业正文 | https://www.cnblogs.com/qiangedaming/p/18563920 |
教材学习内容总结
第8章 数组和算法基础
8.1 一维数组的定义和初始化
- 介绍一维数组的基本概念
- 一维数组的声明和初始化方法
8.2 二维数组的定义和初始化
- 介绍二维数组的基本概念
- 二维数组的声明和初始化方法
8.3 向函数传递一维数组
- 如何将一维数组作为参数传递给函数
- 函数内部对数组的操作和返回值的处理
8.4 排序和查找
- 各种排序算法的原理和实现
- 查找算法的原理和实现
8.5 向函数传递二维数组
- 如何将二维数组作为参数传递给函数
- 函数内部对二维数组的操作和返回值的处理
第10章 操作系统
10.1 操作系统的角色
- 内存、进程与 CPU管理
- 批处理
- 分时
10.1.1 内存、进程与 CPU管理
10.1.2 批处理
10.1.3 分时
10.1.4 其他OS要素
10.2 内存管理
- 单块内存管理
- 分区内存管理
- 页式内存管理
10.2.1 单块内存管理
10.2.2 分区内存管理
10.2.3 页式内存管理
10.3 进程管理
- 进程状态
- 进程控制块
10.3.1 进程状态
10.3.2 进程控制块
10.4 CPU调度
- 先到先服务
- 最短作业优先
- 轮询法
10.4.1 先到先服务
10.4.2 最短作业优先
10.4.3 轮询法
第11章 文件系统和目录
11.1 文件系统
- 文本文件和二进制文件
- 文件类型
- 文件操作
- 文件访问
- 文件保护
11.1.1 文本文件和二进制文件
11.1.2 文件类型
11.1.3 文件操作
11.1.4 文件访问
11.1.5 文件保护
11.2 目录
- 目录树
- 路径名
11.2.1 目录树
11.2.2 路径名
11.3 磁盘调度
- 先到先服务磁盘调度法
- 最短寻道时间优先磁盘调度法
- SCAN磁盘调度法
11.3.1 先到先服务磁盘调度法
11.3.2 最短寻道时间优先磁盘调度法
11.3.3 SCAN磁盘调度法
教材学习中的问题和解决过程(先问 AI)
- 问题1:怎么新增数据进数组?
- 问题1解决方案:在C语言中,数组的大小是固定的,一旦在编译时确定,就不能在运行时改变。因此,你不能直接向一个已经定义好的数组“新增”数据,因为那样会超出数组的边界,导致未定义行为(可能是内存损坏、程序崩溃等)。
不过,有几种方法可以间接地实现向数组中添加数据的效果:
使用更大的数组:在定义数组时,预估一个足够大的大小,以确保在程序运行期间不会超出这个边界。当然,这种方法会浪费一些内存空间,特别是当预估的大小远大于实际使用时。
动态内存分配:使用malloc、calloc或realloc等函数在堆上动态地分配内存。特别是realloc函数,它可以在不丢失原有数据的情况下调整已分配内存块的大小。这种方法需要手动管理内存,包括在适当的时候释放内存。
使用结构体或类:如果你使用的是C++或其他支持面向对象编程的语言,可以定义一个结构体或类来封装数组和它的当前大小,并提供添加元素的方法。这个方法内部可以处理数组的扩容(例如,当数组满时,分配一个更大的新数组,将旧数组的数据复制过去,然后释放旧数组的内存)。
使用标准库容器:在C++中,你可以使用std::vector等标准库容器,它们会自动处理内存的分配和释放,以及数组的扩容。
基于AI的学习
代码调试中的问题和解决过程
- 问题1:不会将新数据加入进数组,使得新数据参与后续运算。
- 问题1解决方案:查找资料,询问同学,学会使用goto语句。
其他(感悟、思考等,可选)
仍然无法理解“指针 ”的重要作用,还需要勤加练习。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 000/000 | 2/2 | 07/07 | |
第二周 | 000/000 | 1/3 | 07/14 | |
第三周 | 000/000 | 1/4 | 07/21 | |
第四周 | 050/050 | 1/5 | 07/28 | |
第五周 | 050/100 | 1/6 | 07/35 | |
第六周 | 070/170 | 1/7 | 07/42 | |
第七周 | 080/250 | 1/8 | 07/49 | |
第八周 | 100/350 | 1/9 | 07/56 | |
第九周 | 200/550 | 1/10 | 07/63 |