🔥个人主页:艾莉丝努力练剑

❄专栏传送门:《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题

🍉学习方向:C/C++方向

⭐️人生格言:为天地立心,为生民立命,为往圣继绝学,为万世开太平


 


前言: 我们在学习过程中会碰到很多很多问题,本系列文章不会博主不会额外再创建一个新的专栏来收录,因为这一系列文章创作的初心主要是针对回顾知识点(遵循遗忘曲线并且根据自身的实际情况可以做出一些计划,回顾知识点很重要)、缓解学习过程中的可能出现的焦虑等等。主包就不另外开一个专栏了,uu们可以把本系列的文章作为【C语言】专栏的后日谈来看。

主包学习能力很一般,学起语言、算法来和大佬们完全无法比。主包起步也比较晚,主包正儿八经开始学C++是从今年的4月24号开始的,主包学习能力真的很一般,C语言这个基础也不扎实,看主包文章的诸位一定是比主包要强的,但主包学习过程中碰到的麻烦、思考、和做的知识点回顾对大家还是有用的。


目录

正文 

三、知识点回顾

(七)内存大小与硬盘大小

1、内存

2、磁盘

(1)硬盘

(2)软盘

3、存取速度对比

4、总结以及重要补充

(八)操作符(运算符)

1、操作符=运算符

2、双目操作符 

(1)算术运算

(2)比较运算

(3)位运算

(4)赋值运算

(5)演示 

(6) 变量为什么要初始化

​编辑                                 

结尾


正文 

三、知识点回顾

(七)内存大小与硬盘大小

内存大小和硬盘大小我们要区分开来,市面上的电脑,256G、512G、1T、2T、4T的都有,大家不要以为这是电脑的内存大小,其实这是电脑自带的硬盘大小,而购买电脑时我们看到的8G、12G、16G、24G、32G才是电脑的内存大小,平常我们释放空间(释放内存)释放的就是它。

在买电脑时我们通常要考虑的两个参数,就是内存大小硬盘大小,一般来说内存越大电脑运行速度会越快,硬盘越大能够存储的文件就越多。这么看来硬盘和内存好像毫无关联,其实不然,不管是内存还是磁盘中的硬盘、软盘,它们本质上来说都是用来存储数据的。

计算机的存储器有两类:一类是内部存储器,断电不会保存当前工作;

另一类是外部存储器,外部存储器的特点就是不受断电的影响,即断了电也能可以保存。

1、内存

内存,又称内部存储器。内存的存储速度要比硬盘快很多,但是内存会受断电的影响,即断电里面存储的所有数据都会丢失。 

2、磁盘
(1)硬盘

        硬盘(Hard Disk Drive, HDD)是电脑主要的存储媒介之一,硬盘由一个或多个铝制或者玻璃制的碟片组成, 这些碟片外覆盖有铁磁性材料。

        硬盘─般都装在机箱里面,容量较大,能够存储的文件比较多。硬盘工作起来就是一个盘玩命转,一个磁头悬在盘面上来回读取写入;大概相当于陶土在转盘上,手指来回动。

硬盘有固态硬盘(SSD,新式硬盘/固态硬盘)、机械硬盘(HDD,统硬盘)、混合硬盘(HHD,一块基于传统机械硬盘诞生出来的新硬盘)。

        传统硬盘(Hard Disk Drive,HDD):即硬盘驱动器。采用磁性碟片来存储,最基本的电脑存储器,绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中,即硬盘和硬盘驱动器整合在一起,装进一个盒子里,固定在机箱里面不可更换和移动。

我们常说的电脑硬盘C盘、D盘等磁盘分区都属于硬盘驱动器。目前硬盘一般常见的磁盘容量为80G、128G、160G、256G、320G、500G、750G、1TB、2TB等等。硬盘按体积大小可分为3.5寸、2.5寸、1.8寸等;按转数可分为5400rpm/7200rpm/10000rpm等;

        固态硬盘(Solid State Drive,SSD):用固态电子存储芯片阵列而制成的硬盘,采用闪存颗粒来存储,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。
优点:读写速度快、防震抗摔性、低功耗、无噪音、工作温度范围大、轻便;缺点:容量小;寿命有限;售价高。

        混合硬盘(Hybrid Hard Drive,HHD): 把磁性硬盘和闪存集成到一起的一种硬盘。是既包含传统硬盘又有闪存(flash memory)模块的大容量存储设备。闪存处理存储中写入或恢复最频繁的数据。很多公司开始提供这项技术的变体,他们期望它会在高端系统中受到追捧,尤其是在笔记本电脑和个人数字助理中。
        相比传统硬盘,混合硬盘有很多优点,包括:应用中的数据存储与恢复更快,如文字处理机系统启动时间减少、功耗降低、生成热量减少、硬盘寿命延长、笔记本和PAD的电池寿命延长、工作噪声级别降低;缺点包括:硬盘中数据的寻道时间更长、硬盘的自旋变化更频繁、闪存模块处理失败,不可能进行其中的数据恢复系统的硬件总成本更高。

引用自“软盘、硬盘、磁盘和内存”的理解一文中的解释。

(2)软盘

        软盘是个人计算机中最早使用的可移介质。软盘并不是装在电脑里面的,而是可移动的,一般用来存储文件和不同电脑之间进行拷贝文件

        软盘的材料是塑料上面涂了一层磁性材料,用于存储数据, 软盘的读写是通过软盘驱动器完成的(即软盘需要软驱来读取数据)。软盘驱动器设计能接收可移动式软盘,软驱与现在的HDD结构有些类似,都有磁头,控制电路和马达,用于选择读取数据的扇区。和HDD、SSD区别实际上是存储介质的不同以及访问介质方式的不同,

        就功能上来说它和现在的U盘是一样的,只是外形、存储原理不一样,它的容量要比硬盘小的多;可以将软盘看成早期的U盘或者是CD-ROM这种方便移动存储的东西,在早期用于去移动拷贝一些小的文件是很方便的。软盘存取速度慢,容量也小,但可装可卸、携带方便。作为一种可移贮存方法,它是用于那些需要被物理移动的小文件的理想选择;比如最常用的3.5英寸的软盘容量只有1.44MB。这么小的存储空间对于目前的我们来说基本上什么也干不了,而且它的存储速度要比硬盘慢很多。所以只有早期的电脑才会用软盘,目前已经被淘汰。

3、存取速度对比

即我们向磁盘储存数据和从磁盘上得到数据的快慢,这个速度越快,我们等待的时间就越少。那硬盘和内存相比,哪个的存取速度会更快一点呢?

硬盘是外部存储器,速度再快也比不上内存,否则计算机就用不着内存了记住: 硬盘存取速度快于软盘,而内存取信息的速度又远远的快于硬盘。

4、总结以及重要补充

——内存与硬盘的作用及其大小选择

内存和硬盘是计算机中两个重要的硬件组件,它们在功能和作用上有明显的区别。

内存(RAM)是计算机运行程序时临时存储数据的地方。它直接与CPU进行数据交换,决定了系统能够同时处理的数据量。内存容量越大,可以同时运行的程序越多,系统的响应速度也越快。由于内存是一种易失性存储器,断电后其中的数据会丢失,因此它不适合长期保存数据。

硬盘则是用于长期存储数据的设备。无论是操作系统、应用程序还是用户文件,都需要存储在硬盘上。硬盘的容量决定了可以保存多少数据。与内存不同,硬盘是非易失性的,即使断电后数据也不会丢失。

        选择合适的内存容量需要考虑用户的使用场景。对于普通家庭用户来说,8GB内存通常已经足够使用,因为许多非专业软件在32位环境下运行时对内存的需求不会超过4GB。然而,如果用户经常运行大型应用或游戏,则可能需要更大的内存来保证流畅的操作体验。在这种情况下,升级到16GB甚至更高容量的内存可能是有益的。

        至于硬盘的选择,这取决于用户需要存储的数据量以及性能需求。传统的机械硬盘(HDD)提供较大的存储空间且成本较低,而固态硬盘(SSD)虽然价格较高,但提供了更快的数据读写速度。对于追求高性能的用户,可以选择SSD作为系统盘以加快启动和加载时间,同时搭配HDD用作大容量数据存储。

——以上内容来自于【C知道 】AI引擎的检索结果,非本人总结成果,特此说明。

综上所述,在决定内存和硬盘大小时,应当基于实际的应用需求和个人偏好做出选择。确保内存能满足多任务处理的需求,同时硬盘要有足够的空间来存放所有必要的数据,并根据预算和技术要求权衡不同类型硬盘的优势。

(八)操作符(运算符)

1、操作符=运算符

操作符 = 运算符。

在编程语言中,操作符(Operator)和运算符通常指的是同一类概念,即用于执行特定操作的符号或关键字。不过,在某些上下文中,这两个术语可能会有不同的侧重点。

(1)操作符是一个更广泛的概念,它可以包括运算符以及其他类型的符号,例如赋值操作符、比较操作符、逻辑操作符等1。这些操作符可以作用于一个或多个操作数来产生结果。例如,在表达式 a + b 中,+是一个加法运算符,它属于操作符的一种,用来对两个操作数 ab 执行加法操作。

(2)运算符则特指那些能够执行数学计算或者逻辑判断的操作符。常见的运算符有算术运算符如加减乘除、关系运算符如等于不等于、以及逻辑运算符如与或非等2。比如,在JavaScript中的一元操作符如递增(++)和递减(–),它们会直接修改变量的值,并且根据操作符的位置不同(前置或后置),会影响表达式的返回值1

因此,可以说所有的运算符都是操作符,但不是所有的操作符都是运算符。例如,条件运算符(?:)、成员访问运算符(. 和 [])、函数调用运算符(())等就不是传统意义上的运算符,因为它们并不执行数学上的运算,而是用于其他目的,如控制流程或对象属性访问。

示例:

下面是一些简单的示例代码,展示了如何使用不同的操作符/运算符:

(1)算术运算符

let x = 5;
let y = 3;
console.log(x + y); // 输出 8
console.log(x - y); // 输出 2
console.log(x * y); // 输出 15
console.log(x / y); // 输出 1.666...

(2)逻辑运算符 (JavaScript)

let a = true;
let b = false;
console.log(a && b); // 输出 false
console.log(a || b); // 输出 true
console.log(!a);     // 输出 false

(3)自增自减运算符 (JavaScript)

let count = 0;
console.log(count++); // 输出 0, 然后 count 变为 1
console.log(++count); // count 先变为 2, 然后输出 2

通过以上示例可以看出,无论是操作符还是运算符,它们都是构建程序逻辑的重要组成部分。

2、双目操作符 

简单来说,双目操作符即有两个操作数,我们在此基础上做进一步说明——

双目操作符是指需要两个操作数才能完成运算的操作符。

在编程语言中,尤其是像C、C++这样的系统级语言中,双目操作符被广泛使用来执行各种类型的计算和逻辑判断。

下面展示一些应用场景——

(1)算术运算

最常见的双目操作符是算术操作符,如加法 +、减法 -、乘法 *、除法 / 和取模 %。这些操作符用于执行基本的数学运算。

int a = 5 + 3; // 加法
int b = 10 - 2; // 减法
int c = 4 * 6; // 乘法
float d = 9.0 / 3.0; // 除法
int e = 10 % 3; // 取模,得到余数
(2)比较运算

比较操作符也是双目操作符的一种,它们用来比较两个值之间的关系,例如是否相等、大于或小于等。

  • 相等 ==

  • 不相等 !=

  • 大于 >

  • 小于 <

  • 大于等于 >=

  • 小于等于 <=

if (x == y) { /* 如果x等于y,则执行某些代码 */ }
if (a > b) { /* 如果a大于b,则执行其他代码 */ }
(3)位运算

按位与 &、按位或 |、异或 ^、左移 << 和右移 >> 是处理二进制数据时非常有用的双目操作符。

int result_and = 5 & 3; // 按位与
int result_or  = 5 | 3; // 按位或
int result_xor = 5 ^ 3; // 异或
int shift_left = 1 << 2; // 左移两位
int shift_right = 4 >> 1; // 右移一位
(4)赋值运算

除了简单的赋值 = 外,还有复合赋值操作符,比如 +=, -=, *=, /=, %= 等。

int x = 10;
x += 5; // 等价于 x = x + 5;

注意:

当涉及到具有副作用的操作符时(例如自增 ++ 和自减 --),应当小心使用以避免产生难以调试的问题。因为这些操作符不仅改变了变量的值,而且可能影响程序的行为取决于它们出现的位置。

(5)演示 

加、减
 +     -
+=   -=

赋值操作符 

#include<stdio.h>int main()
{int n = 0;//初始化n = 10;//赋值,= -->赋值操作符return 0;
}
int a = 3;
int b = 5;
int c = 0;
c = b = a + 3;//连续赋值,从右往左依次赋值
//可拆开赋值
b = a + 3;
c = b;

 复合赋值符

a = a + 3; --> a += 3;

 除法:/(整除)。

 下面举几个例子:

(1)整数除法

6 / 4 = 1……2

           商     余数

int r  = 8 / 2;

(2)浮点数除法

6.0 / 4 = 1.5;

double 6.0 / 4 = 1.500000;double r = 6.0 / 4 = 1.500000;double r = 6.0 / 4.0 = 1.500000;

 两数至少要保证有一个为小数(即浮点数),这就是浮点数除法。

除法:%——表示取模(余)运算-->用于整数,不用于浮点数。

int r = 6 % 4;//6/4得到的余数

 负数取模——结果正负号由第一个运算数决定。

(6) 变量为什么要初始化
                                 

结尾

下文我们复盘单目操作符。

只要是主动学习,只要你有兴趣,只要你喜欢学,到处是时间。

往期回顾:

【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)

【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(二)

【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(一)

结语:本篇文章内容回顾到这里就结束了,希望对大家伙有所帮助。如果大家觉得文章有帮助的话,记得一键四连——点赞、收藏、关注、评论!谢谢uu们的支持!

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

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

相关文章

Vim 指令

Vim 是一款功能强大但学习曲线陡峭的文本编辑器&#xff0c;核心在于其模式化操作。掌握常用指令能极大提升效率。以下是指令分类整理&#xff1a;一、核心模式切换 (必须掌握&#xff01;)i&#xff1a;在光标前进入 插入模式 (Insert Mode)a&#xff1a;在光标后进入 插入模式…

vue2中使用xgplayer播放流视频

1、官网 2、安装后无法播放时&#xff0c;经测试&#xff0c;需要降低版本 "xgplayer-hls": "2.2.2","xgplayer": "2.31.6"改为以上版本可以正常播放 3、完整使用 &#xff08;1&#xff09;引入 import xgplayer import hlsjsPlayer…

Jmeter进阶篇(35)完美解决Jmeter转换HTML报告报错“Begin size 0 is not equal to fixed size 5”

今天博主在使用Jmeter运行完压测,使用生成的csv文件,运行以下命令: C:\apache-jmeter-5.2.1\bin>jmeter -g C:\res.csv -o C:\report生成HTML报告时,发现报错“Begin size 0 is not equal to fixed size 5”。 问题原因 原因是我:本地用的是JDK17,但Jmeter5.2.1仅支…

linux中tcpdump抓包中有组播数据,应用程序收不到数据问题

问题描述服务器运行正常&#xff0c;维保需要&#xff0c;重启服务器后应用程序无法收到组播的媒体数据。百思不得其解。原因分析最终的定位原因是 linux系统的自我保护机制导致的。rp_filter&#xff08;反向路径过滤&#xff09;是Linux内核的一个安全特性&#xff0c;用于防…

人工智能-基础篇-29-什么是低代码平台?

低代码平台&#xff08;Low-Code Development Platform, LCDP&#xff09;是一种通过可视化界面和少量代码&#xff08;或无需代码&#xff09;快速构建应用程序的开发工具。它的核心目标是通过简化开发流程&#xff0c;降低技术门槛&#xff0c;使企业能够更高效地响应业务需求…

PyTorch随机擦除:提升模型抗遮挡能力

PyTorch中内置的随机擦除&#xff08;Random Erasing&#xff09;数据增强通过torchvision.transforms.RandomErasing实现&#xff0c;以下是原理和用法的详细说明&#xff1a;核心原理正则化作用&#xff1a; 随机擦除在训练图像上随机遮盖一个矩形区域&#xff0c;模拟遮挡场…

微信小程序交互精髓:点击操作与状态管理实战

目录 一、点击事件绑定&#xff1a;bindtap 与 catchtap 的正确使用 基础语法对比 事件对象详解 二、点击切换选中状态&#xff1a;数据驱动视图的实现 1. 单元素状态切换 2. 多元素单选状态 3. 多元素多选状态 三、样式动态切换&#xff1a;数据绑定与 CSS 的完美结合 …

Language Models are Few-Shot Learners: 开箱即用的GPT-3(二)

接上一篇 Approach 前面的摘要和Introduction做了一些概要性的介绍,论文在第二章,也就是approach中,介绍了模型的设计,zero,one,few-shot的设计等等。 这一章一开头就说,GPT-3的结构和GPT-2的结构一样,只是在相应的把模型尺寸,数据规模,训练时间等增加了。Our bas…

【养老机器人】核心技术

1. 毫米波雷达如何检测心跳和呼吸&#xff1f;毫米波雷达&#xff08;通常工作在60GHz或77GHz频段&#xff09;可以探测到人体胸腔的微米级位移&#xff0c;而心跳和呼吸会引起胸腔的周期性运动&#xff1a;呼吸&#xff1a;幅度较大&#xff08;约5-10毫米&#xff09;&#x…

二 Javascript 入门

我们 从已经知道了 Javascript的历史以及什么是Javascript&#xff0c;那实际编写的时候在哪里编写&#xff1f; script 标签 HTML 为我们提供了无数的标签来做无数的事情。例如&#xff0c; 用于为段落添加边距&#xff0c; 用于使文本加粗&#xff0c; 用于在网页上嵌入音…

《信息技术服务监理 第5部分:软件工程监理规范》(GB/T 19668.5-2018)标准解读

《信息技术服务监理 第 5 部分&#xff1a;软件工程监理规范》&#xff08;GB/T 19668.5-2018&#xff09;是规范软件工程监理服务的国家标准&#xff0c;旨在为软件工程监理的规划设计、招标、设计、实施、验收等阶段及相关支持过程提供明确的监理要求、服务内容和实施要点。 …

RedisJSON 路径语法深度解析与实战

一、两种路径语法概览语法类型触发标志简介JSONPath以 $ 开头全功能路径&#xff0c;支持递归 (..)、通配符 (*)、切片 ([start:end:step])、过滤 (?())、脚本表达式等Legacy以 . 或键名开头早期版本&#xff08;v1&#xff09;遗留语法&#xff0c;只支持简单的点式和中括号&…

从Rust模块化探索到DLB 2.0实践|得物技术

一、前言在云原生架构高速迭代的背景下&#xff0c;基础设施的性能瓶颈与安全隐患成为技术演进的关键挑战。本文系统记录了团队基于Rust语言改造Nginx组件的完整技术路径&#xff1a;从接触Cloudflare的quiche库&#xff0c;引发对Rust安全特性的探索&#xff0c;到通过FFI实现…

【 MySQL】一点点相关的记录

打开 MySQL Workbench 并连接到你的数据库在 MySQL Connections 下&#xff0c;选择连接的数据库实例&#xff08; Local instance MySQL80&#xff09;登录时输入 用户名 和 密码。 root&#xff0c;密码是在 MySQL 安装时设置的密码创建新数据库登录后&#xff0c;在 MySQL W…

旅游企业如何通过数字化转型实现高效运营

在旅游行业竞争日益激烈、游客需求日趋多样的当下&#xff0c;数字化管理成为旅游企业提升竞争力的关键协同办公系统以其丰富功能与灵活特性&#xff0c;为旅游行业带来全新的数字化变革&#xff0c;助力企业高效运营。优化行程规划与调度旅游行程的规划与调度繁杂且关键。协同…

大数据Spark(六十二):Spark基于Yarn提交任务流程

文章目录 Spark基于Yarn提交任务流程 一、Yarn-Client模式 1、提交命令 2、任务执行流程 二、Yarn-Cluster模式 1、提交命令 2、任务执行流程 Spark基于Yarn提交任务流程 在Yarn模式下&#xff0c;Spark的任务提交同样根据Driver程序运行的位置不同&#xff0c;分为cli…

Docker 高级管理-容器通信技术与数据持久化

(1)创建一个叫 my-net 的 bridge 类型的网络(2)查看都有哪些网络(3)运行一个容器井连接到新建的 my-net 网络(4)运行一个容器井加入到 my-net 网络2:Host 模式由于使用了 Host 模式&#xff0c;容器会直接使用宿主机的网络端口&#xff0c;因此可以直接在宿主机上通过 localhos…

在 Ubuntu 24.04 中安装 Python 2.7、pip 及 mysqlclient==1.4.6 的完整指南

在 Ubuntu 24.04 中安装 Python 2.7、pip 及 mysqlclient1.4.6 的完整指南 前言 随着 Ubuntu 24.04 的发布&#xff0c;许多旧的软件包已被移除或更新&#xff0c;但老项目需要 Python 2 。本文将详细介绍自己如何在 Ubuntu 24.04 中成功安装 Python 2.7、pip 以及 mysqlclient…

doker以及网站案例

一.docker搭建1.安装dockerapt-get install docker.io docker-compose2.编写配置文件&#xff08;注意路径正确&#xff09;vim /etc/systemd/system/docker.service.d/http-proxy.conf[Service] Environment"HTTP_PROXYhttp://科学上网访问的ip:端口" Environment&q…

【HarmonyOS Next之旅】DevEco Studio使用指南(四十一) -> 获取自定义编译参数

目录 1 -> HAP/HSP运行时获取编译构建参数 1.1 -> 生成BuildProfile类文件 1.2 -> 在代码中获取构建参数 1.3 -> 默认参数 1.4 -> 自定义参数 2 -> HAR运行时获取编译构建参数 2.1 -> 生成BuildProfile类文件 2.2 -> 在代码中获取构建参数 2.…