- 博客(34)
- 收藏
- 关注
原创 用VB和access制作一个登录系统
第一步:打开你的access数据库创建两个表,一个用来记录医生的id和密码,另一个记录患者的id第二部:vs中的操作:新建一个项目选择VB下的Windows窗口项目 ,新建它此时会出现这样一个窗体:在视图中点击工具箱,此时左侧会出想控件列表提前下载好用来做背景的...
2022-09-25 16:44:15
1076
原创 linux|C,C++程序的编译链接
在系统内核里每一个进程都有一个pcb节点,用于记录进程的属性信息gcc和g++的区别?gcc 个g++同时可以编译c和c++但是他们编译的规则不同:gcc对.c 文件以c语言的方式编译,对.cpp 文件以c++的方式编译g++对.c 和.cpp 都以c++的方式编译gcc默认链接C语言库,g++默认链接c++库gcc的使用直接将源文件编译成可执行文件gcc 所有的源文件名 ---->默认生成a.o的可执行文件gcc 所有源文件名 -o 用户自定义文件名
2020-08-21 17:33:23
296
原创 C++|深入了解C++的new和delete
new 和delete 运算符malloc 和 new 的区别?1、malloc按字节开辟内存的;new开辟内存时需要指定类型 new int[10],所以malloc开辟内存返回的都是void*2、malloc只负责开辟空间 new不仅有malloc的功能,还可以进行数据的初始化 new int(20);3、malloc开辟内存失败返回nullptr指针,new开辟失败抛出bad_alloc类型的异常free和delete的区别?delete:调用析构函数,再freenew和de
2020-08-21 13:32:10
239
原创 linux|基本命令总结
cd 切换目录touch 创建普通文件mkdir 创建目录文件rm 删除普通文件rmdir 删除目录文件cp 拷贝一个文件mv 剪切或重命名文件chown 修改文件属主chgrp 修改文件数组chmod 修改文件权限find 查看文件内容tar 打包解包文件gzip 压缩解压文件ln 创建链接vi是linux系统上常用的一个文本编辑器,他有三种模式:命令模式 编辑模式 和末行模式用以
2020-08-19 11:49:04
197
原创 认识linux
linux和Windows的区别1、linux使用命令行操作系统 Windows使用图形化界面2、linux应用于服务器 Windows属于个人操作系统3、linux属于开源项目 而Windows不开源4、linux是多用户系统而Windows是单用户系统linux内核版本2. 6.32-279.el6分别表示主版本号 次版本号 修订版本号 修订的第几次微调一般次版本号 奇数代表测试版本 偶数代表发行版本常见的发行版本:redhat Ubantu(基于桌面
2020-08-19 11:11:48
142
原创 C++|通过实现String类型认识容器的迭代器
#include <iostream>#include <string>using namespace std;class String{public: String(const char *p = nullptr) { if (p != nullptr) { _ptr = new char[strlen(p) + 1]; strcpy(_ptr, p); } else { _ptr = new char[1]; *_ptr =
2020-08-18 17:36:14
206
原创 C++|运算符重载
#include <iostream>using namespace std;class CComplex{public: CComplex(int r = 0, int i = 0) : mreal(r), mimage(i) {} CComplex operator+(const CComplex &src) { /*CComplex comp; comp.mreal = this->mreal + src.mreal; comp.mimage
2020-08-17 18:42:43
288
原创 C++|容器,容器的空间配置器
一个顺序容器 vector#include <iostream>using namespace std;template <typename T,typename alloc=Allocator<T>>class vector{public: vector(int size =10): _first(new T[size]), _last(_first), _end(_first+size) {} ~vector() { delete
2020-08-15 19:32:24
182
原创 C++|模板
函数模板模板的意义: 对类型也可以进行参数化了函数模板 是不进行编译的模板实例化 函数调用的点进行实例化模板函数 才是要被编译器编译的模板类型参数模板的实参推演模板的特例化 特殊的实例化 不是编译器提供的 而是用户提供的 模板代码是不能在一个文件中定义 在另一个文件中使用的,模板代码在调用之前一定要看到模板定义的地方,这样模板才能够进行正常的实例化,产生能够被编译器编译的代码 所以模板代码都是放在头文件当中的,然后在
2020-08-14 18:09:02
113
原创 C++基础|类的各种成员方法
#include <iostream >using namespace std;class Goods{public: Goods(const char *n, int a, double p):_amount(a), _price(p)//初始化列表,初始化操作,对类成员对象的初始化必须在这里 { strcpy(_name, n); //当前类类型的构造函数体 赋值操作 _count++; } void show()//普通成员方法 普通*this {
2020-08-14 10:08:52
511
原创 算法|八大排序算法的原理及实现
冒泡排序依次比较相邻两个元素的大小,如果前一个大于后一个,交换他们void Bubble(int *arr,int len){ for (int i = 0; i < len - 1; i++) { bool flag = false; for (int j = 0; j < len - 1 - i; j++) { int temp = 0; if (arr[j] > arr[j+1]) { temp = arr[j]; arr[
2020-08-13 19:16:54
279
原创 C++基础|拷贝构造代码实践
String类#include <iostream>using namespace std;class String {public: String(const char *str=nullptr) //处理字符串时,不管传进来的字符串是否为空,都给底层字符串开辟空间,避免之后所有的操作都要对字符串进行判空 { if (str != nullptr) { m_str = new char[strlen(str) + 1]; strcpy(this->
2020-08-13 13:54:15
114
原创 C++基础|对象的深拷贝和浅拷贝
一个顺序栈:#include <iostream>using namespace std;class SeqStack{public: void init(int size = 10) //初始化栈 { _pstack = new int[size]; _top = -1; _size = size; } void release() //释放栈 { delete []_pstack; _pstack = nullptr; } v
2020-08-13 12:30:02
469
原创 C++基础|const用法总结
const 的主要作用是利用编译器帮助我们检查自己代码的正确性用const在代码中标示出“不应该改变”的地方,然后利用编译器检查这些地方是否真的没有被改变过,如果我们不小心修改而来这些地方,编译器就会报错const在C和C++中的区别 C中,const修饰的量可以不用初始化,它本质上不是常量,叫常变量,不能当做常量使用如const int a = 10;int arr[a];它不能作为左值被修改,但可以通过指针操作内存更改它的值 C++中,const修饰的量必须初始化,叫常量,可以
2020-07-28 19:59:41
196
原创 C++基础|类的构造函数,析构函数以及this指针
类的构造函数类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对像时执行 构造函数名称与类名一样,不返回任何类型,也不会返回void,一个类可以有多个构造函数 构造函数分为 默认构造 带参构造 拷贝构造 赋值构造默认构造函数 一般情况下是一个没有参数的空函数,也可以提供一些默认值,如果用户没有定义构造函数,那么编译器会给类提供一个默认的构造函数,但如果用户自定义了任意一个构造函数,编译器就不会提供默认的构造函数#include <iostream>
2020-07-28 16:00:42
513
原创 C++基础|类和结构体的区别
结构体在c中和在C++中1、c中的结构体中不能包含函数,c++结构体可以定义类,他允许有内部成员方法(函数)2、c中的结构体是不可以继承的,c++的结构体是可以从其他的结构体或者类继承过来的3、c中的结构体对内部成员变量的访问权限只能是public,c++可以是public,protected和private4、c定义结构体一定要有struct关键字,C++可以 不要C++中的类和结构体1、C++结构体内部成员变量及成员函数默认的访问级别是public,类的内部成员变量及成员函数默认的访问级别是
2020-07-28 12:34:23
402
原创 C++基础|类和对象
OOP思想 C++语言是面向对象的语言,以对象为单位进行编程,相较于面向过程语言,他更符合人的思维面向过程是具体化的,流程化的,面向对象是模型化的,面向过程是面向对象的基础,面向对象是面向过程的抽象,在类的里边,实现具体的功能还是需要流程化具体化的代码实现 总结来说,面向对象底层还是面向过程,面向过程抽象成类,然后封装,方便实用就是面向对象优缺点: 面向过程性能比面向对象要高,因为类调用时需要实例化,开销比较大 而面向对象,易维护,易复用,易扩展OOP语言的四大特征:抽象 封装 继承
2020-07-28 12:24:15
185
原创 MATLAB处理语音信号
一、实验项目名称语音信号的处理二、实验目的综合运用数字信号处理课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并进行计算机仿真,从而复习巩固了课堂所学的理论知识,提高了对所学知识的综合应用能力。三、实验内容语音信号的采集语音信号的频谱分析设计数字滤波器和画出频率响应用滤波器对信号进行滤波比较滤波前后语音信号的波形及频谱回放语音信号四、实验具体方案1.语音信号采集录制一段语音信号并保存为文件,长度控制在1秒,并对录制的信号进行采样;录制时使用Windows自带
2020-07-19 12:25:31
26533
23
原创 中断、异常、内存碎片以及减少碎片的方法
在操作系统中引入核心态和用户态这两种工作状态后,就需要考虑这两种状态之间如何切换,操作系统内核工作在核心态,而用户程序工作在用户态,但系统不允许用户程序实现核心态的功能,而他们又必须使用这些功能,因此,需要在核心态建立一些"门",实现从用户态进入核心态,CPU运行上层程序时唯一能进入这些门的途径就是中断或异常当中断或异常发生时,运行用户态的CPU会立即进入核心态(用一个寄存器的以为表示CPU所处的工作状态,0表示核心态,1表示用户态)若要进入核心态,就将该位置0中断也称外中断,指来自CPU执行指
2020-07-03 10:03:14
529
原创 C语言中文件怎么操作呢
程序设计中,文件主要用到两种 程序文件 (包括源程序文件.c 目标文件.obj 可执行文件.exe)和数据文件所谓文件是指存储在外部介质上数据的集合 输入输出是数据传送的过程,数据像流水一样从一处流向另一处,因此常将输入输出形象地称为流,即数据流。 输入 是数据从文件流向计算机内存输出 是数据从计算机流向文件一个文件要有唯一的文件标识,以便用户识别和引用文件标识包括三部分:文件路径 文件名主干 文件后缀 后缀一般用来表示文件的性质:如doc是Word生成的文件
2020-05-30 19:15:46
554
原创 结构体和公用体
除了我们常用的系统数据类型,C语言还允许用户根据需求自定义数据类型 将一组有关系的变量(不同类型,例如一个学生的姓名,学号,成绩等等)联系起来,这样创建一种新的数据类型——结构体类型。结构体类型的创建方法关键字 struct struct Student{ int num; char name[20];};结构体类型的类型名是Student,花括号内是结构体的成员,结构体的成员还可以属于另一个结构体类型struct Data{ int year; int month;
2020-05-20 17:48:03
424
原创 C语言之指针的使用(三)
通过指针引用字符串在C语言程序中,字符串是存放在字符数组中的 ,可以通过数组名和下标引用字符串中的一个字符,也可以通过数组名和格式声明“%s”输出该字符串,通过字符指针变量引用字符串常量C语言对于字符串常量是按字符数组处理的,在内存中开辟了一个字符数组用来存放该字符串常量,但是这个字符数组是没有名字的,因此不能通过数组名来引用,只能通过指针变量来引用 对字符指针变量初始化,实际上是...
2020-05-06 11:31:40
1142
原创 C语言之指针的使用(一)
指针的定义内存区中的每一个字节有一个编号,这个编号叫做地址,通过地址能找到所需的变量单元,可以说地址指向该变量单元,将地址形象化地称为指针编译器为一个变量分配一个存储单元 指针是这个存储单元的地址 变量名是这个存储单元的名字 变量的值是这个存储单元的内容指针变量一个变量的地址称为该变量的指针 用来存放变量的地址的变量叫做指针变量如何定义指针变量 * 的不同意义...
2020-04-28 13:13:27
307
原创 C语言之数组的使用(二)
数组在内存中数组存放在内存中的栈上,编译时确定数组的大小,运行时才给其分配内存数组在内存中连续存放,且由低地址向高地址方向存储数据,栈上的两个变量之间有哨位兵进行保护,可以防止数组越界#include <stdio.h>int main(){ int arr[5] = { 12,23,34,45,56 }; //定义一个数组,有5个元素,每个元素都是int型,下标...
2020-04-14 11:55:59
507
原创 初步了解C语言
计算机的一切操作由程序控制,计算机工作基于二进制,计算机不能直接识别高级语言程序,他需要翻译。C语言是国际上广泛流行高级计算机语言一个C语言程序包括一个或多个源文件:1、预处理指令:如 #include <stdio.h>,作用是将stdio.h头文件中的内容读进来(预编译过程处理)2、全局声明:函数之外进行的数据声明,即全局变量,在整个源程序范围内有效3、函数定义:每个函数...
2019-10-20 11:53:36
384
原创 C语言之数组的使用
数组C语言中,数组主要用来处理批量数据 ( 查表)数组的特点:1、数组内数据有序排放2、数组中每个元素都属于同一数据类型这里主要介绍一维数组 二维数组和字符数组 字符串处理函数定义、初始化和引用数组一维数组定义:类型名 数组名[常量表达式] 如 int a[10];常量表达式: 元素个数,数组长度 下标从0开始C语言不允许对数组大小做动态定义如下列情况...
2019-08-26 22:42:27
706
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人