自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

首先类的定义格式和结构体差不多,而结构体的那一套语法也可以在C++中使用。class是定义类的关键子,然后{}是主体,类结束时的分号也不能省略,这和结构体差不多。只不过,现在哦我们可以在类里面定义函数了。像这样,我们就定义好了一个日期类。可以发现,我们把成员变量都定义了一个关键字private,这在英语里面是个人的私人的意思。到了C++中,这里也是私有的意思。意思就是不能在类外面访问,只能在类里面的函数访问。我们把函数设成了public(公有的),就是我们定义的类的函数可以被外部访问。

2024-07-14 13:09:00 807

原创 C++中的引用

引用不是定义一个新变量,而是给已存在的变量取一个别名,编译器不会为引用开辟空间,它和被引用变量使用的是同一块空间。类型&引⽤别名=引⽤对象;C++中为了避免引入太多复杂的符号,所以这里的引用符号和取地址符号&是同一个符号,只不过它们的用法不同,含义也不同。我们还是敲代码来看一看吧。可以看到我们定义了一个变量a,我们使用b取引用它,现在b就是a的一个别名,然后们分别打印a,b 我们发现它们的值是相同的。下面我们再来看一看它们的地址是不是相同的呢?可以看到它们两个都指向的同一块空间,自然都是同一个值。

2024-07-12 19:53:36 1524

原创 C++入门基础

C语言的知识我们已经学习的差不多了,下面让我们正式开始C++的知识吧,让我们开始在C++的知识海洋中遨游,我想大家都已经迫不及待的想学习C++了。C++进过了几十年的进化和时代更替,到现在仍然是最热门的编程语言之一,所以我们还是需要好好学习C++。我们使用的编译器还是VS2022。需要注意是,我们以前编译的文件后缀都为.C,现在我们需要把他们修改成.CPP了。注意我们的后缀名就行了。

2024-07-12 10:52:56 855

原创 七大排序算法分析及代码实现

排序相信大家在生活中经常会遇到,当我们排队列的时候,我们总喜欢从低到高排序,或者一串杂乱的数字,我们总喜欢想办法将他们排成有序。似乎有序的数总会让人们看得更舒服一点。我们来看看上面这副图,这里我选择的是从价格上从大到小排序,我们可以看到右上角,我们还可以从综合排序,销量,评论数等等根据我们的选择,来排序出我们想知道的产品的信息。现在网购信息庞大,比如这里的iPhone手机,当我们搜索发现就有接近80万的相关物品,如此之多,我们要怎样选择呢?我们就可以从销量来看,看一看每一款手机的销量如何,从而避坑。

2024-06-27 23:24:22 684

原创 树以及二叉树的定义和特点

之前我们讲的顺序表,链表,这些都是一对一的线性结构,可现实中,还有很多一对多的情况需要处理,所以我们需要学习并研究一种一对多的数据结构——“树”,考虑它的特点以及特性,来解决我们生活中的一些问题。树(Tree)是n(n>=0)个结点的有限集。n=0的时候是空树。在任意一颗非空树中:1:有且仅有一个特定的称为根的结点;2:当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,T3~~~Tm,其中每一个集合本身又是一颗树,并且称为根的子树。树的定义其实就是我们再讲栈时提到的递归方法。结点的分类。

2024-06-15 21:56:31 819

原创 队列的特性及代码实现(C语言)

队列是只允许在一端进行插入操作,而在另一段进行删除操作的线性表。首先,让我们来看一看生活中的队列,当我们去银行办理业务的时候,我们进入银行的时候,都会去取票机那里去一个专属我们的序号,当客服通过语音播报的时候,如果是我们手里拿的好嘛时,就轮到我们办理业务了。这是一种非常公平的方法,先来的人先办理业务,后来的人就只能等到前面的人办理完业务之后才到你。这种方法是非常公平的。我们再来看一个例子,当我们在玩电脑的时候,当电脑不知道是什么原因卡死的时候。

2024-05-28 23:59:07 320

原创 栈的特性及代码实现(C语言)

栈:栈是限定仅在表尾进行插入和删除操作的线性表。我们把运行插入的和删除的一段叫做栈顶(TOP),另一段叫做栈底(BOTTOM),不含任何数据元素的栈称为空栈。栈由称后进先出(Last In Fast Out)的线性表,简称LIFO结构。栈的插入操作,叫做进栈,也称压栈,入栈。栈的删除操作,叫做出栈,也叫做弹栈。首先,我们来举几个比较容易理解的生活中的例子来帮助我们理解栈的特性吧。

2024-05-28 22:51:06 995

原创 栈经典例题之有效的括号(C语言实现)

其实思路已经比较清晰了,当我们遇到左括号的时候,就把该左括号先不动,再去找下一个括号,看下一个括号是否为右括号,如果为左括号,继续进行前面的操作,直到遇到右括号时就看第一个右括号的左边第一个左括号是否匹配,如果匹配的话就返回true,否则返回false。这道题跟我们的栈的结构很相似,如果说我们遇到的是左括号我们就让左括号入栈,遇到右括号的时候,我们就让栈顶的左括号和该右括号匹配,如果匹配就继续比较,如果不匹配则直接返回假就行了。我们可以看到,它给的测试样例的两个括号是匹配的,所以返回真。

2024-05-22 17:52:20 464 1

原创 链表经典题之环形链表

从上面两道链表的题型中我们可以学习到这种快慢指针的方法,它可以通过速度差,来让我们达到我们想要的结果,我们需要控制好两个指针的速度差就可以解决很多问题。希望我上面的思路对同学们有所帮助。

2024-05-21 23:59:53 679 1

原创 编译和链接

为了程序的方便,我们在写程序的时候,会定义宏,宏定义了一个代表特定字符串内容的标识符(为了好区分宏定义,我们一般都使用大写来定义宏)。预处理过程会把源代码中出现的宏标识全部都替换成宏后面的内容。宏最常见的用法就是代表某个值,比如当我们想要定义圆周率π的是后,我们及可以使用宏定义#define pi 3.141592。因为π比较长,在写程序时容易写错,而且还可以保证以后的修改。

2024-04-08 11:35:37 714

原创 文件及相关文件函数的使用

一个文件是由一系列彼此有一定联系的数据集合构成的。就像是我们把社会上的一个个家庭作为社会的基本组成单位一样,也可以把家庭中的每一个成员看作是一个数据,并且通常以户主名来标识不同的家庭。同样,为了区分不同类型的数据构成的不同文件,我们给每一个文件取一个名字,就是文件名,我们在使用电脑的时候,肯定发现过一些 带有 . exe或者 . c等等的文件后缀名,这就是对文件进行了一个简单的分类,比如我们写C语言的时候,我们写的源文件通常都会放在同一个相同的文件夹中,这样方便我们日后查找修改等操作。

2024-04-07 17:48:15 799

原创 关于atoi函数的使用和模拟实现

这篇文章是关于atoi函数是怎样使用的和我们如何模拟实现它的。话不多说,我们先从C++网站上关于atoi的函数信息入手。 好了,本节关于atoi函数的使用和模拟实现就讲到这,希望上面讲到的内容对大家有所帮助,如果有讲的不对的地方,还请大家指正,希望大家可以点赞,关注加收藏,谢谢大家。

2024-04-02 23:20:08 911 1

原创 结构体

同一种类型的数据的集合是数组,和数组不同,结构体是多种类型的数据的集合。结构数据类型可以把基本数据类型和派生类型结合起来,以描述复杂的事物。结构类型也是派生类型。下面我们就来学习结构体的相关内容。

2024-03-31 13:59:09 750 1

原创 扫雷(含递归展开)

扫雷相信大家都玩过把,这是一款经典的小游戏,以前没有网的时候,相信大家都玩过这个游戏。点击下面的链接大家都可以先去玩一玩,熟悉一下。总结一下,扫雷是一款非常优秀的游戏,它将我们前面所学的函数,递归,数组,循环,条件语句,还有随机数函数结合起来,整体逻辑感强,但又不复杂,很好的总结了我们前面的知识,大家下去也可以尝试写一下代码,检验一下前面的学习成果。如果有不懂的知识,可以点击我的主页,有关于上述说的函数,数组,条件,循环,递归等知识,还有指针等的知识。!!

2024-03-31 11:35:21 656 1

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

本章内容主要是关于整数和浮点数在内存中的储存。在来了解这些之前,我们需要知道数据在内存中储存都是以二进制来储存的,无论是整数还是小数,都是以二进制的方式储存,只是储存方式有所不同。我们已经习惯了使用二进制来表达我们生活或学习中的数字,但是对于计算机来说,以二进制数则更容易了解。

2024-03-25 23:45:41 444

原创 (strcpy,strstr,strlen,strcat,strncpy,strncat)最细讲解字符串函数

(包含在里)在编程的过程中,我们经常要处理一些字符和字符串,为了方便操作字符和字符串,C语言标准库中提供了一系列库函数,下面我们来学习一下这些函数。

2024-03-24 23:22:12 759 3

原创 指针

指针就是内存的地址,指针变量就是储存内存地址的变量。指针变量可以存放基本类型变量的地址,也可以存放数组,函数以及其他指针变量的地址(后面我们会讲到)。在编写代码的过程中,变量名一般表示的是数据本身,但这个变量也是有存储地址的,可以用取地址运算符&获得。以上就是关于本人对指针的一些理解,如果还有需要改进的地方,请大家能够指出,一起学习进步。

2024-03-22 14:12:03 618 1

原创 C语言函数设计

宏和函数的区别在于带参数的宏和函数在用法上很相似,但它们存在本质的不同:首先宏只是在编译前进行简单的字符串替换,并不进行相应的诸如类型检查之类的语法出错检查,而函数定义与调用则会在编译时进行相应的语法检查;在程序设计实践中,递归程序的编写比较简单明了,但递归函数的每一层调用时,都要分配相应的存储空间,并完成参数的传递,函数的返回,在程序的执行效率和所消耗的存储空间上,和非递归的相比较没有任何优势。所以选择方法要合理。有些函数是没有返回值的,它的返回类型为void,比如下面这串代码,和它的执行结果。

2024-03-19 18:15:56 447

原创 函数

其实函数也就包含那几个部分,就是把我们再main()函数中的代码单独拿出来,让代码看起来更加简洁高效,当然用函数也可以提高代码的质量。我们也可以再函数中调用其他的函数。比如再函数中使用中的某些函数,它们其实也是函数,函数的互相调用也为代码提供了许多便利。还有就是函数的实参可以是变量也可以是常量,只要和形参的数据类型相同就行,比如MAX(5,3),则最后返回的值一定是5。实际上,函数可以形容成一个工厂,而传入的形参可以比作材料,而函数体则是加工材料的仪器,最后再返回一个值,相当于成功的产品。

2024-03-18 19:31:30 808 1

原创 数组

学生的学籍号码,棒球选手背后的号码,学生的成绩······在生活中我们经常会遇到相同类型的事物聚集在一起的情况,与其逐一叫出他们的名字,还不如统一使用“号码”更加简单明了。下面将介绍为了提高处理效率而把具有相同类型的数据有序地组织起来的一种形式——数组。

2024-01-31 00:49:31 926 1

原创 程序的循环与控制

1.do语句,while语句和for语句统称为循环语句。无论哪种循环语句,只要控制表达式的判断结果不为0,都要执行循环体。另外,循环语句的循环体也可以是循环语句。这种结构的循环语句是多重循环。2.先循环后判断可以通过do语句来实现。循环体至少执行一次。即使是单一语句,也可以使之称为程序块,这样程序会更易读。3.先判断后循环可以通过while语句和for语句来实现。循环体有可能一次也不执行。使用单一变量控制的固定类型的循环,可以通过for语句简单地实现。

2023-12-26 14:14:26 874 1

原创 switch语句

本代码使用了两次计算num除以3的余数的表达式num%3,多次输入同一个表达式,容易造成输入错误。不仅如此,同一个除法执行两次也会使程序冗长。标签的值必须是常量,不可为变量。程序跳到该标签后会执行其后面的语句。语句会根据对某个条件的判断结果,将程序的流程分为两支。首先我们来看看下面的代码。的英文意思有“打破”“脱离”的意思。语句的话,程序就变得简单得多了。下面我们来介绍一下它们。语句时,程序就会一直走下去,知道遇到。都不一致的时候,程序就会跳转到“的执行语句只能是整数。语句,则会将程序分为多个分支。

2023-12-14 23:07:42 538

原创 嵌套的if语句

我们上面说过,如果写成a==b==c这种情况的话,程序首先判断的是a和b是否相等,如果相等则值为1,1再和c比较看是否相等再得到1或0;因为相等运算符==是双目运算符,所以a==b==c不能实现对三个变量的判断。,当使用条件运算符时,会先对表达式1进行判断,若表达式1的值不为0(真),那么最终结果为表达式2的值。像这样,在仅根据左操作数的判断结果就可知逻辑表达式的判断结果的情况下,不会对右操作数进行判断,这就称为。如果month为1,则根本不用判断month为2或12月的情况,整个表达式的判断结果就为1。

2023-12-11 22:19:40 1107

原创 关系操作符

这种连续比较的情况,这个时候我们就不能像数学上面的这样连续比较了,首先我们要先比较a和b的大小,如果a0的结果为1,否则为0。到目前为止,我们已经见过了包含分支的程序流程,现在来看看三个分支的情况。请大家注意,把=运算符中的等号放在左侧。

2023-12-11 09:54:49 352

原创 C语言的分支语句

不管大家是否已经意识到了,其实我们都是通过某种判断来决定自己的行动的。接下来你可以尝试自己编写一段程序,像下面这样输入两个整数值,如果后者是前者的约数,则显示“B是A的约数”。接下来我们再进行一下奇数和偶数的判断,从数学里面我们都知道奇数除以2余1,偶数则是余0,这样的话我们就很容易的判断奇数和偶数;(表达式)的值不为0的时候执行语句1,当表达式的值为0的时候执行语句2.这样就可以像下图那样选择执行语句了。如果判断语句为真(非0),则进行接下来的语句,如果判断语句为假(0),则跳过该。语句控制程序的流程。

2023-12-08 14:37:24 921

空空如也

空空如也

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

TA关注的人

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