2024-2025-1 20241319 《计算机基础与程序设计》第十三周学习总结

news/2024/12/22 15:05:50/文章来源:https://www.cnblogs.com/wchxx/p/18622144

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
这个作业的目标 《C语言程序设计》第12章
作业正文 https://www.cnblogs.com/wchxx/p/18622144

**教材学习内容总结

结构体(struct)

1. 结构体的定义

结构体是一种复合数据类型,它允许你将多个不同或相同类型的变量组合成一个单一的数据结构。结构体通过struct关键字定义。

struct Student {char name[50];int age;float score;
};

2. 创建和初始化结构体变量

你可以创建结构体类型的变量,并使用花括号{}进行初始化。

struct Student student1 = {"John Doe", 20, 92.5};

3. 访问结构体成员

使用点(.)操作符来访问结构体的成员。

printf("%s\n", student1.name);

4. 结构体数组

可以创建结构体数组,即存储多个结构体变量的数组。

struct Student students[5];

5. 结构体指针

可以创建指向结构体的指针,并使用箭头(->)操作符来访问成员。

struct Student *ptr = &student1;
printf("%d\n", ptr->age);

6. 动态内存分配

使用malloccalloc在堆上动态分配结构体。

struct Student *dynamicStudent = malloc(sizeof(struct Student));

7. 结构体与函数

结构体可以作为参数传递给函数,也可以作为函数的返回值。

void printStudent(struct Student s) {printf("Name: %s, Age: %d, Score: %.2f\n", s.name, s.age, s.score);
}struct Student createStudent(char *name, int age, float score) {struct Student s;strcpy(s.name, name);s.age = age;s.score = score;return s;
}

共用体(union)

1. 共用体的定义

共用体是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。共用体通过union关键字定义。

union Data {int i;float f;char str[20];
};

2. 创建和初始化共用体变量

可以创建共用体类型的变量,并初始化。

union Data data = {12};

3. 访问共用体成员

使用点(.)操作符来访问共用体的成员。但要注意,共用体的不同成员共享同一块内存区域,所以一次只能存储一个成员的值。

printf("%d\n", data.i);

4. 共用体的大小

共用体的大小等于其最大成员的大小。

printf("Size of union: %lu\n", sizeof(union Data));

5. 共用体与指针

可以创建指向共用体的指针,并使用箭头(->)操作符来访问成员。

union Data *ptr = &data;
printf("%s\n", ptr->str);

6. 共用体的用途

共用体常用于需要节省空间或处理不同数据类型但占用相同内存大小的情况。

7. 共用体与结构体

共用体可以作为结构体的成员,反之亦然。

struct Mixed {union Data data;int flag;
};struct Mixed mixed;
mixed.flag = 1;
mixed.data.i = 10;

《计算机科学概论》 第10章

1. 操作系统的角色

  • 资源管理:操作系统负责管理计算机硬件资源,如CPU、内存、I/O设备等。
  • 抽象:操作系统通过提供抽象层(如文件系统、进程概念)简化了程序对硬件的操作。
  • 隔离与保护:操作系统确保进程之间相互独立,防止未授权的资源访问。
  • 服务提供:操作系统提供系统调用,允许应用程序请求操作系统服务。
  • 性能优化:操作系统通过调度算法、内存管理等手段提高系统性能。

2. 进程管理

  • 进程概念:进程是程序的执行实例,拥有独立的内存空间和系统资源。
  • 进程状态
    • 创建:进程创建时的状态。
    • 就绪:等待被调度执行的状态。
    • 运行:正在CPU上执行的状态。
    • 阻塞:等待某个事件(如I/O操作)完成的状态。
    • 终止:进程执行结束的状态。
  • 进程控制块(PCB):包含进程状态、优先级、程序计数器、寄存器集合等信息。
  • 进程通信:进程间通信机制,如管道、消息队列、共享内存、信号量等。

3. CPU调度

  • CPU调度概述:决定哪个进程将获得CPU时间片。
  • 调度算法
    • 先来先服务(FCFS):按照请求CPU的顺序进行调度。
    • 短作业优先(SJF):优先调度预计运行时间短的进程。
    • 优先级调度:根据进程的优先级进行调度。
    • 时间片轮转(RR):每个进程轮流使用一小段时间的CPU。
  • 多级反馈队列:根据进程的行为将它们分配到不同的队列中,每个队列有不同的调度策略。

4. 内存管理

  • 内存管理概述:负责分配、回收、保护和共享内存资源。
  • 内存分配
    • 静态分配:在编译时分配内存。
    • 动态分配:在程序执行期间分配内存,如使用malloc()和free()。
  • 内存保护:确保进程不能访问其他进程的内存空间。
  • 虚拟内存
    • 分页:将物理内存划分为固定大小的页,每个页可以独立于其他页加载到内存中。
    • 分段:允许程序按逻辑段(如代码段、数据段)划分,每个段可以独立加载。
    • 页表和段表:用于将虚拟地址映射到物理地址。
  • 内存压缩技术
    • 交换(Swapping):将不常用的页或段从内存交换到磁盘。
    • 页替换算法:如最近最少使用(LRU)算法。

基于AI的学习



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/856814.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原创】xenomai环境下开源实时数控系统LinuxCNC编译安装

LinuxCNC是一款基于Linux操作系统的开源实时数控系统,可将普通计算机转变为高效的CNC(计算机数字控制)机器,本文记录xenomai下linuxcnc的构建安装。linuxcnc 在xenomai下的构建简单记录,参考链接https://www.linuxcnc.org/docs/devel/html/code/building-linuxcnc.html 1.…

2024-2025-1 20241301 《计算机基础与程序设计》第十三周学习总结

|这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计| |这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业| |这个作业的目标|<复习知识,巩固基础>| |作业正文|https://www.cnblogs.com/HonJo/p/18622132| 一、教材学习内容 (一)网络 根据提供的搜索…

【ByPass】最新发现绕过浏览器隔离技术的攻击方法

BaizeSec 白泽安全实验室 2024年12月10日 15:26 北京 在网络安全领域,浏览器隔离技术一直被视为对抗网络钓鱼和基于浏览器的攻击的有效手段。然而,根据Mandiant的最新研究,攻击者已经找到了一种利用QR码绕过浏览器隔离的攻击方法,从而能够从远程服务器向受害设备发送恶意数…

【ByPass】绕过EDR系统检测的新型攻击技术

近日,Akamai安全研究团队披露了Windows UI Automation框架的一种新型攻击技术,该技术能够绕过端点检测和响应(EDR)系统检测,引发了广泛的安全担忧。研究发现,攻击者通过诱骗用户运行一个使用UI Automation的程序,可以实现隐蔽的命令执行,进而窃取敏感数据、重定向浏览器…

Origin绘图教程 | 灵活选择绘图数据

主要内容:使用多个工作表的数据绘图 + 使用另一列的数据作为设定图形颜色的参数 + 使用多个不相邻列绘图 使用多个工作表的数据绘图 1. 使用在 第二课: 图形模板与批量绘图中保存的项目文件。选择任意工作簿, 并确认没有任何数据列被选择. 你可以点击数据列外的灰色区域,以取…

第十三周学习总结

学期2024-2025- 学号20241414 《计算机基础与程序设计》第十三周学习总结 作业信息这个作业属于哪个课程 <班级的链接>2024-2025-1-计算机基础与程序设计这个作业要求在哪里 <作业要求的链接>2024-2025-1计算机基础与程序设计第一周作业这个作业的目标 文件操作作业…

【AI+物联网】AIOT :打造边云协同的物联网新模式

在当今数字化浪潮中,AIOT(人工智能物联网)与边缘智能宛如一对闪耀的双子星,正以前所未有的速度重塑着各个行业,为人们的生活与生产带来翻天覆地的变革。 一、AIOT:万物互联的智慧基石 AIOT 作为人工智能技术与物联网深度融合的结晶,为智能制造搭建起关键架构。物联网凭借…

第十章

例10.1点击查看代码 import numpy as np import statsmodels.api as sm import pylab as pltdef check(d):x0 = d[0]; y0 = d[1]; d = {x:x0, y:y0}re = sm.formula.ols(y~x, d).fit()print(re.summary())print(re.outlier_test())print(残差的方差, re.mse_resid)pre=re.get_…

Javascript元编程

元编程 (Metaprogramming) 是编写操作程序本身的程序的艺术,允许程序通过操作代码结构和行为来自我调整。元编程的核心是增强代码灵活性和动态性,典型的元编程功能包括拦截、修改、生成代码等 文章首发博客,点击查看 扫码关注公众号,查看更多优质文章引文:引用维基百科元编…

23粘性定位-z index-浮动-浮动练习

一、粘性定位 - sticky 另外还有一个定位的值是position:sticky,比起其他定位值更新一些。 sticky是一个大家期待已久的属性; 可以看作是相对定位和固定(绝对)定位的结合体; 它允许被定位的元素表现得像相对定位一样,直到它滚动到某个阈值点; 当达到这个阈值点时,就会变…

iPhone越狱版和免越狱版iMessages群发,iMessages短信,imessages推信群发实现原理

Apple公司全线在mac os与ios两个操作系统上内置了FaceTime与iMessage两个应用。完美替代运营商的短信与电话。并且FaceTime与iMessage的帐号不仅仅与Apple ID 绑定,同时也与使用这Apple ID的手机号码绑定,这样的漏洞自然给无孔不入的群发垃圾信息商们提供了后门。这样iPhone的…