自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 Linux——基础命令3

w-----保存;q------退出;!-----强制执行:w (保存文件):wq (保存并退出vim):x (保存文件并退出vim):q!(不保存文件强制退出):w filename (另存为filename)pwd(可以快速查询当前文件所在目录)date (可以快速查看当前时间):set number (给文件设置行号) 可以简写为 :set nu:set nonumber (取消行号) 可以简写为 :set nonu。

2025-02-08 10:42:05 610

原创 Linux——基础命令2

在linux中分别有读、写和执行的权限对于文件夹而言,读权限影响用户是否能够列出目录结构对于文件而言,读权限影响用户是否可以查看文件内容对文件夹而言,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档对于文件而言,写权限影响用户是否可以编辑文件内容对于文件夹而言,执行权限影响对应的用户是否可以在文件夹内执行指令一般都是对于文件而言,特别脚本文件对于文件而言,执行权限影响文件是否可以运行Owner身份(文件所有者,默认为文档的创建者由于Linux是多用户、多任务。

2025-02-07 17:17:05 931

原创 Linux——基础命令1

:普通用户#:超级用户。

2025-02-05 20:23:43 1592

原创 数据结构——查找算法和排序算法

需求:封装一个函数,写出在一个整型数组中查找目标元素的算法,找到了返回该元素所在索引;找不到返回-1。

2025-01-23 14:03:47 897

原创 数据结构——算法基础

算法的概念在计算机科学领域中几乎无处不在,在各种计算机系统的实现中,算法的设计往往处于核心的位置。计算机的问世是20世纪算法是计算机科学的重要基础,就像算盘一样,人们需要为计算机编制各种各样的“口诀”即算法,才能使其工作软件(项目) = 程序 + 文档程序 = 数据结构 + 算法软件(项目) = 数据结构 + 算法 + 文档。

2025-01-22 16:59:09 889

原创 数据结构——树和二叉树

1、定义(1)是一种非线性的数据结构,又叫做树型数据结构(2)树是n(n >=0)个节点的有限集合,当n=0时,叫空树(3)非空树必须满足两个条件:①有且仅有一个特定的称为根的节点;②其余的节点可以分为m(m >=0)个互不相交的有限集合T1、T2、......、Tm,其中每一个集合又是一棵树,并称其为根的子树2、相关概念(1)节点的度:树中一个节点的孩子个数称为该节点的度,所有节点的度的最大值是;eg:节点A的度:3;节点B的度:2;节点M的度:0;树的度:3。

2025-01-21 20:32:04 769

原创 数据结构——队列

1、队列:特殊的线性表2、存储结构:既可以是顺序存储,也可以是链式存储但是,顺序存储时,头插会移动大量元素,效率低,故而推荐链式存储3、队头:允许删除的一端4、队尾:允许插入的一端5、空队列:没有元素的队列6、特点:FIFO先进先出。

2025-01-21 11:45:17 1243

原创 数据结构——栈

(1)是一种特殊的线性表,只能在一端进行插入或删除操作(2)逻辑结构:线性结构;存储结构:既可以是顺序存储,也可以是链式存储(3)栈顶:允许插入或删除的一端(4)栈底:不允许插入或删除的一端,位置固定不变(5)空栈:栈中没有元素(6)使用特点:LIFO(后进先出。

2025-01-20 15:56:03 907

原创 计算机的内存分区

堆区的内存分配和释放通常由程序员控制,如果程序员不释放,程序结束时操作系统可能会回收。堆区的内存地址是按照从低到高的顺序分配的,大小受限于系统内存或虚拟内存的上限,因此相对于栈区来说,堆区提供了更大的空间和更灵活的内存管理方式。栈区的内存地址是按照从高到低的顺序分配的,其大小在编译时就已经确定,因此速度快,但空间有限。const修饰的全局变量也存放在常量区。全局变量和静态变量在程序的整个运行期间都是可见的,并且占用内存。程序的执行代码存放在代码区,这部分内存只读,不可修改。3、全局区(静态区)

2025-01-18 10:44:29 296

原创 数据结构——双向链表(带头、循环)

双链表也是链表的一种,双链表的每个数据节点中都有两个指针,分别指向前驱节点和后继结点数据节点如下图所示: 带头双向循环链表是链表中带头(哨兵位)、双向、循环三种属性的结合体(1)带头(哨兵位):哨兵位只负责存储第一个具有有效数据的节点,本身不存放数据,该处因为为双向循环链表,代表也可访问该链表的尾节点;(2)双向:每个节点不仅能访问该节点的后一个节点,同时也可访问本节点的前一个节点;(3)循环:第一个节点的pre指向尾节点; 链表为带头双向循环练表,因为存在哨兵位,所以在插入

2025-01-17 17:55:34 1446

原创 数据结构——链表和单向链表

(1)定义链表是一种基本的数据结构,它由一系列节点组成,每个节点包含一个值和指向下一个节点的指针节点如下图所示:与数组不同,链表中的节点不一定是连续的存储空间,因此可以有效地利用内存空间,而不需要预先知道数据的数量,不擅长随机访问(要遍历)(3)优缺点优点:不要求大片连续空间,改变容量方便;可以动态的添加和删除节点缺点:不方便可随机存取,要耗费一定空间存放指针。

2025-01-16 14:40:13 1816

原创 数据结构——线性表和顺序表

就是把线性表中的所有元素按照其逻辑顺序依次存储到指定位置开始的一块连续的存储区域线性表中的第1个元素的存储位置就是指定的存储位置,第i个元素的存储位置紧接第i-1个元素的存储位置的后面。

2025-01-15 15:05:28 928

原创 单片机存储器和C程序编译过程

CPU:①直接存在RAM②ROM->RAM->执行③磁盘->RAM->执行。CPU把xx.out复制到RAM,然后执行可执行文件。①预处理(宏替换、头文件展开、删除注释、条件编译)xx.i文件。只读存储器不是并列关系,是从ROM发展到FLASH的过程。④链接(二进制可执行指令文件)xx.out文件。永久存数据,存的是操作系统启动程序或指令。临时存数据,存的是CPU正在使用的数据。RAM容量大,以KM为单位,价格比较贵。②编译阶段(语法检测)xx.s文件。容量低,以MB为单位,价格低。CPU直接存储和访问。

2025-01-15 09:52:51 1030

原创 数据结构——概述

数据结构是计算机存储,管理数据的方式。数据必须依据某种逻辑联系组织在一起存储在计算机内,数据结构研究的就是这种数据的逻辑结构和数据的存储结构。

2025-01-14 11:01:27 641

原创 51单片机——DS1302时钟

DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三根通信线:RES(CE) 复位、I/O数据线、SCLK串行时钟1,VCC2:主电源引脚2,X1、X2:DS1302外部晶振引脚,通常需外接32.768K晶振3,GND:电源地4,CEP3^5。

2025-01-14 09:22:51 756

原创 51单片机——DS18B20温度传感器

管脚1为GND,管脚2为数据DQ,管脚3为VDD。

2025-01-13 15:03:41 2487

原创 51单片机——I2C-EEPROM

I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器(MCU)及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点I2C 总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。

2025-01-11 16:59:33 1537

原创 51单片机——串口通信(重点)

串口通信(Serial Communication),是指外设和计算机间通过数据信号线、地线等按位进行传输数据的一种通信方式,属于串行通信方式。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议串口通信中通常使用的是异步串口通信,即没有时钟线,所以两个设备要通信,必须要保持一致的波特率。

2025-01-09 11:29:30 2373

原创 51单片机——定时器中断(重点)

CPU时序的有关知识:①振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)。②状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。③机器周期:1个机器周期含6个状态周期,12个振荡周期。④指令周期:完成1条指令所占用的全部时间,它以机器周期为单位eg:外接晶振为12MHz时,51单片机相关周期的具体值为:振荡周期=1/12us;状态周期=1/6us;机器周期=1us;指令周期=1-4us;

2025-01-08 10:58:06 1390

原创 51单片机——中断(重点)

学习51单片机的重点及难点主要有中断定时器串口等内容,这部分内容一定要认真掌握,这部分没有学好就不能说学会了51单片机。

2025-01-07 19:55:56 1405

原创 51单片机——步进电机模块

都可以控制电机,例如:使用P1.0,则需要把线接在J47的1(VCC)和2(OUT1)上。//P1.0口控制电机(P1.0-P1.3都可以控制电机)直流电机没有正负之分,在两端加上直流电就能工作。要实现的功能是:直流电机工作约5s后停止。//毫秒的延时函数,输入1表示1毫秒。//输入1表示10us。//定义一个时间,5s。

2025-01-06 15:29:16 430

原创 51单片机——8*8LED点阵

LED 点阵的行则为发光二极管的阳极,LED 点阵的列则为发光二极管的阴极根据 LED 发光二极管导通原理,当阳极为高电平阴极为低电平则点亮,否则熄灭。因此通过单片机P0口可控制点阵列74HC595可控制点阵行11 脚 SRCLK( SHCP):移位寄存器时钟输入12 脚 RCLK( STCP):存储寄存器时钟输入14 脚 SER( DS):串行数据输入74HC595 需要用到的控制管脚直接连接到 51 单片机的P3.4-P3.6IO 口上。

2025-01-06 10:32:27 1175

原创 51单片机——按键实验

由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开,因而在闭合和断开的瞬间均伴随着一连串的抖动。抖动时间的长短由按键的机械特性决定的,一般为 5ms 到 10ms,为了确保 CPU 对按键的一次闭合仅作一次处理,必须进行消抖普中开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状态,如果得到按键按下之后,延时 10ms,再次读取按键的状态,如果按键还是按下状态,那么说明按键已经按下。其中延时10ms 就是软件消抖处理。

2025-01-03 15:39:44 1404

原创 51单片机——共阴数码管实验

数码管中有8位数字,从右往左分别为LED1、LED2、...、LED8,如下图所示如何实现点亮单个数字,用下图中的ABC来实现//定义数码管位选管脚sbit LSAP2^2;for(i=0;i

2025-01-02 17:48:47 1009

原创 51单片机——蜂鸣器模块

/产生一定频率的脉冲信号。delay(100);//改变数值,音调会变。u16 i=2000;P2.5管脚控制蜂鸣器。

2025-01-02 17:12:31 640

原创 51单片机——LED模块

LED模块中有8盏灯,从左到右为D1,D2,...,D88盏灯以二进制存储在单片机中,它们共同组成一个二进制即0位表示D1,1位表示D2,...,7位表示D8。

2024-12-31 16:50:51 740

原创 C语言——递归函数

eg:斐波那契数列:1 1 2 3 5 8 ... F(n)=F(n-1)+F(n-2) (n为>=2的自然数)递归:函数自身调自身,以反向顺序输出,找到一个出口,结束递归。适用于有规律性的,例如阶乘、杨辉三角形、斐波那契数列。eg:阶乘:1*2*3*4*5...*n n*(n-1)//没有退出条件结束递归时,死循环,最大为3990。printf("请输入n的值:");printf("请输入n的值:");//定义一个退出条件,结束递归。

2024-12-27 14:24:36 258

原创 C语言——宏与typedef指令

格式:#define 自定义名 内容,宏名要全部大写在C语言中有一些自己定义的符号__FILE__ //进行编译的源文件 %s__LINE__ //文件当前的行号 %d__DATE__ //文件被编译的日期 %s__TIME__ //文件被编译的时间 %sSTDC //如果编译器遵循ANSI C,其值为1,否则未定义#defineMAX 100。

2024-12-27 14:14:46 781

原创 C语言——结构体数组

输入一个班级的学生信息(包含id 、name 、gender、score),并把学习成绩超过全班平均成绩的学生找出来,输出这部分学生的姓名和成绩。结构体数组,是指数组中的每一个元素都是一个结构体类型。printf("请输入学生信息:");printf("请输入录入的人数:");//在函数中使用结构体,需要在函数参数部分引入。结构体类型 数组名[数组长度];,如果没有[数组长度]会出错。注意:不要忘记[数组长度]

2024-12-27 10:22:09 428

原创 C语言——结构体作函数参数

传值是指将参数的值拷贝一份传递给函数,函数内部对该参数的修改不会影响到函数外部原来的变量int age;}STU;//1、结构体传值void fn(STU s) {strcpy(s.name, "小明");s.age= 22;//1、结构体传值STU s1 = { "小米",18 };fn(s1);return 0;

2024-12-24 19:54:20 422

原创 C语言——结构体嵌套

结构体的成员也是变量,那么成员可以是基本数据类型,也可以是数组、指针、结构体类型。如果结构体的成员是另一个结构体,这就构成了结构体嵌套。

2024-12-24 15:41:39 1050

原创 C语言——结构体的定义

格式:(1)第一步struct 结构体名{成员列表(2)第二步struct 结构体名 变量名//结构体:人 有姓名,年龄,性别,家庭住址,电话//第一步:定义结构体类型int age;//第二步:定义结构体变量//方法一:直接赋值,进行初始化struct Person p1 = { "小米",20,"女","商丘工学院","15478523654" };

2024-12-24 10:42:44 812

原创 C语言——void指针和空指针的区别

(4)这种类型的指针不能直接进行取内容或递增递减的操作,必须先转成 别的类型的指针才可以执行,否则报错,(1)void指针与其他类型指针所占的内存都是一样的,为8字节或4字节。(3)在编译的时候不会确定其指向的类型,是在程序中进行指向的。(2)void*只包含地址,其他类型指针包含地址和数据类型。(2)void指针就是指向任何类型的指针。(2)空指针指一个指针不指向任何地址。(3)NULL是一个值为0的宏常量。(1)格式:void*3、void指针与其他类型指针的区别。

2024-12-23 19:25:11 201

原创 C语言——指针与函数(回调函数)

传值是指将参数的值拷贝一份传递给函数,函数内部对该参数的修改不会影响到原来的变量int temp;//交换变量temp = a;a = b;b = temp;//函数内 ~~a=20 ~~b=10int a = 10;int b = 20;wrap(a, b);//传值//函数外 a=10 b=20return 0;

2024-12-23 19:08:55 860

原创 C语言——字符数组与字符指针变量

一个字符串,可以使用一维字符数组表示,也可以使用字符指针来表示//Hello//只读,不能改 字符串中字符的不可变特性//w//可以整串改总结:1、字符数组:可以修改单个元素,不能整体修改,数组名是常量2、字符指针:可以修改整个指针变量的值,不能修改单个元素,具有不可变特性。

2024-12-23 16:28:34 224

原创 C语言——指针与数组专题

,也称为解引用符号 ,其作用与 &相反。”,后面只能跟指针(即地址)或指针变量, ”&“后面跟的是普通变量(包括指针变量)

2024-12-23 16:17:57 634

原创 C语言——动态创建二维数组

printf("请输入二维数组中每一行的项数:");printf("请输入二维数组的行数:");//动态创建一个指针,相当于一维数组。

2024-12-23 10:39:06 203

原创 C语言——二级指针

一个指针p1记录一个变量的地址。由于指针p1也是变量,自然也有地址,那么p1变量的地址可以用另一个指针p2来记录。则p2就称为二级指针错误定义:int a = 10;//能输出p1变量的地址,但不是二级指针//会出现警告 “初始化”:“int *”与“int **”的间接级别不同//不合理的//错误,上面的定义方法不是二级指针正确定义:int a = 10;//取地址//取值//10。

2024-12-20 19:20:52 367

原创 C语言——野指针

野指针:就是指针指向的位置是不可知(随机性,不正确性,没有明确限制的)int* a;//野指针//报错。

2024-12-20 19:15:26 452

原创 C语言——指针的运算

int a,b;//a、b都是普通变量int *a,b;//a是指针变量,b是普通变量int *a,*b;//a、b都是指针变量注意:在没有对指针变量赋值时,指针变量的值是不确定的,可以系统会分配一个未知的地址,此时使用此指针变量可能会导致不可预料的后果甚至是系统崩溃。为了避免这个问题,通常给指针变量赋初值为0(或NULL),并把值为0的指针变量称为空指针变量int i = 10;pp1 = &i;pp2 = pp1;pp1 = &j;

2024-12-20 17:21:47 846

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除