- 博客(75)
- 收藏
- 关注
原创 【期末速成】——计算机组成原理(1)概述
计算机的组成可以分为五个部件和两个信息流:五个部件:运算器、存储器、控制器、输入设备、输出设备两个信息流:控制信息流和数据信息流控制信息流包括:指令信息、状态信息、时序信息这些信息的组合产生各类控制信号,对数据进行加工处理,并控制数据信息流向,实现计算机的各项功能。
2024-05-31 19:00:07 443
原创 输入输出(4)——C++的输入输出运算符
ostream类对“<<”运算符进行了重载,将其转换为一个输出工具cout是ostream类的一个对象,它是智能的,能够识别所有的C++基本类型。但是,因为表达式“cout<<x”位于“<<y”的左侧,所以输出语句也要求该表达式是一个ostream 类型的对象。(2)使用输出运算符时,不同类型的数据也可以组合在一条语句中,编译程序会根据在“<<”右边的变量或常量的类型,决定调用重载该运算符的哪个重载函数,因此,输人运算符不仅能够识别预定义类型的变量,如果某个类中重载了这个运算符,它也能识别这个类的对象。
2024-05-26 18:15:34 847
原创 输入输出(1)——C++的输入输出概述
在iostream.h头文件中定义的类有 ios、istream,ostream,iostream,istream_withassign,ostream _withassign,iostream_withassign等。操作系统把每一个与主机相连的输入输出设备都看作为一个文件键盘是输入文件,显示器和打印机是输出文件,除了以终端为对象进行输入输出以外,还经常用磁盘或光盘作为输入输出对象,磁盘文件可以作为输入文件,也可以作为输出文件。C++中的I/O流库中的类称为流类。用流类定义的对象称为流对象。
2024-05-22 21:08:43 1227
原创 自定义类型——枚举,联合
以上定义的enum Day , enum Sex , enum Color 都是枚举类型。这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。一周的星期一到星期日是有限的7天,可以一一列举。{}中的内容是枚举类型的可能取值,也叫枚举常量。这种类型定义的变量也包含一系列的成员,特征是这些。当最大成员大小不是最大对齐数的整数倍的时候,就要。联合体也叫共用体,是一种特殊的自定义类型,联合的成员是共用同一块内存空间的,这样一个。联合变量的大小,至少是最大成员的大小 .
2024-05-19 21:57:45 286
原创 自定义类型——位段
在C++中,struct而不是使用其类型默认的大小。位段的声明和结构是类似的,有两个不同:1.位段的成员必须是int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字。比如A就是一个位段类型。那位段A的大小是多少?输出结果是8;
2024-05-19 21:33:10 268
原创 数学建模——线性规划(1)
特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我们建立有效模型的关键之一。线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。其中 c 和x 为n 维列向量, A 、Aeq 为适当维数的矩阵, b 、beq 为适当维数的列向量。
2024-05-18 13:50:01 930
原创 自定义类型 |结构体
声明类型的同时定义变量直接定义结构体变量定义变量的同时赋初值。int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化。
2024-05-17 23:11:56 651
原创 Linux|基础环境开发工具使用(1)
aLinux3-os可能是一个特定的Linux发行版或仓库的名称,但请注意,这不是一个广泛认可的标准名称。:vi和vim都具有良好的兼容性和可移植性。"el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.:vi和vim共享许多相同的命令和快捷键,这些命令和快捷键用于导航文本、编辑文本和执行其他任务。
2024-05-15 22:30:08 1061
原创 C++|内存管理(2)
什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。// 1.内存申请了忘记释放// 2.异常安全问题Func();// 这里Func函数抛异常导致 delete[] p3未执行,p3没被释放.
2024-05-13 17:59:24 527
原创 C++|内存管理(1)
【说明】1.栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的。2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。3.堆用于程序运行时动态内存分配,堆是可以上增长的。4. 数据段--存储全局数据和静态数据。5.代码段--可执行的代码/只读常量。1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造。
2024-05-13 17:44:20 805
原创 读书笔记——《高质量C++/C编程指南》(6)
被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。建议:“Use const whenever you need”。
2024-05-12 19:20:00 724
原创 读书笔记——《高质量C++/C编程指南》(5)
前两篇笔记对这本书里面的文件结构、、命名规则、表达式和基本语句的良好编程习惯,将记录常量与函数设计做了记录。本篇读书笔记(5)将记录。
2024-05-10 21:35:17 924
原创 读书笔记——《高质量C++/C编程指南》(4)
前两篇笔记对这本书里面的文件结构、、命名规则、表达式和基本语句的良好编程习惯,将记录常量与函数设计做了记录。本篇读书笔记(4)将记录。
2024-05-10 21:14:37 938 1
原创 读书笔记——《高质量C++/C编程指南》(3)
【规则1】需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为便于管理,可以把不同模块的常量集中存放在一个公共的头文件中。【规则2】如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值。例如:RADIUS * 2;
2024-05-08 23:51:47 1315
原创 读书笔记——《高质量 C++/C 编程指南》(1)
想来想去,觉得还是要看一些书。利用闲暇时间(不想学习的时候,嘿嘿)写写读书笔记。书名——《高质量 C++/C 编程指南》这本书里面有一句话——除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的 C++/C 程序怎么会有那么多的毛病?我想对于我们这种不算小白,不算熟悉的人来说,一定会有很多"误打误撞"的代码——代码逻辑有问题,但是把结果跑出来了。定义文件有两部分内容:(1) 对一些头文件的引用。(2) 程序的实现体(包括数据和代码)。
2024-05-06 23:38:23 1354 2
原创 C++|STL-list运用(1)
list是一个双向循环链表,双向循环链表它的每个节点都有两个链接,一个指向前一个节点,另一个指向下一个节点,且最后一个结点指向头节点。返回list的最后一个节点中值的引用int main()//代表列表里面有两个数第一个3,第二个2//同上cout << "mylist最后一个数据——" << mylist.back() << endl;cout << "mylist1最后一个数据——" << mylist1.back() << endl;return 0;
2024-04-29 22:32:38 1458
原创 C++|STL简介-string-vector基础运用
STL(标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。里面的算法和容器可以直接使用,比如直接调用一个sort函数就可以对一组数据排序。不用再让我们写一个排序功能的函数。
2024-04-29 21:01:13 721
原创 C++|模板
假如我们要写一个相加的函数,但我们不知道两个数据的类型,那么我们会写很多个实现不同数据类型相加的函数,这样就会导致代码重复率过高。——因此,考虑给一个相加函数的模板,无论什么类型的数据套用这个模板就可以实现相加的操作。将实参a将T推演为int,通过实参d将T推演为double类型,但模板参数列表中只有一个T,编译器无法确定此处到底该将T确定为int 或者 double类型而报错。之前写过STL里面的Vector它可以存储不同类型的数据,这就是因为它是一个类模板,而不是一个具体的类。函数模板是一个模具。
2024-04-27 23:19:42 846
原创 C++|对象与const
无论是对象的const型数据成员还是常对象的const型数据成员都是不能被修改的指针被const修饰,导致该指针只能指向一个对象,对象里面的值可以随意修改。对象被const修饰,导致该对象里面的值不能被修改,而指针的指向可以修改。
2024-04-27 18:49:01 651
原创 C++|运算符重载(1)|为什么要进行运算符重载
本篇里面的日期类型加法,先不考虑闰年,平年的天数,每月的天数统一按30天算,那么每一年也就是360天目录写在前面定义基本数据类型自定义数据类型成员函数解决相加问题Date类+整形下一篇----运算符重载的规则运算符重载是对已有的运算符进行重新定义,赋予另一种功能,以适应不同的数据类型。C++中预定义的运算符操作对象只能是基本数据类型。实际上,对于我们自定义的类型(类),也需要进行类似的操作运算,可以直接用“+”来加减;例如:对于日期这个类, 我想要直接知道当前日期加上n天之后,是何年何月何日。
2024-04-15 23:13:34 1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人