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
posted @ 2024-11-23 00:30  谦个大铭  阅读(3)  评论(0编辑  收藏  举报