自定义博客皮肤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)
  • 收藏
  • 关注

原创 类和对象(上)_cpp

1.类的定义1.类的定义1.1类定义格式•class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。•为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。•。

2024-07-11 12:21:43 639

原创 C++入门基础_cpp

1.C++发展历史C++的起源可以追溯到1979年,当时Bjarne Stroustrup(本贾尼·斯特劳斯特卢普,这个翻译的名字不同的地⽅可能有差异)在⻉尔实验室从事计算机科学和软件⼯程的研究⼯作。⾯对项⽬中复杂的软件开发任务,特别是模拟和操作系统的开发⼯作,他感受到了现有语⾔(如C语⾔)在表达能⼒、可维护性和可扩展性⽅⾯的不⾜。

2024-07-08 15:44:58 984

原创 数据结构--单链表(基于单链表实现通讯录)

1.链表的概念及结构1.链表的概念及结构概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构跟⽕⻋⻋厢相似,淡季时⻋次的⻋厢会相应减少,旺季时⻋次的⻋厢会额外增加⼏节。只需要将⽕⻋⾥的某节⻋厢去掉/加上,不会影响其他⻋厢,每节⻋厢都是独⽴存在的。⻋厢是独⽴存在的,且每节⻋厢都有⻋⻔。想象⼀下这样的场景,假设每节⻋厢的⻋⻔都是锁上的状态,需要不同的钥匙才能解锁,每次只能携带⼀把钥匙的情况下如何从⻋头⾛到⻋尾?

2024-05-26 14:34:01 943

原创 数据结构——顺序表(用顺序表实现通讯录)

1.顺序表概念及结构1.顺序表概念及结构1.1 线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。1.2顺序表分类•顺序表和数组的区别◦顺序表的底层结构是数组,对数组的封装,实现了常⽤的增删改查等接⼝。•顺序表分类◦静态顺序表。

2024-05-26 13:56:55 383

原创 使用Python实现二维码生成工具

二维码本质上,就是一段字符串。我们可以把任意的字符串,制作成一个二维码图片。生活中使用的二维码,更多的是一个 URL 网址。

2024-05-04 11:00:00 471 1

原创 Python中无法pip的解决办法和pip的介绍

PIP是通用的Python包管理工具,提供了对 Python 包的查找、下载、安装、卸载、更新等功能。安装诸如Pygame、Pymysql、requests、Django等Python包时,都要用到pip。注意:在Python3.4(一说是3.6)及更新的版本中,PIP已经捆绑安装了,不需要再单独安装(应该需要更新)。

2024-05-03 15:45:35 1562

原创 用Pyhton实现一个简单的文件搜索工具

每个人的电脑中都有许多的文件,想要快速查找到这些文件,就要使用到文件查找工具。比如非常好用的everything。现在我们就来用Pyhthon实现我们的文件查找工具。

2024-05-03 14:18:13 215

原创 0基础深入理解指针(4) 回调函数 qsort函数使用

时,被调⽤的函数就是回调函数。回调函数不是由该函数的实现⽅直接调⽤,⽽是在特定的事件或条件发⽣时由另外的⼀⽅调⽤的,⽤于对该事件或条件进⾏响应。如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数。此函数使用的排序算法通过调用指定的函数来比较元素对,并将指向它们的指针作为参数。大家可以看见我们这里使用了void*指针,可以在我的之前的帖子里看见。对数组的元素进行排序,每个元素的字节长度为 ,使用函数确定顺序。我们学了上面的知识,接下来,我们就玩一个难一点的。

2024-04-22 17:30:00 297

原创 动态内存管理

有时会我们发现过去申请的空间太⼩了,有时候我们⼜会觉得申请的空间过⼤了,那为了合理的适合内存,我们⼀定会对内存的⼤⼩做灵活的调整。当是情况2 的时候,原有空间之后没有⾜够多的空间时,扩展的⽅法是:在堆空间上另找⼀个合适⼤⼩的连续空间来使⽤。当是情况1 的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发⽣变化。但是对于空间的需求,不仅仅是上述的情况。这个函数调整原内存空间⼤⼩的基础上,还会将原来内存中的数据移动到 新 的空间。指向的空间不是动态开辟的,那free函数的⾏为是未定义的。

2024-04-22 17:30:00 692

原创 从0开始用C写贪吃蛇(基于链表)

1.游戏背景贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。2.游戏效果演示3.实现目标使⽤C语⾔在Windows环境的控制台中模拟实现经典⼩游戏贪吃蛇。4.技术要点C语⾔函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。5.控制台程序平常我们运⾏起来的⿊框程序其实就是控制台程序。5.1。

2024-04-21 19:52:34 2533 4

原创 0基础深入理解指针(3)

⾸先我们再次理解⼀下⼆维数组,⼆维数组起始可以看做是每个元素是⼀维数组的数组,也就是⼆维数组的每个元素是⼀个⼀维数组。所以,根据数组名是数组⾸元素的地址这个规则,⼆维数组的数组名表⽰的就是第⼀⾏的地址,是⼀维数组的地址。那就意味着⼆维数组传参本质上也是传递了地址,传递的是第⼀⾏这个⼀维数组的地址,那么形参也是可以写成指针形式的。那要把函数的地址存到⼀个数组中,那这个数组就叫函数指针数组,那函数指针的数组如何定义呢?那数组指针变量应该是:存放的应该是数组的地址,能够指向数组的指针变量。

2024-04-21 17:30:00 274 1

原创 0基础深入理解指针(2)

这个代码搞明⽩后,我们再试⼀下,如果我们再分析⼀下,数组名arr是数组⾸元素的地址,可以赋值给p,其实数组名arr和p在这⾥是等价的。那么在数组传参的时候,传递的是数组名,也就是说本质上数组传参本质上传递的是数组⾸元素的地址。同理arr[i] 应该等价于 *(arr+i),数组元素的访问在编译器处理的时候,也是转换成⾸元素的地址+偏移量求出元素的地址,然后解引⽤来访问的。&数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的)那么在函数内部我们写。

2024-04-19 20:13:25 288 1

原创 void * 指针的作用_C

4.作为数据结构的一部分:在某些情况下,你可能想在一个数据结构中存储一个指针,但不确定这个指针将指向什么类型的数据。当你解引用一个void*指针时,你必须确保你知道它实际上指向的是什么类型的数据,并将其正确地转换为该类型的指针。它可以被赋值为任何类型数据的地址,但是在解引用它之前,通常需要将其强制转换为特定的类型指针。2.作为回调函数的参数:当回调函数需要接受不确定类型的参数时,可以使用void*。需要注意的是,虽然void*提供了很大的灵活性,但它也带来了类型安全的问题。

2024-04-19 19:37:33 206 3

原创 0基础深入理解指针(1)

内存和地址内存和地址。

2024-04-19 16:12:44 841 1

原创 数组详解_C 下:二维数组

前⾯学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。

2024-03-28 20:00:53 441

原创 数组详解_C 上:一维数组

我们⼜知道数组中所有元素的类型都是相同的,那只要计算出⼀个元素所占字节的个数,数组的元素个数就能算出来。有了下标访问操作符,我们就可以轻松的访问到数组的元素了,⽐如我们访问下标为7的元素,我们就 可以使⽤ arr[7]有了前⾯的知识,我们其实使⽤数组基本没有什么障碍了,如果我们要深⼊了解数组,我们最好能了 解⼀下数组在内存中的存储。以后在代码中需要数组元素个数的地⽅就不⽤固定写死了,使⽤上⾯的计算,不管数组怎么变化,计算出的⼤⼩也就随着变化了。中C语⾔是⼀个关键字,是可以计算类型或者变量⼤⼩的,其实。

2024-03-28 19:18:04 498

原创 函数递归_C (详解)

递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演⽰递归的基本形式,不是为了解决问题,代码最终也会陷⼊死递归,导致栈溢出(Stack overflow)。递归的限制条件是什么?递归在书写的时候,有2个必要条件:递归存在限制条件,当满⾜这个限制条件的时候,递归便不再继续。每次递归调⽤之后越来越接近这个限制条件。下面看个列子:求n的阶乘。仔细看代码可以看出我们的思路如下。

2024-03-28 18:50:39 306

原创 位运算符详解_C

位运算分为两大类:逻辑运算符:& //位与| //位或^ //异或 ~ //按位取反位移运算符:> //右移进行位运算都要将其转换为二进制后进行运算。

2024-02-21 13:12:02 455

原创 递归计算斐波那契数列

【代码】递归计算斐波那契数列。

2024-02-06 14:00:00 370 1

原创 Python实现人生重开模拟器游戏.py--小白也能学会,简单易懂。

这个文字游戏是博主一个个代码敲出来的,游戏逻辑可能不大充分。仅供参考!更多内容还需要大家来扩展啦!至于为什么博主的随机事件这么少?我只想说,那是游戏策划的事,跟我有什么关系。(狗头保命qwq)

2024-02-06 12:00:00 687 1

原创 打印整数的每一位

【代码】打印整数的每一位。

2024-02-05 18:46:15 336 1

原创 递归实现n的k次方

【代码】递归实现n的k次方。

2024-02-05 18:44:29 355 1

原创 扫雷小游戏_详解(带菜单)

为了更加便捷,我们干脆生成11*11的二维数组,外面一圈蓝色的全部存放 ‘0’ 这样就便捷许多。很简单,我们只需要以时间戳为种子生成随机的坐标,将这个坐标的 ‘0’ 替换成 ‘1’ 就可以了。接下来为了使我们写代码过程中便于调试,我们先自定义一个函数展示我们的棋盘。但是如上图黄色位置,当排查的位置处于9*9的边界时,难以计算周围的雷。同时在头文件中声明一下,而函数的内容,我们存放在game.c中。为了直观的观察我们的棋盘的坐标,我们还需要打印除行列号。接下来在代码中实现,就需要我们创建两个9*9二维数组。

2024-01-30 19:06:47 1608 1

原创 时间戳为种子随机数,猜数字_详解(带简易菜单)

下面,我们用 do....while() 写一个简易菜单,人机交互是 do....while 的一个重要功能。接下来,要给用户进行一个选择,所以,我们要嵌套一个 switch 语句。接下来,我们要以时间戳为种子。需要用到 srand()函数。最后,我们定义一个 game()函数,来存放我们的游戏本体。给大家带来一个以时间戳为种子的随机数猜数字程序。一个简单的带菜单猜数字游戏就完成了。这样我们以时间戳为种子就完成了。首先,我们要用到以下头文件。

2024-01-24 15:15:00 449 1

原创 C语言典题 求10 个整数中最大值

求10 个整数中最大值。

2024-01-24 15:00:00 329 1

原创 C语言典题 分数求和

计算1/1-1/2+1/3-1/4+1/5 ……+ 1/99 - 1/100 的值,打印出结果。

2024-01-24 14:00:00 324 1

原创 C语言典题 打印100~200之间的素数

写一个代码:打印100~200之间的素数。

2024-01-23 21:59:56 385

原创 C语言--分支语句和循环语句详解

分支语句经过一段时间的学习和练习,给大家带来了关于c语言中分支语句和循环语句的个人理解。分支语句if语法结构首先,我们来看一下语法结构可见 if 语句分为单分支和多分支,用以处理问题。单分支:表达式1为真 ,执行语句1。反之,执行语句2。多分支:表达式1为真 ,执行语句1。表达式2为真 ,执行语句2。以上都不为真,执行语句3。if的范围if 的范围:默认只能控制一个语句的执行 要控制多个必须要用 { } 括起来else if / else 的范围与 if 一致演示程序。

2024-01-23 21:42:36 379

原创 初次见面,请多多关照。

以后我会不定期的发博客和大家交流一些编程学习中的心得和体会。希望和大家一起交流进步,一起成长。以后每天都会编程2h以上,总结经验。并且定期写成博客和大家分享哦。成为一名优秀的网络工程师,学习相关知识。希望在以后的日子里能和大家一起成长。哈喽大家好哇,今天第一次发博客。我是于本淡,喜欢编程和旅游。

2024-01-16 18:59:49 358 1

空空如也

空空如也

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

TA关注的人

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