2024-2025-1 学号(20241425) 《计算机基础与程序设计》第三周学习总结
作业信息
这个作业属于哪个课程 | [2024-2025-3-计算机基础与程序设计](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03 |
这个作业的目标 | 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学年 学号 《计算机基础与程序设计》第三周学习总结 |
作业正文 | https://i.cnblogs.com/posts/edit |
教材学习内容总结
《计算机科学概论》第七版第三章主要介绍了计算机中数据的表示、存储、压缩等相关内容,具体如下:
1. 基本概念:
- 数据与信息:数据是基本值或事实,信息则是用有效的方式组织或处理过的数据。数据是信息的基础,经过处理和组织后的数据成为有意义的信息。
- 数据压缩的重要性:由于计算机储存的信息空间有限,而需要处理的信息数据量庞大,数据压缩对于减少存储一段信息所需的空间具有重要意义。
- 带宽:指在一定时间内从一个地点传输到另一个地点的最大位数或字节数,带宽的大小影响着数据传输的效率和速度。
- 压缩率:压缩后的数据大小除以压缩前的数据大小得到的结果,压缩率越接近0,说明压缩程度越高。
2. 数据的表示方法: - 模拟数据与数字数据:
- 模拟数据是一种连续表示法,模拟表示的真实信息,比如自然界中的声音、图像等信号在被数字化之前都是模拟信号。
- 数字数据是一种离散表示法,把信息分割成了独立的元素,计算机只能处理数字数据,所以需要将模拟数据进行数字化处理。
- 数字化是把信息分割成离散的片段的过程,例如将音频信号通过采样和量化转化为数字信号,以便计算机能够存储和处理。
- 数字信号的特点:数字信号只能在两个极端之间跳跃,这种信号的变化被称为脉冲编码调制(PCM)。在信号传输过程中,如果信号降级太多,需要进行重新计时(relock),即在信号降级太多之前,重新插入原数字信号。
3. 数字数据的表示法: - 负数的表示:
- 符号数值表示法:数由符号(正或负)和数值构成,但这种表示法中零的表示法有两种,会引起不必要的麻烦。
- 二进制补码:是一种常用的负数表示方法,将负数对应的正数的二进制表示取反加一,最左边为符号位,负数最左边第一位总是1。
- 数字溢出:当给结果预留的位数存不下计算出的值时,就会发生数字溢出的情况。
- 实数的表示:实数采用浮点表示法,标明了符号、尾数和指数。尾数是一串数值,指数描述小数点的相对位置。科学计数法是另一种浮点表示法。
4. 文本的表示与压缩: - 字符集:字符集是字符和表示它们的代码的清单,常见的有 ASCII 字符集(主要包含英语字符)和 Unicode 字符集(包含了更多的字符,如各种语言的字符等)。
- 文本压缩方法:
- 关键字编码:用单个字符代替常用的单词,有效节省空间。
- 行程长度编码:把一系列重复出现的字符替换为它们重复出现的次数。
- 赫夫曼编码:用变长的二进制串表示字符,使常用的字符具有较短的编码,从而实现文本的压缩。
5. 其他数据的表示: - 音频数据表示:音频数据需要数字化声波,即采集表示声波的电信号,并用离散的数值表示它。例如 CD 就是利用表面无数的凹点存储二进制数信息来存储音频信息。
- 颜色表示:所有的颜色都是由红绿蓝三原色构成,计算机常用 RGB 表示颜色,三个数字(例如每个是八位二进制数)分别代表三原色,表示每种颜色的份额。包括色深度、增强彩色、真彩色等概念。
- 数字化图像与图形:
- 光栅图形格式:数字化一幅图像是将它表示为一个独立的点集,每个点称为像素,每个像素由一种颜色构成。表示一幅图像使用的像素个数成为分辨率,常见的文件格式有位图(BMP)、GIF、JPEG 等。
- 图形的矢量表示法:用一系列描述线段的方向、线宽和颜色的指令来表示图像,采用数学描述表示信息,而非每个像素都表示,所以文件一般较小,适合用于艺术线条和卡通绘画等。
- 视频表示:视频编译码器用于压缩电影大小,包括时间压缩(只保存连续几帧图像中改变的部分)和空间压缩(对于同一帧图片,记录颜色相同的矩形区域的信息而非每个像素的信息)等方法。
教材学习中的问题和解决过程(先问 AI)
- 问题1:主存储器的作用是什么
- 问题1解决方案:主存储器(内存)具有以下重要作用:
一、数据存储
1. 临时存储数据
- 在计算机运行过程中,主存储器用于存储正在运行的程序及其相关数据。例如,当用户打开一个文字处理软件时,该软件的程序代码和用户正在编辑的文档内容都会临时存储在主存储器中。
- 它可以快速地为CPU提供所需的数据。CPU在执行指令时,会频繁地从主存储器中读取数据,如进行数学运算时所需的操作数等。
2. 存储操作系统相关数据 - 操作系统本身也部分驻留在主存储器中。例如,操作系统的内核程序、设备驱动程序等在计算机启动后就被加载到主存储器,以便能够及时响应硬件和软件的请求。
二、数据交互
1. 连接CPU与外部设备
- 主存储器是CPU与外部设备进行数据交互的中转站。当外部设备(如硬盘、键盘、鼠标等)向CPU传输数据时,数据首先会被存储在主存储器中,然后CPU再从主存储器中读取这些数据进行处理。
- 同样,当CPU处理完数据后,如果要将结果输出到外部设备(如显示器、打印机等),也会先将数据暂存到主存储器中,再由主存储器将数据传输到相应的外部设备。
2. 实现多任务处理 - 在多任务操作系统中,主存储器允许多个程序同时存储在其中。通过合理的内存管理机制,操作系统可以在不同的程序之间快速切换,让每个程序都能够及时获取所需的内存空间来运行,使得计算机可以同时运行多个程序,如用户可以一边听音乐,一边使用文字处理软件编辑文档。
- 问题2:C 语言中的输入输出函数 scanf 和 printf 如何使用?
- 问题2解决方案:1. printf函数
- 基本用法
- printf 函数用于将格式化的数据输出到标准输出(通常是屏幕)。其基本格式为 printf("格式控制字符串", 输出项列表); 。例如: printf("Hello, World!\n"); ,这里的 "Hello, World!\n" 是格式控制字符串,其中 \n 是换行符,这个语句直接输出固定的字符串。
- 格式化输出
- 当要输出变量的值时,需要在格式控制字符串中使用格式化占位符。例如,对于整数变量 int num = 10; ,可以使用 printf("The number is %d\n", num); ,这里的 %d 是整数的格式化占位符,表示要在这个位置输出一个整数,后面的 num 就是要输出的整数变量。
- 对于浮点数,如 float f = 3.14; ,可以使用 %f 作为格式化占位符,如 printf("The float number is %f\n", f); 。
- 如果是字符型变量 char c = 'A'; ,则使用 %c 占位符,如 printf("The character is %c\n", c); 。
2. scanf函数 - 基本用法
- scanf 函数用于从标准输入(通常是键盘)读取用户输入的数据,并按照指定的格式存储到变量中。其基本格式为 scanf("格式控制字符串", 地址列表); 。例如,要读取一个整数到变量 int num; 中,可以使用 scanf("%d", &num); ,这里的 %d 是整数的格式控制符, &num 表示变量 num 的地址,因为 scanf 函数需要通过地址来将读取到的值存储到变量中。
- 多数据输入
- 可以同时读取多个不同类型的数据。例如,对于 int a; float b; ,可以使用 scanf("%d%f", &a, &b); 来分别读取一个整数和一个浮点数。在输入时,需要按照格式控制字符串中的格式输入数据,这里应该输入一个整数后紧接着输入一个浮点数,中间不能有其他非格式要求的字符(除非在格式控制字符串中指定了其他分隔符)。
- ...