学期:2024-2025-1 学号:20241303 《计算机基础与程序设计》第九周学习总结

news/2025/2/26 4:19:40/文章来源:https://www.cnblogs.com/dl2006/p/18565016

作业信息

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第九周作业)
这个作业的目标 <写上具体方面> 计算机科学概论(第七版)第10,11章 并完成云班课测试,《C语言程序设计》第8章并完成云班课测试
作业正文 ... 本博客链接

教材学习内容总结

《计算机科学概论(第七版)》第10、11章内容总结:

第10章 操作系统基础

  • 操作系统的概念与功能:操作系统是管理计算机硬件和软件资源的程序,是用户与计算机硬件之间的接口。其主要功能包括资源管理(如CPU、内存、外设等)和任务调度。核心功能有进程管理、内存管理、文件系统管理、设备管理以及用户界面 。
  • 进程管理:进程是程序的一个执行实例,有独立的内存空间和执行状态,包括运行态、就绪态、阻塞态等。操作系统通过特定的调度算法决定进程的运行顺序,常见调度算法有先来先服务、短作业优先、优先级调度、时间片轮转等.
  • 内存管理:操作系统负责分配内存给进程,常见的内存分配方式有连续内存分配、分页系统、分段系统。虚拟内存技术可通过硬盘空间模拟出比物理内存更大的内存空间,让程序能使用更多内存.
  • 文件系统:文件是数据存储的基本单位,操作系统管理文件的创建、删除、读取和写入等操作,并通过目录结构组织文件,还可对文件进行权限控制,文件通常存储在硬盘等外部存储设备上.
  • 输入输出管理:输入输出设备包括键盘、鼠标、显示器、硬盘等。操作系统通过提供缓冲区和I/O调度算法,提高数据传输效率,减少等待时间.

第11章 数据库系统

  • 数据库系统概述:数据库是有组织的数据集合,由数据库管理系统进行管理,提供高效的数据存储、查询、更新和管理功能。数据库管理系统确保数据的完整性、一致性和安全性.
  • 数据模型:主要有层次模型、网状模型和关系模型。层次模型以树形结构组织数据;网状模型以图形结构组织,更灵活;关系模型以二维表格形式组织,是目前最常用的数据模型,关系数据库管理系统采用此模型.
  • 关系数据库:表是基本存储单位,包含列(属性)和行(记录)。主键用于唯一标识每条记录,外键用于建立表之间的联系。数据完整性包括实体完整性、参照完整性和域完整性等.
  • SQL语言:SQL是用于访问和操作数据库的标准语言,包括数据查询(SELECT)、数据操作(INSERT、UPDATE、DELETE)、数据定义(CREATE、ALTER、DROP)以及数据控制(GRANT、REVOKE)等功能.
  • 数据库设计:实体-关系模型是一种图形化的数据库设计工具,用于描述数据库中的实体及其关系。规范化可消除冗余数据、避免更新异常,常见的规范化范式有第一范式、第二范式、第三范式等.

《C语言程序与设计》 指针内容总结

一、指针的基本概念

  1. 指针变量:指针是一种特殊的变量,其值为内存地址。声明指针变量的一般形式为数据类型 *指针变量名;,例如int *p;表示p是一个指向int类型数据的指针变量。
  2. 取地址运算符&:用于获取变量的内存地址。如&a表示变量a的地址,可将该地址赋值给指针变量,使指针指向该变量,例如p = &a;

二、指针的运算

  1. 赋值运算:指针可以被赋值为同类型变量的地址、NULL(空指针,表示不指向任何有效地址)或其他合法的指针值。例如int *q = NULL;q = p;p为已初始化的同类型指针)。
  2. 算术运算
    • 指针与整数相加或相减:当指针指向数组元素时,指针 + n表示指向当前指针位置往后第n个同类型元素的地址,指针 - n则表示往前第n个元素的地址。移动的字节数取决于指针所指向的数据类型的大小,例如int类型指针加 1,则地址增加 4 字节(假设int占 4 字节)。
    • 两个指针相减:只有当两个指针指向同一数组中的元素时,相减才有意义,其结果为两指针间元素的个数。

三、指针与数组

  1. 数组名与指针的关系:在 C 语言中,数组名在大多数情况下会被隐式转换为指向数组首元素的指针。例如int arr[5];arr等价于&arr[0],可以将其赋值给int *类型的指针变量,如int *p = arr;
  2. 通过指针访问数组元素:利用指针可以方便地遍历数组。例如*(p + i)等价于arr[i],通过改变p的值和循环,可以灵活地访问数组中的各个元素。

四、指针与函数

  1. 函数参数传递指针:将指针作为函数参数传递,可以在函数内部修改调用函数中变量的值,实现数据的双向传递。例如:
void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}

main函数中调用swap(&x, &y);,可交换xy的值。
2. 函数返回指针:函数可以返回指针类型的值,但要注意返回的指针不能指向函数内部的局部变量(除非该局部变量为static修饰的静态变量),否则可能导致错误。例如:

int *func() {static int num = 10;return &num;
}

五、指针与字符串

在 C 语言中,字符串可以用字符数组表示,也可以用字符指针指向字符串常量。例如char *str = "Hello";,此时str指向字符串常量"Hello"的首字符。可以通过指针遍历字符串中的字符,但不能修改字符串常量的内容。若要修改字符串,应使用字符数组。

六、指针数组

指针数组是一个数组,其元素为指针类型。例如int *arr[5];表示arr是一个包含 5 个元素的数组,每个元素都是int *类型的指针。指针数组常用于处理多个字符串或指向不同对象的指针集合等情况。

指针在 C 语言编程中虽然功能强大,但也容易出错,如果使用不当可能导致程序崩溃或产生难以调试的错误。因此,在使用指针时需要深入理解其概念和原理,谨慎操作内存地址,确保程序的正确性和稳定性。

基于AI的学习




代码调试中的问题和解决过程

问题1:在调用函数时,返回值使用return无法输出正确结果
方法:return只能返回一个变量,当存在多个变量时需要使用指针

void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}

问题2:输出变量地址时,会产生随机数
方法:将变量初始化

     int main(){
int a=1;
**int *pa=&a;**
printf("a is %d,&a is %p,pa is %p",a,&a,pa);
}

问题3:使用动态数组时要注意指针变量内存的申请是否成功
方法:使用if语句进行判断

if(p==NULL);
if(p!=NULL);

问题4:注意释放内存空间
方法:使用free()

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第八周 1400/2000 1/2 20/20
第九周 1600/2200 1/4 18/38
第十周 500/1000 0/7 22/60
第十一周 300/1300 0/9 30/90

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

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

相关文章

Java大作业4-6次总结性BLOG

前言本次BLOG由第4到6次的大作业答题判题程序- 4、家居强电电路模拟程序- 1和家居强电电路模拟程序 -2组成,其中答题判断程序-4由前三次迭代升级而来,涉及到填空题、单选题、多选题等多种题目的存储计算和判分逻辑。家居强电电路模拟程序为新的题目集,家居强电电路模拟程序1…

对于答题判断程序-4以及家居强电电路模拟程序1-2的总结性Blog

一、前言相关知识点:1、答题判断程序-4在前面答题判断程序-3的基础上增加了更多的输入格式判断以及对于边界条件情况的处理,对于面对对象编程的概念进一步的深化了。2、家居强电电路模拟程序-1从此次的大作业开始使用了抽象类的继承,以及对于电路中相关数据的计算进行了模拟…

答题判题程序终章与家居强电电路模拟程序

题目要求1.设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果 家居强电电路模拟程序2.智能家居是在当下家庭中越来越流行的一种配置方案,它通过物联网技术将家中的各种设备(…

题目4 - 6 总结

一、前言 在完成题目集 4 - 6 的编程实践过程中,经历了一系列从基础数据处理到较为复杂的电路设备模拟及分析等不同层次的任务挑战,每一次的题目集都犹如一次知识与技能的深度探索之旅,不仅拓宽了知识面,更在编程思维与实践能力方面得到了显著的提升。 (一)知识点覆盖 题…

02在ubuntu18.04上面搭建python环境

一、安装python3.6 # 1、python版本 python3.6 (1)更新包列表 sudo apt-get update (2)更新已安装的包 sudo apt-get upgrade 这里会显示无法获得锁---(问题1),解决之后系统提示“您希望继续执行吗?输入y” 这个命令执行时间有点久需要耐心等待。 (3)安装python3.6 sud…

Blog-2 题目集4~6的总结

22207203-陈思思 一、 前言 (一) 第4次题目集(答题判题程序4)知识点主要是类与对象、继承与多态、集合、正则表达式、业务逻辑的处理和设计模式的初步应用等。定义了多个类,每个类都进行了封装。集合方面,使用了 Map来存储问题、考试卷和学生信息,通过键值对快速访问;使…

MySQL原理简介—1.SQL的执行流程

大纲(2426字) 1.MySQL驱动的作用 2.Java系统中的数据库连接池的作用 3.MySQL中的数据库连接池的作用 4.网络连接必须让线程来处理 5.SQL接口会负责处理接收到的SQL语句 6.查询解析器会让MySQL读懂SQL语句 7.查询优化器会选择最优的查询路径 8.调用存储引擎接口来真正执行SQL语句…

22207203-陈思思

** Blog-2 题目集4~6的总结** 一、 前言 (一) 第4次题目集(答题判题程序4)知识点主要是类与对象、继承与多态、集合、正则表达式、业务逻辑的处理和设计模式的初步应用等。定义了多个类,每个类都进行了封装。集合方面,使用了 Map来存储问题、考试卷和学生信息,通过键值对…

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

2024-2025-1 20241403 《计算机基础与程序设计》第九周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2024-2025-1计算机基础与程序设计第九周作业)这个作业的目标 操作系统责任 内…

OOP实验四

任务2: 源码:1 #include <iostream>2 #include <vector>3 #include <string>4 #include <algorithm>5 #include <numeric>6 #include <iomanip>7 8 using std::vector;9 using std::string;10 using std::cin;11 using std::cout;12 usi…

【淘汰9成NLP面试者的高频面题】RNN是如何基于时间进行参数学习(BPTT)的?

【淘汰9成NLP面试者的高频面题】RNN是如何基于时间进行参数学习(BPTT)的? 重要性:★★ 本【淘汰9成NLP面试者的高频面题】RNN是如何基于时间进行参数学习(BPTT)的? 重要性:★★本问题主要考察面试者有有以下几点:① 理解RNN循环的概念,认识到截断的 BPTT的必要性 ② …

标准javabean

1.javabean介绍 javabean,名为实体类,封装数据的类 前面我们写的类都是实体类,但我们写的不是标准的实体类 . 2.标准的javabean写法如图3.快捷键 一个成员变量就要写两个方法(set和get),那十个就要写20个方法,实在过于麻烦,所以我们下载一个插件,用于快速产生无参、有…