- 博客(23)
- 收藏
- 关注
原创 【C++的auto类型】
对于一个有范围的集合而言,由程序员来说明循环的范围是多余的,有时候还会容易犯错误。因此C++11中引入了基于范围的for循环。for循环后的括号由冒号“ :”分为两部分:第一部分是范围内用于迭代的变量,第二部分则表示被迭代的范围。,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。刚才举的例子中的变量i实质是数组a中每个元素的一个。在C++11标准的语法中,auto被定义为。使用auto也能在一条语句中。auto的作用就是为了。
2023-07-24 13:48:14
222
原创 C++的引用
加了 const 的变量是不能修改的,变成了常量,可以理解为只读型,而没加 const 的可理解为可读可写型。,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。引用就是一个别名,没有独立空间,和其引用实体共用同一块空间。类型转换,并不会改变变量类型,中间都会产生一个临时变量!引用不是新定义一个变量,而是给。
2023-07-22 22:31:43
63
原创 【数据结构】——单链表
实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。在之前的通讯录中我们使用了顺序表来存放每个人的信息。,如哈希桶、图的邻接表等等。,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
2023-06-04 23:30:43
44
原创 c语言【预处理】
_ FILE__ //进行编译的源文件__ LINE__ //文件当前的行号__ DATE__ //文件被编译的日期__ TIME__ //文件被编译的时间__ STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义# define MAX 1000 # define reg register //为 register这个关键字,创建一个简短的名字 # define do_forever for(;;
2023-05-28 19:03:18
43
原创 模拟实现atoi
atoi 函数主要功能是将一个字符串转变为整数,列如:”12345“->12345。但在实现过程中,我们会因为考虑不够全面而漏掉比较重要的几点。
2023-05-05 17:08:17
43
原创 文件操作 C
在程序设计中,我们一般把文件分为:程序文件,数据文件(从文件的功能上划分),用来存放该文件的相关信息(文件的名字,文件状态及文件的当前状态等)。与 scanf一样,只是多了一个文件指针。一个文件要有一个绝对标识,方便用户用来识别和使用。每个文件在被使用时,都会在内存中开辟一个相应的。来指向这个文件,这样就建立了指针与文件的关系。,并填充其中的信息 ,使用者不必关心细节。如果要打开的文件在同一个文件中,可以使用。在编写程序的时候,打开文件时会返回一个。缓冲文件系统中,关键的概念是"每当打开一个文件的时候,
2023-04-30 10:27:12
42
原创 动态内存管理
在前面的静态通讯录这篇博客中,发现我们所写的数组大小一旦确定好,就会向内存空间申请一块固定的连续空间,当我们使用的时候可能会出现内存浪费和内存不够用的情况。而今天介绍的动态内存管理可以在一定程度上解决这个问题。
2023-04-16 13:46:29
106
原创 【静态通讯录 C】
为了实现通讯录管理系统,为此,要保证实现以下的功能:能够存放100个联系人的信息、每个人的信息包含:**名字、年龄、性别、电话、地址**、除此之外,还是实现:**增加**人的信息、**删除**人的信息、**修改**指定人的信息、**查找**指定人的信息、**显示**联系人的信息、**排序**通讯录的信息.
2023-04-12 23:40:06
118
原创 【位段,枚举,结构体】
结构体通常用来表示类型不同但是又相关的若干数据。(注意:数组与结构体一样,也是一种值的集合,只不过数组的每个元素都要是相同类型的,而结构体的每个成员可以是不同类型的)枚举是一个被命名的整型常数的集合。在实际应用中我们经常把能够且便于一一列举的类型用枚举来表示。就比如:一周的星期、性别、月份……结构体是C语言中一种重要的。所组成,其中每个成员可以是。
2023-03-19 23:33:14
39
原创 【有关字符串的部分函数】
1.字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的。2.目标空间必须有足够的大,能容纳下源字符串的内容。1.第一个字符串大于第二个字符串,则返回大于0的数字。3.第一个字符串小于第二个字符串,则返回小于0的数字。2.会将源字符串中的 ‘\0’ 拷贝到目标空间。3.目标空间必须足够大,以确保能存放源字符串。2.第一个字符串等于第二个字符串,则返回0。1.源字符串必须以 ‘\0’ 结束。1.源字符串必须以 ‘\0’ 结束。注:不能自己给自己追加。
2023-03-17 18:30:45
60
原创 【牛客CMB2 小招喵跑步】
小招喵喜欢在数轴上跑来跑去,假设它现在站在点n处,它只会3种走法,分别是:1.数轴上向前走一步,即n=n+12.数轴上向后走一步,即n=n-13.数轴上使劲跳跃到当前点的两倍,即n=2*n现在小招喵在原点,即n=0,它想去点x处,快帮小招喵算算最快的走法需要多少步?
2023-03-13 01:10:16
108
原创 【用冒泡算法模拟qsort】
qsort函数的定义:void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) );
2023-03-04 19:36:51
51
原创 【浮点数和整形的储存规则】
**(-1)^S * M * 2^E**1.其中(-1)^S表示符号位,当S=0,V为正数;当S=1,V为负数2.M表示有效数字,范围为大于等于1,小于23.2^E表示指数位
2023-02-24 11:48:18
111
原创 BL1 扭蛋机
22娘和33娘接到了小电视君的扭蛋任务:一共有两台扭蛋机,编号分别为扭蛋机2号和扭蛋机3号,22娘使用扭蛋机2号,33娘使用扭蛋机3号。扭蛋机都不需要投币,但有一项特殊能力:扭蛋机2号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到**2x+1**个扭蛋机3号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到**2x+2**个22娘和33娘手中没有扭蛋,需要你帮她们设计一个方案,两人“轮流扭”(谁先开始不限,扭到的蛋可以交给对方使用),用“最少”的次数,使她们能够最后恰好扭到N个
2023-02-19 09:36:53
111
1
原创 【c语言 扫雷】
在**9*9的方块矩阵**中随机布置**10个**地雷,由玩家**逐个翻开**方块。翻开的格子下是地雷,游戏失败;翻开的格子下不是地雷,则会**标记**周围一圈格子中雷的个数
2023-02-07 20:45:45
51
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人