自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 顺序表删除元素快速方法

假如说3在顺序表中只有一个,解题方法可以是让3后面的元素依次向前移动,时间复杂度为O(n)。如果3在线性表中有多个,那么就需要碰到一个3就将3后面的元素移动到前面去,知道3被删除完,这个的时间复杂度为O(n^2).当L->data[i]!= num的时候k就加一,当等于的时候就不动。这样就可以保证当k遇到第一个空白位时,以后的每一个k都指向需要填充的位置。所以我们需要一个简单的方法来让顺序表快速删除元素。eg:删除顺序表中元素为3的元素。

2024-04-01 18:18:52 242

原创 今日问题:动态分配内存出错

当然,分配了动态内存,应当先看它是否为NULL,最后要释放它,并设为空指针。

2024-03-22 11:24:36 307

原创 C语言:文件操作

磁盘上的文件就是文件比如:在程序设计中,我们将文件分为两类:程序文件和数据文件。

2024-03-16 15:53:35 957

原创 C语言:动态内存管理

这个代码中的元素个数由键盘输入,并将其作为元素个数,这在数组中是做不到的(C99之前),所以提供了很大的便捷性,不用再为数组分配一块巨大的空间防止其越界,这样节省了空间的开销。针对情况2:当原有空间没有足够的空间的时候,会开辟一块足够大的新的空间用以存储新的数据,并将旧的数据复制到新空间中,还会释放旧空间,同时返回新的空间的地址。使用realloc函数分配的额外空间是不初始化为0的,所以打印出来的后四位需要自己赋值,不然的话是随机值。malloc函数用以创建一片动态的空间,空间大小由我们自己决定。

2024-03-15 20:00:09 956

原创 C语言:结构体

结构体是一些值的集合,这些值被称为成员变量,结构体的每个成员可以是不同类型的变量。

2024-03-07 20:18:38 681

原创 C语言:内存函数

注意count时字节数,因为memcpy函数的第三个参数是需要复制的字节数,因为int类型的字节数时4个字节,所以需要复制5个元素的话就需要20个字节。memmove和memcpy都是起到的复制的作用,不同点是memmove函数可以处理的原内存块和目标内存的块是可以重叠的。如果要处理的原空间和目标空间出现重叠,那么必须使用memmove函数进行处理。

2024-03-07 19:07:37 635

原创 C语言:字符函数和字符串函数

在学习编程的过程中,我们经常需要处理字符和字符串,在C语言库中定义了一些方便我们操作的函数。

2024-03-07 17:39:26 876

原创 C语言题目:指针

答案:>解析:i作为全局变量且在未赋值的情况下初始值为1,而且是有符号整数,当i–后变为-1sizeof的返回值是无符号整数,也就是说将i于sizeod的返回值做比较会发生自动类型转换(整型提升),将-1的有符号整数转化为无符号整数,就是将-1的二进制补码11111111111111111111111111111111与它作比较,那么会输出>.

2024-03-01 07:30:00 236 1

原创 C语言:指针(二)

qsort函数需要4个参数,第一个参数是数组首元素的地址,第二个参数是数组中元素的个数,第三个参数是数组中数据类型的大小,第四个参数是一个函数,作用是实现排序这种数据的方法。在main函数中,将test2的地址传递给test1,然后test1用函数指针变量来接收,然后调用test2函数,那么test2函数就是回调函数。函数指针是用来存放函数的地址的,那么有很多函数,要将它们的地址存放在一起,那么就可以使用函数指针数组。指针变量也是变量,是变量就有地址,所以二级指针是用来存放一级指针变量的地址的。

2024-02-29 15:55:44 1523

原创 C语言题目:求两个数二进制中不同位的个数

求两个数二进制中不同位的个数。

2024-02-28 13:22:37 362

原创 C语言:数组的地址和数组首元素的地址的区别

当我们谈论数组的地址时,我们通常指的是整个数组的起始地址,也就是数组第一个元素的地址。例如,如果你有一个指向10个整数的数组的指针int (*p)[10],*p将得到一个包含10个整数的数组。数组的地址:它是指向整个数组的指针,其类型是数组类型(例如,int (*p)[10]表示一个指向含有10个整数的数组的指针)。当你解引用数组首元素的地址时,你会得到数组的第一个元素。数组首元素的地址:它是指向数组第一个元素的指针,其类型是该元素的类型(例如,int *p表示一个指向整数的指针)。

2024-02-23 11:12:53 706 2

原创 C语言:指针(一)

在内存中将其划分为一个一个的内存单元,每个内存单元的大小取一个字节(8个bite),每个内存单元也有一个编号,就相当于门牌号一样,这样CPU就可以快速访问内存中需要的数据了。在32位计算机中有32根地址总线(相关知识可以自行学习),每根地址总线都可以使用电信号来表示0和1,这样就由32根地址总线产生的二进制序列就可以当作地址,那么一个地址就是32个bite位,需要4个字节来存储。pa是指针变量,int*是指针变量的类型, *表示pa是指针变量,int表示pa指向的类型是int类型。的效果和a = 0;

2024-02-21 18:46:52 1845 3

原创 C语言:操作符详解

八进制中的每个数字都是由0~7组成的,所以至多需要3个二进制位就可以存放一个八进制的一位数(因为7 的二进制数位111),所以直接从右向左依次取3个二进制位转化为一个十进制数字就可以形成八进制数,如果到左边位数不够直接换算就行。第一位1溢出,即为00000000 00000000 00000000 00000000,由于符号位为0是正数,不要转换为原码,则结果就是0.各种运算符的优先级都有所不同。1 的补码就是原码:00000000 00000000 00000000 00000001。

2024-02-19 20:10:09 1194 1

原创 C语言题目:一些简单的编程和递归题目

1.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1。求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,写一个递归函数,输入一个非负整数,返回组成它的数字之和。例如,调用函数,则应该返回1+7+2+9,它的和是19。例如:2+22+222+2222+22222。编写一个函数实现n的k次方,使用递归实现。3+3^3,则153是一个“水仙花数”。

2024-02-18 14:00:38 422 1

原创 C语言函数(四):递归

在学习函数这一章节,递归是每个计算机语言绕不开的知识点,那什么是递归呢?递归就是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。main();return 0;上述代码就是一个简单的递归程序,只不过它只是演示了递归的基本作用,不是为了解决问题,这不是一个正确的递归程序,代码最终会陷入死循环,导致栈溢出。把一个大型的复杂的问题层层转化为一个与原问题相似,但规模较小的子问题来求解,直到子问题不能再被拆分,递归就结束了。所以递归的思考方式就是将大事化小的过程。递归中的递就是递推的意思,

2024-02-15 11:37:46 966 1

原创 C语言函数(三):数组和函数实现扫雷游戏

这个函数用以打印棋盘,可以看出棋盘的规划是否正确,当然我们只用打印show棋盘,不用打印mine棋盘,因为mine棋盘可以看到的全是0,这里为了不多写一个函数用来分别打印’*‘和’0’,所有我们再传一个一个参数type,告诉Printboard函数应该打印什么字符。使用FindMine函数排查雷,先输入要查看的坐标,如果坐标符合规定,则看这个坐标是否是雷,如果不是则计算周围8个位置的和并输出在棋盘上,当排查完71个没有雷的位置后,游戏成功。9的棋盘上布置雷的信息和排查雷,首先想到的是创建一个9。

2024-02-10 12:04:14 1066 1

原创 C语言函数(二):详解static和extern

指的是变量的创建(申请内存)到变量的销毁(收回内存)之间的一个时间段。1.局部变量的生命周期是:进入作用域创建,生命周期开始,出作用域生命周期结束2.全局变量的生命周期:整个项目的声明周期。

2024-02-08 11:54:39 677

原创 C语言函数(一):基础知识

自定义函数非常重要,它的书写给程序员写代码提供了更多的创造性一般在使用函数的时候,直接将函数写出来就可以使用了,像上面的代码,直接将自定义函数放在主函数的上面就可以了,但是如果我们将自定义函数放在主函数的下面,程序就会弹出警告。int x = 10;int y = 23;printf("实参x为:%p 实参y为:%p\n", &x, &y);//输出33return 0;printf("形参x为:%p 形参y为:%p\n", &x, &y);但如果直接运行代码也不会报错,依然能够执行。

2024-02-07 20:34:47 1119 1

原创 C语言求最大公约数

最大公约数是两个或多个整数共有约数中最大的一个,换句话说,它是能同时整除这些数的最大的正整数。该算法的具体操作如下:1.将两个数中的较大数除以较小数,得到余数。2.然后将较小数和上一步得到的余数作为新的两个数,重复上述步骤。3.当余数为0时,停止计算,此时的除数就是两个数的最大公约数。

2024-02-06 20:22:12 397 1

原创 C语言数组

数组的类型区别与元素的类型,是一个全新的概念,比如 int a = 3;该数组的大小为:40字节,这是因为有10个int类型的元素,而int类型的大小为4字节,所以大小为4*10=10.数组是一个比较简单的知识,但是其中也有相对较难理解的点,下面看看这两道题目,可以巩固学到的知识。一维数组是相同元素的集合,而二维数组就是一维数组的集合,二维数组以上的数组称为多为数组。在C语言中数组的访问提供了一个操作符:[ ] ,叫做:下标引用操作符。所以可以用总的元素的大小除以一个元素的大小就可以得到元素的个数了。

2024-02-06 05:00:00 1489 2

原创 C语言题目:二分查找

先介绍一下二分查找,如果我们需要在一个有序数数组种找到一个数字,那么就可以使用for次循环依次遍历数组,直到找到相应的数为止。那如果数组里面存放了上亿个数字呢,依次遍历查找是不现实的,这样做很浪费资源。所以就要使用其他方法,比如二分查找,它的原理是让第一个数的下标和最后一个数的下标相加再除以2得到数组中间的数的下标,让这个中间数与需要查找的数做对比,如果中间数小于需要查找的数,那么将中间的数的下标加1赋值给第一个元素的下标,然后此下标加上最后一个元素的下标除以2,如果中间数大于需要查找的数,那么将中间的数的

2024-02-05 20:32:43 350 1

原创 C语言题目:多个字符从两端移动,向中间汇聚

编写代码·,实现多个字符从两端移动,向中间汇聚。

2024-02-05 19:03:28 134 1

原创 C语言选择与循环

C语言时结构化的程序设计语言,这里的结构是:顺序结构,选择结构(if语句,switch语句),循环结构(while循环,for循环,do-while循环)。1.2语法规则表达式为真,则执行语句,表达式为假,则不执行语句在C语言中0表示假,非0表示真。执行流程图:if和else之间都只能执行一条语句,所以只有在大括号中才能执行多条语句。在if-else语句中,else可以与另一个if语句相结合,这样可以实现多重判断。这里的if和else之间就构成了嵌套的if语句,以实现多重循环如果有多条if

2024-02-04 22:14:28 1227 1

原创 C语言rand随机数知识解析和猜数字小游戏

rand函数返回的值的区间是:0~RAND_MAX(32767)之间。大部分编译器都是32767。但是rand函数直接使用是提供的伪随机数,这个随机数是有有迹可循的,没有实现真正的随机,这是因为它生成这个数是基于一个确定的算法而生成的。执行第一次:执行第二次可以看出两次执行的随机数相同,所以单纯使用rand函数生成不了真正的随机数。所以,要想真正实现随机生成,需要使,默认情况下,这个种子是1。每次调用 rand(),它都会基于前一个随机数生成下一个随机数。

2024-02-04 17:13:12 1284 2

原创 C语言中前置++和后置++的区别(--也适用)

许多像我一样的萌新可能在学习前置++和后置++时感到些许困难,并在做题时感到头痛,这篇文章将讲清楚这个知识点。

2024-02-03 12:52:05 496 1

原创 C语言中%和/在计算时的作用

而在某些题目中要取末尾数字时就可以使用%10,而去除末尾数字就可以使用/10。而n%位数取得是除最高位以外的数字(0不会被打印)输入一个数字,逆序打印这个数。

2024-02-01 21:21:37 252 1

原创 C语言判断闰年

输入一个年份year,判断是否为闰年。

2024-02-01 18:11:51 212 1

原创 C语言数据类型和变量

C语言数据类型和变量

2024-01-31 21:30:35 1189

原创 vs使用scanf函数报错的原因和解决方法

在vs中使用scanf函数报错的原因和解决方法

2024-01-30 22:08:57 757 2

原创 C语言常见概念

C语言常见概念

2024-01-29 13:24:38 1419

空空如也

空空如也

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

TA关注的人

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