自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 栈和队列的基本见解

出栈操作相当于非空队列队尾元素出队,此时需要把非空队列除最后一个元素外其他元素全部入队到空队列中,再出最后一个元素。出队操作,需要把出队的栈元素全部出完,当出完时,把入队的栈的元素全部导入到出队栈里,在进行出栈操作。栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的原则。

2024-05-26 18:15:39 353 15

原创 时间复杂度及空间复杂度

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。++count;return 0;

2024-05-07 22:37:37 642 27

原创 库函数的模拟实现(memcpy memmove)(3)

所以我们总结出:需要赋值的起始位置大于用来赋值的起始位置时,我们采用从后向前的顺序来进行赋值;需要赋值的起始位置小于用来赋值的起始位置时,我们采用从前向后的顺序来进行赋值。memmove 函数实现的过程是先找到要改变的位置,再从该位置往后覆盖数字,但在实现的过程中我们得考虑到后面的数字是否会被改变,使得我们得到的结果与原先想到的结果不同。由于不知道所给的类型,所以我们可以用 1 个字节 1 个字节来进行替换,并且在循环里也是用字节的加 1 往后循环,直到把所给的字节数循环完。

2024-04-01 20:40:50 296 5

原创 库函数的使用与模拟实现(strstr)(2)

我们要先记录下起始地址 p11 pp1 记录 arr1 开始找的地址,p22 记录 arr2 的起始地址,在进行一个一个后移比较,当把 arr2 遍历完还没找到时,arr1 一直往后找,直到找到 '\0' 位置。strstr 函数可以看成先在 arr1 中一个一个比较 arr2 观察是否全能找出 arr2 中所有相同的值,找到了之后返回该位置的地址,并把该地址后的所有内容打印出来,找不到则返回空。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。

2024-03-27 22:03:57 262 5

原创 库函数的使用与模拟实现(strcpy strcat strcmp)(1)

strcpy 函数的作用是把含有 ‘\0’ 结束符的字符串复制到另一个地址空间。strcpy 的函数形式 char * strcpy ( char * destination, const char * source )。

2024-03-18 21:27:10 960 2

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

由于规定正数部分必须为1,即将小数点右移1位,则为1.0*2^(-1),则 E 为 -1+127=126,表示为 01111110 ,而尾数 1.0 去掉整数部分为 0 ,补齐0到23位00000000000000000000000,则其二进制表示形式为:0 01111110 00000000000000000000000。故S =0,E = 1 - 127 = -126 ,由于 E 为全 0 的数,在全 0 中,M 读取出来时候不再补 1,而是补 0,(-1)^S表示符号位,当S=0,V为正数;

2024-03-18 16:45:52 927 1

原创 扫雷游戏(简陋版)

为了使所布置的雷随机,我们使用 srand((unsigned int)time(NULL))(使每次生成的随机数都不同)和 rand()(a+rand()%(b-a+1)可以生成一个a-b之间的随机数)来实现安排雷的坐标随机,再用到 rand()和 srand()时包含对应头文件 #include 和 #include。test.c(游戏的整体逻辑),game.h(声明函数),game.c(函数的实现)。函数都是在 game.h 中声明,在 game.c 中实现。

2023-12-17 20:30:55 879 2

原创 分支和循环(拙见)

switch(expression) 语句可以看成是多个 if...else 语句,可以进行判断多个结果,根据 expression 的值不同,与下面相应的 case 匹配,当无匹配值时执行 deflaut。while (表达式) {语句},当表达式为真的时候,执行 while 下的语句内容,当表达式为假的时候,跳出循环 (当表达式的值为0时,语句为假,不执行语句;do...while 是先进入循环体,再进行判断,若为真则在进入循环体,若为假则跳出循环体 (当表达式的值为0时,语句为假,不执行语句;

2023-11-30 22:25:48 340 2

原创 初识scanf与printf

时 打印出来printf("%d",x);对应的输出要变成%f.例 printf("%d",6/4);得到的是1,printf("%f",6.0/4);4、打印小数点后几位用printf("%.4f"4.15356),得到的是4.1536(四舍五入)2、输入的参数类型与 printf 所用的%d,%f,%c,%lf打印的字符类型是一致的。5、需要几个字符时用printf("%.5s",hahaha),得到的是hahah。3、打印出正号的时候printf("%+d",123),得到结果+123。

2023-11-29 22:15:40 366 2

原创 初学C语言

反斜杠的用法(转义字符 加完 \ 转变原来字母的意思)【1.可以防止变成三字母词,输出时打印想要的结果 例:打印字符 ' 时应写成' \' '打印 " 时写成" \" " 2.打印路径时 例:c:\test\net\hh.c时应该写成 c:\\test\\net\\hh.c 防止其中一个转义字符把后面的字母转变成其他形式,用两个转义字符来中和其中一个转义字符】计算字符长度:strlen()在遇到'\0'才截止,无'\0'时计算出随机值。双引号""会自动加一个'\0',单引号''要自己加'\0'。

2023-11-28 20:21:26 290 1

原创 第一篇博客

大二的时候接触到了蓝桥杯这个比赛想通过学习来参加蓝桥杯,并且为以后专业发展方向做准备,最主要的还是希望通过这个对自己的专业有进一步的提升。我是湖南二本的大二学生,对于计算机只是初步了解,大一的时候学习的C也只是为了应对期末考试,其他的也就没考虑过,现在也就相当于初学C吧。当然,现在最主要的还是先打好基础,再进一步的提升自己。在没事的时候就打开点脑,从简单的写起,每天写几个程序,然后再学习相关知识,每天学习个1-2小时。暂时还没有想进的公司,最想的还是先提升自己的学历,再考虑工作的事。

2023-11-21 19:35:03 51 2

空空如也

空空如也

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

TA关注的人

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