自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 my_list

自己模拟STL库函数写的my_list,该my_list的实现基于STL库中的list容器。

2025-03-25 11:02:43 70

原创 my_vector

当涉及到编程和数据结构时,向量(vector)是一种非常有用的数据结构。而在C++中,我们可以使用STL中的vector类来实现向量。然而,有时候我们希望自己实现一个简单的向量类,以更好地理解其内部机理。我写了一个名为`my_vector`的简单向量类,它基于动态数组实现。这个向量类具有添加元素、访问元素、删除元素等基本功能,并且可以自动扩展容量以容纳更多元素。通过实现这个my_vector类,我深入地学习了动态数组的工作原理,以及如何管理内存和处理指针。虽然STL中的vector类已经非常强大和高

2025-03-23 18:30:11 92

原创 my_string 的实现

构造:stl库中有很多构造重载,构造方法如下:这里只写了其中两个构造函数:size: capacity:resize(控制当前字符容量大小):void resize (size_t n);void resize (size_t n, char c); void reserve (size_t n = 0); clear:void clear(); shrink_to_fit :void shrink_to_fit(); swap:void swap (string& str)

2025-03-23 17:49:14 956

原创 STM32_实验5_中断实验

主函数可以空置。

2024-10-19 14:31:22 1000

原创 STM32_实验4_控制蜂鸣器

【代码】STM32_实验4_控制蜂鸣器。

2024-10-15 23:37:58 415

原创 STM32_实验3_控制RGB灯

为什么这里配置高电平,配置 GPIO 引脚为高电平或低电平,取决于应用场景和你希望通过 GPIO 引脚实现的功能。当你想点亮 LED 时,需要将 GPIO 引脚配置为低电平(即 GPIO_PIN_RESET),此时会有电流流过 LED,LED 会发光。: 这是 GPIO 引脚号,你可以使用 HAL 库定义的宏,例如 GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_5 等等,用来指定要操作的引脚。1.GPIO_PIN_SET: 设置引脚为高电平。点击 2 配置引脚为GPIO_Output。

2024-10-15 13:28:50 810

原创 STM32_实验2_printf函数重定向输出

以上是为了打印调试信息添加的串口重映射配置。

2024-10-14 23:51:46 1245

原创 STM32_实验1_建立新工程

使用串口 1 输出字符串 “hello stm32"。(配置完点击生成代码)

2024-10-14 22:48:04 530

原创 STL_string 常用的用法

里面涵盖了翻译后c++中string大多数函数的使用方法、讲解与注意事项,能够高效率的查看string里的各个函数作用。

2024-09-15 04:06:55 785

原创 C++.类和对象(中)

本文主要讨论了类和对象在面向对象编程中的重要性和作用。首先,文章介绍了类是一种抽象数据类型,用于描述一类具有相同属性和行为的对象,通过定义类,我们可以创建多个具有相似特征的对象。接着,文章阐述了对象是类的实例,具有类定义的属性和方法,类和对象之间存在一种包含和被包含的关系。然后,文章指出了类是代码重用和组织的基本单位,通过创建类,我们可以将代码分割成逻辑上独立的模块,使得代码更易于维护和扩展。文章还强调了封装是面向对象编程的设计原则之一,封装将数据和操作封装到类中,隐藏实现细节,提高代码的可读性、可维护性和

2024-08-19 21:47:43 813

原创 C语言——贪吃蛇游戏

本文介绍了如何利用C语言在Windows控制台上实现贪吃蛇游戏。文章首先介绍了贪吃蛇游戏的基本规则和玩法,然后详细讲解了如何使用C语言的基本语法和控制台编程相关函数实现贪吃蛇游戏的各个功能。通过使用循环、数组、条件语句和函数等基本概念,实现贪吃蛇的移动、吃食物、增加长度以及判断游戏结束等功能。文章还强调了代码的模块化和注释的重要性,以提高代码的可读性和可维护性。

2024-08-04 23:02:44 1308

原创 C语言——扫雷小游戏

c语言写的一些小游戏,提高兴趣爱好。

2024-06-19 18:00:41 1014 2

原创 C++.类和对象(上)

C++是一种流行的编程语言,它是从C语言演化而来的,具有更多的功能和特性。在C++中,类和对象是核心概念之一。类是一种用户定义的数据类型,可以封装数据和函数成员,以实现面向对象编程的思想。对象是类的具体实例,通过创建对象可以使用类中定义的成员。初学者对于类和对象的理解是非常重要的。在学习C++的过程中,初学者需要掌握如何定义类和对象,以及如何使用它们。首先,初学者需要了解如何定义一个类。类的定义包括成员变量和成员函数的声明和定义。成员变量是类中存储数据的变量,成员函数是类中定义行为的函数。

2024-04-13 00:12:27 889

原创 C++ 前言

本文探讨了C++初学者的学习方法和技巧。首先,文章介绍了C++语言的基本概念和特点,包括数据类型、变量、函数和类等。其次,文章讨论了初学者需要掌握的基本语法和语法规则,并提供了一些实践案例来帮助读者更好地理解和应用。此外,文章强调了编程实践的重要性,包括解决具体问题、参与项目和阅读源代码等。最后,文章提出了一些学习建议,如积累编程经验、利用在线资源和参加编程社区等,以帮助初学者加快学习进度。通过阅读本文,C++初学者可以获得有关学习方法和技巧的实用指导,以便更好地掌握这门编程语言。

2024-04-05 13:39:47 695 1

原创 数据结构——排序

本文主要介绍了排序算法的基本概念和常见的排序算法。首先,文章解释了排序的定义和重要性,指出排序是将一组数据按照一定的规则进行排列的过程,可以提高数据的查询和整理效率。接着,文章详细介绍了常见的排序算法,包括冒泡排序、选择排序、插入排序、快速排序和归并排序。对于每种算法,文章都阐述了其思想和具体实现方法,并分析了其时间复杂度和空间复杂度。最后,文章总结了排序算法的优缺点,并提供了如何选择合适的排序算法的建议。通过阅读本文,读者可以了解不同的排序算法,理解其原理和应用场景,从而在实际问题中选择合适的排序算法,提

2024-03-23 22:23:42 654 1

原创 数据结构——二叉树.顺序表结构及实现

1.树概念及结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1

2024-02-23 15:27:57 1979 1

原创 数据结构——队列

1.队列的结构与概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先 进先出 FIFO(First In First Out)入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头

2024-02-20 19:23:00 1610

原创 数据结构——栈

栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。

2024-02-07 16:29:29 870 1

原创 数据结构——链表

非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。链表结构图如下:链表的结构与火车的原理相同,火车是由火车头拉着一节一节的车厢而运动,链表也如此,创建链表结构的时候,通常使用一个指针指向下一个结构的地址,(双向链表需要额外创建一个指针,指向前一个节点)。以带头节点不循环单向链表为例://先重命名一个类型声明,方便修改数据类型typedef struct SListNode //定义链表结构体//数据元素。

2024-02-07 15:30:49 2054 1

原创 数据结构——顺序表

顺序表结构简单便于随机访问表中任意的数据元素;缺点是插入和删除操作需要移动大量的数据元素,特别是当顺序表的而数据元素含有复杂信息是,移动工作量大、程序执行效率低。另外,顺序表的存储空间是连续且预先分配,若顺序表的长度变化较大时,难以预估顺序表的长度,可能会造成空间的浪费,也可能会导致数据溢出。以上内容为本人的学习笔记。

2024-01-26 23:45:10 893 1

原创 C语言 文件操作

一、⽂件的打开和关闭1、什么是⽂件?。程序⽂件:程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。。2、⽂件名⼀个⽂件要有⼀个唯⼀的⽂件标识,以便⽤⼾识别和引⽤。⽂件名包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀例如: c:\code\test.txt为了⽅便起⻅,⽂件标识常被称为⽂件名。3、⼆进制⽂件和⽂本⽂件根据数据的组织形式,数据⽂件被称为⽂本⽂件或者⼆进制⽂件。

2023-10-08 12:28:41 66 1

原创 C语言 自定义类型:结构体

一.结构体类型的声明一.结构体类型的声明1.1结构体的概念结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2结构的声明例如描述⼀个学⽣:structStucharname[20//名字intage;//年龄charsex[5//性别charid[20//学号//分号不能丢。

2023-10-07 18:10:54 57 1

原创 整数和浮点数在内存中存储

一、整数在内存中的存储整数的2进制表⽰⽅法有三种,即原码、反码和补码,三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最⾼位的⼀位是被当做符号位,剩余的都是数值位。正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。补

2023-09-23 13:34:20 59 1

原创 C中对strlen,strcpy,strcat模拟实现

{ //使*dest==*src;(*dest) //使用循环使*dest指向字符串的末尾‘\0’//当*str不为‘\0’时,cost++((*dest++ = *src++)) //while循环与判断条件。((*dest++ = *src++)) //while循环与判断条件。

2023-09-20 19:48:20 62 1

原创 c语言:指针

c语言指针总结

2023-08-19 22:37:07 57

原创 c语言函数递归

可以看到,上图的流程是先用递进的方式一步一步将问题简化,求5的阶乘变为求4的阶乘又变为3的阶乘......最后化简到一的阶乘,一的阶乘就是一,因此就不需要继续往下算了,但是我们也可以看到,由于递归调用的函数是本身,因此结果并没有第一时间返回,而是通过回溯将结果一步一步往后退,从而计算出最终结果。举个例子,当我们输入1234时,我们可以发现,当我们对1234进行模10操作时,会得到4,之后,我们在除10,就会得到123,以此类推,我们就会得出各位数,但是这里的顺序是反的,怎么使顺序正过来呢?

2023-08-05 17:44:28 67 1

原创 C语言实现扫雷游戏

C语言简单实现扫雷小游戏

2023-07-29 16:56:05 48

原创 C语言分支和循环语句

| :或运算符 当左边为真时,右边操作数就不在执行;&& :与 运算符 短路:当左边为假时,右边操作数就不在执行;每一个case语句中执行完后需要加上break,才能跳出switch语句;永久的终止循环,只要break被执行,直接跳出循环体,继续往后执行。c语言是结构化的程序设计语言,结构为三种:顺序结构、选择结构、循环结构;for语句、while语句、do while语句实现循环结构。case与后面的数字之间必须有空格;在c语言中,0为假,非0为真。

2023-07-26 20:02:30 59 1

原创 第一次学着尝试写博客

正式开始第一门c语言学习,虽然基础不行,但我相信,勤能补拙。路遥知马力,功夫不负有心人,一定要坚持下去!

2023-07-20 14:26:15 47

空空如也

空空如也

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

TA关注的人

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