自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

【代码】类和对象(C)

2024-07-19 12:47:04 1099 10

原创 C++ 类和对象(B)

构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象(我们常使用的局部对象是栈帧创建时,空间就开好了),而是对象实例化时初始化对象。析构函数与构造函数功能相反,析构函数不是完成对对象本身的销毁,比如局部对象是存在栈帧的,函数结束栈帧销毁,他就释放了,不需要我们管,C++规定对象在销毁时会自动调用析构函数,完成对象中资源的清理释放工作。除非一些很特殊的场景,比如我们不想让别人取到当前类对象的地址,就可以自己实现一份,胡乱返回一个地址。

2024-07-16 14:09:27 884

原创 C++ 类和对象(A)

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

2024-07-15 21:55:45 788

原创 C++ 入门基础:开启编程之旅

不论采取何种定义,在使用空值的指针时,都不可避免的会遇到一些麻烦,本想通过f(NULL)调用指针版本的f(int*)函数,但是由于NULL被定义成0,调用了f(int x),因此与程序的初衷相悖。3.C++中域有函数局部域,全局域,命名空间域,类域;6.使用C++输⼊输出更方便,不需要像printf/scanf输⼊输出时那样,需要手动指定格式,C++的输入输出可以自动识别变量类型(本质是通过函数重载实现的,这个以后会讲到),其实最重要的是C++的流能更好的支持自定义类型对象的输入输出。

2024-07-13 20:17:09 735

原创 二叉树及其在C语言中的实现A

本文介绍了二叉树的基本概念、特性以及在C语言中的实现方式。通过定义二叉树节点的结构体,我们可以轻松地实现二叉树的插入、遍历等操作。二叉树作为数据结构的重要组成部分,对于理解树形结构、递归算法等方面都有着重要意义。更多实现在另一篇文章,希望能够帮助读者更好地掌握二叉树的相关知识。

2024-06-01 23:49:10 404

原创 二叉树遍历与操作的C语言实现B

二叉树的前序、中序、后序遍历,节点个数、叶子节点个数、第k层节点个数、查找值为x的节点、判断是否为完全二叉树、深度计算、层序遍历以及二叉树的销毁

2024-06-01 23:47:04 376

原创 C语言中的循环队列与栈、队列之间的转换实现

在数据结构的学习中,栈(Stack)和队列(Queue)是两个非常重要的概念。队列是一种先进先出(FIFO)的数据结构,只允许在两端进行操作,一端为队头(front),另一端为队尾(rear)。栈是一种后进先出(LIFO)的数据结构,只允许在一端进行操作,这一端被称为栈顶(top)。虽然栈是后进先出的数据结构,但我们可以通过两个栈(一个作为输入栈,一个作为输出栈)来模拟队列的先进先出特性。队列是先进先出的数据结构,但通过两个队列(或者一个队列和一个辅助栈)也可以模拟栈的后进先出特性。

2024-05-14 19:45:09 438 1

原创 链表+环-链表是否有环的判断

在数据结构中,链表是一种常见的数据结构,它允许我们在不需要预先知道数据总量的情况下进行数据的动态存储。然而,由于链表的特性,有时我们可能会遇到链表中出现环的情况,即链表的某个节点指向了链表中它之前的一个节点,形成了一个闭环。

2024-05-07 15:05:53 424

原创 C语言结课总结与示例代码

建议同学们在学习C语言时,不仅要注重理论知识的掌握,更要多动手实践,通过编写代码来加深理解。同时,也要善于利用网络资源,如CSDN博客、GitHub等,学习他人的优秀代码和经验,不断提高自己的编程能力。经过一学期的学习,我们终于完成了C语言的学习旅程。C语言作为计算机编程的基石,为我们后续学习更高级的语言和深入理解计算机内部机制打下了坚实的基础。在这里,我想对这学期的学习进行一下总结,并通过一些示例代码来回顾我们学过的知识。字符串的处理(strlen、strcpy、strcat等)结构体的定义与初始化。

2024-05-04 00:34:20 394

原创 C语言-链表实现贪吃蛇控制台游戏

贪吃蛇游戏是一个经典的游戏,它的玩法简单而富有挑战性。在这个博客中,我将分享如何使用C语言和链表数据结构来自主实现贪吃蛇游戏。我会详细介绍游戏的设计思路、编码过程、遇到的问题及解决方案,并分享我的心得体会。通过编写贪吃蛇游戏,我深入了解了链表数据结构的操作和应用,提高了自己的编程能力。在解决问题的过程中,我体会到了编程的乐趣和挑战性。通过这个项目,我不仅提高了自己的编程能力,还加深了对链表数据结构的理解。食物生成:随机生成食物的位置,并检查是否与蛇身重叠。游戏逻辑:贪吃蛇的移动、食物的生成、碰撞检测等。

2024-05-04 00:21:47 737

原创 C语言程序编译与链接的奥秘

通过预处理、编译、汇编和链接这四个阶段,我们可以将人类可读的源代码转化为机器可执行的二进制代码。本文将结合《程序员的自我修养》一书的内容,深入剖析C语言程序的编译和链接过程,并通过图解的方式,帮助大家巩固上课所学。目标文件包含了程序的二进制表示,但还不是一个完整的可执行文件,因为它还缺少一些必要的信息,如函数和变量的地址。编译器(如GCC中的cc1)会检查源代码的语法和语义,并生成对应的汇编指令。静态链接会将所有需要的库文件和目标文件合并成一个单独的可执行文件,而动态链接则会在运行时加载所需的库文件。

2024-03-29 13:52:09 206 1

原创 C语言中的文件与文件操作入门

在C语言中,文件是一个存储在外部介质(如硬盘)上的数据集合,它可以包含文本、图像、音频等各种类型的数据。C语言提供了多种文件操作函数,用于打开文件、读取文件内容、写入数据到文件以及关闭文件等。在C语言中,文件操作是一个非常重要的部分,它允许程序与外部数据进行交互,如读取文本文件、写入数据到文件等。通过上面的介绍和示例代码,相信初学者已经对C语言中的文件和文件操作有了一定的了解。这些函数提供了对文件进行基本操作的能力,初学者可以通过这些函数学习并实践C语言中的文件操作。函数用于打开文件,并返回一个文件指针。

2024-03-29 13:48:10 1179 1

原创 成为CSDN创作者第128天:我的收获与C语言技术成长之旅

通过与他们的互动,我不仅拓宽了视野,也对自己的技术定位有了更清晰的认识。在掌握基础知识的基础上,我开始学习C语言的进阶技能,如指针、文件操作、内存管理等。这段时间里,我不仅在平台上结识了许多志同道合的朋友,更在C语言的技术道路上取得了长足的进步。然而,我深知技术之路永无止境,未来我将继续努力学习,不断提升自己的技能水平。这些活动不仅让我收获了宝贵的知识,更让我感受到了社区的温暖和活力。在CSDN的这段时间里,我深入学习了C语言的相关知识,并在实践中不断提升自己的技能。二、C语言技术的成长。

2024-03-26 15:58:48 119

原创 C语言-结构体:内存对齐与变量创建

本文将介绍结构体的基本概念、结构体变量的创建和初始化,并重点讨论结构体中的内存对齐问题。例如,假设我们有一个包含char、int和float的结构体,尽管这些类型的实际大小分别是1字节、4字节和4字节,但由于内存对齐,结构体的总大小可能会超过这些值之和。需要注意的是,不同的编译器和平台可能有不同的内存对齐策略,因此在实际编程中,我们需要了解目标平台的内存模型,以写出高效且可移植的代码。在结构体中,成员变量在内存中的排列并不是简单地按照声明的顺序紧密排列的,而是会考虑内存对齐的问题。的偏移量成为4的倍数。

2024-03-20 16:43:41 273 1

原创 C语言-整数与浮点数:内存存储的差异

了解整数和浮点数在内存中的存储机制是理解计算机如何处理这些数据的基础。整数主要使用二进制补码形式表示,而浮点数则遵循IEEE 754标准,使用符号位、指数位和尾数位来表示。这些表示方式各有优缺点,因此在编写涉及这些数据类型的代码时,我们需要根据具体需求来选择最合适的数据类型和处理方法。

2024-03-19 18:28:35 716 1

原创 C语言-数据在内存中的存储(整数)(浮点数)(大小端字节序)

在补码表示中,最高位为符号位,如果最高位是0,则表示为正数,如果最高位是1,则表示为负数。整数在内存中的存储方式可以使用有符号整数和无符号整数的表示方式。无符号整数的存储方式也可以使用二进制补码来表示,但是在实际应用中,常常使用直接存储的方式。一般来说,浮点数的存储方式与整数的存储方式类似,都遵循大端字节序或小端字节序。通过查看内存中的某个浮点数变量的字节序,可以判断浮点数的存储方式。在计算机的内存中,整数是以二进制的形式存储的。字节序是指数据在内存中的存储顺序,也就是高位字节和低位字节的存储顺序。

2024-03-19 18:10:57 655 1

原创 C语言指针初学

通过掌握和理解这些知识点,我们可以更好地利用指针来编写高效和灵活的代码。写代码就好比修桥补路, 有时需要借助指针来引路, 通过一些经验, 我们可以更好地利用指针来编写高效和健壮的代码。野指针则指向一个未知的地址或已经释放的内存空间,使用野指针可能会导致程序的崩溃或产生未定义的行为。数组名本身就是一个指向数组首元素的指针,可以通过指针来对数组进行遍历和操作。常见的指针运算包括指针的加法和减法,以及指针与整数之间的相互转换。指针的指针是指指向指针的指针变量。我们可以通过指针来访问和修改其所指向的变量的值。

2024-03-10 17:39:21 174 1

原创 C语言_打印回型矩阵BC133

我刚做这个题思路是对的,但是逻辑混乱,回型矩阵每行每列各用各的变量,写的乱七八糟.这题入手就像卷饼一样,从外面一层一层向中心逼近,,打印逻辑如下。通过定义上下左右来框限位置,向中心靠近,.代码如下。

2024-02-27 22:39:58 157

原创 C语言递归初学问题反思

就是这里,本意是返回值,不知道当时这么想要写这个,现在想不起来它的作用了,反正就是他一直循环干扰了正常结果,本身递归就是沿着条件一层层深入进去,递推进去,还要回归出来,按逻辑肯定要一层层带出来这个else后的返回值,所以返回值干扰了正确结果. 我是调试发现的.调试的时候发现逐语句在最后那个return上走了好几遍,我还看了好几遍,好一会才反应过来,哈哈.刚刚写了个递归和迭代求n位斐波那契数列数,出现个没理解逻辑的错误,话不多说上代码。分别用递归和迭代实现,迭代好理解就是循环嘛,递归错误如下。

2024-01-23 22:32:53 477 1

原创 C语言-扫雷游戏逻辑实现

统计周围雷数,省事,直接函数返回值,,,这个算法是通过ascll码值来实现的,因为字符012345数字的ascll码值是依次增加,无雷是'0',雷是'1'只要取一个位置周围八个字符的所有ascll的和减去八个'0'的ascll码值就可计算排查位置周围有多少个雷.初始化棋盘和打印棋盘函数,初始化就是用'0'铺满设计棋盘,用'*'铺满展示棋盘,考虑到后续排查雷数要周围数组位置,所以设计时让所需棋盘大一圈,实现计算雷数,打印棋盘就是所需棋盘所以少了一圈,打印时加上横纵轴,便于玩家输入坐标排雷或标记。

2024-01-09 12:17:54 522 2

原创 C语言函数调用和数组错误总结

在这过程中我也有个小错误,比如混淆了下标和值,导致运行出错.下面这种,明明是下标缩小范围,我把它写成arr[mid],变成数值没法缩小范围. (错误示范)当时写的二分法查数组位置,用函数调用二分法,给大家看一下我的错误调用方式,我直接把定义的函数名整体粘贴复制用,后来改了也是带着int 哈哈. (错误示范)但正确的方式下面是用赋值方式将所有元素赋值为0,来实现要求.,而且满足函数的 高内聚 ,低耦合 ,用int sz来求数组长,再去传数值, 应用函数再调用.正确写法如下,这样调用才正确.

2023-12-20 22:52:35 458 6

原创 C语言数组错误总结(数组)

首先数组问题,由于没学过倒序插入法,只知道大概意思(就是送后边一次比较大小换位放在合适的地方) 下面是错误示范,只想着比较后插入,然后把整个数组扩大,位置向后推,特别笨哈哈.经过老师指导,了解这个实现方法是把数组一开始就加进去,然后依次和前一位比大小,向前移,下面是正确方式,一下子茅塞顿开.关于C语言函数调用这块儿不是很熟练,特别是数组和函数调用,最近疯狂掉坑,给大家总结一下我进过的坑有哪些.

2023-12-20 22:20:05 591 1

原创 C语言分支循环语句

逻辑操作符用于组合布尔表达式。在上面的代码中,当i等于5时,程序执行到Break语句,跳出循环并输出"Loop exited at i = 5"。在上面的代码中,当i为偶数时,程序执行到Continue语句,跳过当前循环的剩余部分并开始下一次循环。在上面的代码中,当i小于等于10时,循环体会反复执行,累加i的值并将i递增。在上面的代码中,首先将i初始化为1,然后当i小于等于10时,执行循环体打印i的值并将i递增。for循环是一种先执行一次循环初始化,再根据指定的条件执行循环体,最后进行循环更新的循环结构。

2023-12-07 17:53:26 1121 1

空空如也

空空如也

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

TA关注的人

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