自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 指针进阶2

紧接着我们上一讲,指针进阶1,让我们趁热打铁,学习一下指针进阶2~

2024-01-30 20:56:13 376

原创 指针进阶1

顾名思义:字符指针指的是一种指针类型为字符指针 char*;char*可以是一个字符也可以是一个字符串,前者很好理解,让我们看看后者;//实际上是将首元素的地址给了p,也就是说*p存的是a的地址,不是存的全部abcdef的地址;(可以把abcdef想象成一个数组)打印的其实是字母d,这条语句的意思是以%d的格式打印下标为3的元素d让我们看一道相关的的面试题:答案:第一个是str1 str2 are not same 第二个是str3和str4 are same(大家可以暂停一下看看是为什么呢?

2024-01-30 19:21:20 926

原创 栈和队列知识点+例题

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素的操作。遵守的原则(类似于弹夹):栈的插入操作叫做进栈/入栈/压栈,:栈的删除操作叫做出栈,那如何实现栈呢?经过比较,数组栈是最优解,(链式的扩容会很久才会扩容一下)由于top的位置意义不同,我们分为两种解决方案。

2023-11-20 15:55:10 112

原创 双向链表的知识点+例题

当然,在这个代码中,我们要考虑如果只有head的唯一一个节点,那我们可以检查一下,如果head->next==head,则就不尾删。我们学完了顺序表和链表,为了方便学习,我们来比较一下两种表吧~在这个代码中,如果pos是哨兵位,那么此代码相当于尾插。好啦~我们的知识分享就到这里了~以上就是双向链表的知识点啦~10在pos位置前面插入。让我们画个图就理解了。

2023-11-17 15:08:14 166 7

原创 链表的知识点+例题总结

首先我们要先设置三个指针,分别是prev(指针的前一个节点),cur(指针当前节点),next(当前节点的下一个节点),当cur不等于NULL时,有两种情况,一个是cur等于重复的值val,此时我们要将prev->cur,然后释放掉空间,最后将prev->next=next;第二种情况是,若cur不等于重复的值val,此时我们要将prev->cur,cur=cur->next。当我们释放掉一个空间,会出现野指针的情况,因此,为了解决野指针的问题,我们设置两个指针,一个是prev,一个是tail;

2023-11-12 17:56:28 125 12

原创 顺序表知识+例题总结

顺序表是用一段物理地址连续的存储单元数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删改查。

2023-11-04 20:11:49 102 7

原创 算法的时间复杂度和空间复杂度

时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量的描述了算法的运行时间,一般来说,算法中的基本操作的执行次数,为算法的时间复杂度第一题:两套for循环+k有2*N次循环+while循环中的M的10次,所以O(N)=N*N+10+2N(准确的)相信大家都理解了上面的代码,让我们再看看下面的代码吧(会越来越有挑战性哦)第二题:eg:如果不确定 M和N的关系,那就把未知数都带上,答案最好写O(M+N)第三题。

2023-11-01 17:53:29 39

原创 求最小公倍数

1.方法1.方法2 :

2023-10-22 16:47:57 21

原创 数据在内存中的存储

在内存的存储可以任意,只要有需要的时候,把它拿出来可以还原原来的数据即可eg:我们通常使用大小端大端:数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中小端:数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中举个例子:上图第一个是大端,第二个是小端设计一个小程序来判断当前机器的字节序。

2023-10-15 10:45:52 15

原创 算术转换部分习题

下面代码的结果是:int i;A.>B.<C.不输出D.程序有问题。

2023-10-09 08:35:35 14

原创 const修饰指针and修饰变量

const放在*的左边,限制的是指针指向的内容(也就是说,不能通过指针来修改指针指向的内容*p,但是,指针变量p是可以修改的,也就是指针变量是可以指向其他变量的)const放在*的右边,限制的是指针变量本身(p),指针变量不能在指向其他元素,但是可以通过指针变量修改指向的内容。const修饰变量的时候,实在语法层面限制了const修改,但是本质上,num还是变量,是一种不能被修改的变量。//const放在*的位置不同,效果也不同。下面让我们看一下代码,了解const的作用。

2023-10-03 12:24:39 20

原创 结构体初阶

结构体变量.成员名结构体指针->成员名大家可以看看下面的代码是否是正确的,看看哪里是不对的要公布正确答案了哦。

2023-10-02 17:56:31 19

原创 指针(初阶)

1,内存被划分成一个个内存单元,每个内存单元的大小是1个字节2,每个字节的内存单元都有1个编号,这个编号就是地址,地址在c语言中称为指针3,地址要存储的话,存放在指针变量中4,每个内存单元都有唯一的地址来标识5,在32位机器上的地址大小是4个字节,所以指针变量的大小也是四个字节同理:在64位机器上的地址大小是8个字节,所以指针变量的大小也 8个字节。

2023-10-02 17:12:21 23

原创 部分数组习题

自己设计以上函数的参数,返回值。

2023-10-02 11:04:01 18

原创 sizeof与strlen的区分

2023-10-02 09:29:35 15

原创 c语言操作符的讲解

因为a++,先使用后自增,所以i=a++那一行式子,用的a=0,由于是&&的关系,所以a++后面的式子不用计算,所以输出结果是a=1,b=2,c=3,d=4,i=0。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转化为另一个操作数的类型,否则操作就无法进行。相信大家都理解/的用法了吧~当然我们也要理解%两端也是整数,返回的结果是整数相除后的余数。看下面代码的例子,5是操作数,arr【5】是一个索引值(索引值其实就是下标)而对于负的整数,原码,补码,反码需要计算。

2023-10-02 09:27:03 21

原创 递归部分习题

pow相信大家应该不陌生,pow是求n的k次方的库函数,我们可以用博主之前的c++网站可以看到pow的使用方法。注意哦~,pow的返回类型是double,如果想要返回其他类型,可以用()强制切换类型好啦,让我们看看这个题的思路吧~相信大家应该都可以理解这个思路吧~大家可以试试去写写代码,然后对照一下答案哦(答案如下)

2023-09-30 12:01:29 23

原创 数9的个数

如果用的是if else语句,屏幕显示19,因为if else语句只执行一次,当i=99时只执行if语句。

2023-09-06 20:05:23 27

原创 数组的应用实例1.三子棋

思路:我们在test.c文件中打印以下内容:2,然后在打印一个菜单,放到主函数里面去3.对游戏玩家对菜单的选择进行下一步的操作,比如选1,则就继续玩,2则退出游戏,剩余的选择都是错误,需要重新选择。4,然后选1的话,有游戏的界面,所以我们要开始做一个game游戏的代码,在这个game里面,我们需要初始化棋盘,打印棋盘,并且需要在这个game里面进行玩家下棋,电脑下棋,并且打印出双方下的棋子,以及分出胜负我们在game.h文件中声明三子棋代码如下: 首先,我们先声明,然后再

2023-08-23 10:03:12 60 3

原创 数组的知识点总结+例题

所以数组的下标如果小于0;或者大于1,就是数组越界访问了,超出了数组合法空间的访问。c语言中本身不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错并不意味这是正确的。所以程序员写代码时,最好自己做越界的检查。i<=20,就已经说明了数组越界,输出结果是错误的。

2023-08-14 12:06:34 84 4

原创 函数知识点+例题总结

自定义函数和库函数一样,有函数名,返回值类型和函数参数,不一样的是这些都由我们自己来设计,给程序员一个很大的发挥空间函数的组成:返回类型;函数名;参数(不限个数,可以0个也可以无数个);函数体举个代码例子吧~题目:写一个函数可以找出两个整数的最大值返回类型,用void的情况:不需要传参,不需要返回值在举例子之前,要交给大家一个知识哦~in main()int num=10;//先定义num的值是10;int *p=#//将num的地址传给*p*p=20;

2023-08-11 12:30:48 116 2

原创 计算1-1/2+1/3-1/4.....1/100

方法2:由式子可以看出,奇数项为正,偶数项为负,所以我们可以将奇数项加起来,偶数项加起来,然后作和即可。方法一:先生成1~100的数字,让其做分母,分子永远是1,然后这些值相加,符号加减交替即可。

2023-08-06 22:05:29 605

原创 在屏幕上输出九九乘法表

2023-08-06 21:35:08 47

原创 求最大公约数

方法2:辗转相除法(具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。1.先输入两个数m,n,然后找出两个数的最小者,(假设n为最小者),用这两个数分别除以n,若无余数,则就找到了,若有余数,则把n--,直到找到了最大公约数。

2023-08-06 13:42:47 30

原创 打印100~200的素数

2.素数只能是被1和它本身的数整除,设一个数为i,然后不能被2~i-1的数字整除,则是素数,所以我们可以产生2~i-1的数字让i去试着除一下,如果余数为0;若一个数可以写成i=m*n,m和n至少有一个数字小于等于根号i;1.无论要打印什么,要产生100~200的数。

2023-08-06 13:23:36 31

原创 三个整数从大到小输出

2.比较三个数的大小,把最大值给a,中间的数给b,最小的数给c。1.先输入三个数a,b,c。3.依次输出三个数字。

2023-08-06 12:53:08 51

原创 BC48字母大小写转化

题目:如果输入大写字母,则转化为小写字母;如果输入小写字母,则转化为大写字母。好啦~这两种方法就讲到这里啦~,大家有不明白的地方可以私信博主哦~来表示大小写字母转化和是否为字母。方法二:可以用库函数。

2023-08-06 12:12:56 24

原创 BC123 小乐乐找最大数

方法2:用INT_MIN函数,头文件用limits.h来定义,这个函数的意义是比数组四个数字都要小,找到的数字都比INT_MIN大,则max为这个数字。方法1:遍历比较法,现设第一个元素arr【0】最大,然后依次将三个数与他比较。如果有一个数字比他大,则max等于这个数字。好啦~,找最大数的编程就讲到这里了,相信小伙伴们都已经学会了吧,给个好评吧~小乐乐找到了4个数,找出最大的数。

2023-08-06 11:54:45 77

原创 BC112小乐乐求和

法二:运用数学知识,1~n的数列求和公式,此时运用的是数学知识,函数预处理指令需要加入数学函数。法一:先产生1~n的数字,然后进行加和。求1~n(n特别大)的和。

2023-08-06 10:53:42 31

原创 BC13 ASCII码值

好啦~本题我们就讲到这里啦~,对计算机专业课感兴趣的童鞋们可以给个好评+关注哦~后期我会把专业课的知识一起整理哦~这些数字可以用int定义以及char定义,int定义时都是数字,char直接表明这些数字就是对应的ASCII码值。转换以下ASCII码值然后对应字符输出他们。注意,用char必须要保证\0(加入进去)方法二:用char定义。

2023-08-06 10:37:05 51

原创 BC114 小乐乐排电梯

思路:由题知,12人为1组,那么(n/12)就是一共有几组,(n/12)*4就是这几组需要的时间,(n/12)*4+2就是小乐乐到达楼上的时间。题目:小乐乐前面有n人,电梯每次要做12人,一上一下电梯共需要4分钟,请问小乐乐什么时候可以到达楼上。

2023-08-05 13:57:16 35 1

原创 猜数字游戏实现

2,接下来我们猜数字,如果猜小(大)了,屏幕告知猜小(大)了;若猜对了,则告知恭喜你,猜对了。4.猜数字 如果猜小(大)了,屏幕告知猜小(大)了;若猜对了,则告知恭喜你,猜对了。2.对客户选择菜单上的选项作出不同的回答。1,先随机生产1~100的数字。3.创建1~100的数字。1.先建立一个菜单,

2023-08-02 18:56:18 39

原创 编写代码,演示从多个字符向两端移动,向中间汇聚

若加上system则可以起到清空的作用。

2023-08-02 17:58:23 23

原创 在一个有序数组查找具体某个数字n

令数组最左边的元素下标为left,最右边的元素下标为right,最中间的元素下标是mid,用mid和你想要的元素k进行比较,如果mid比k小,则最新的范围是把比mid小的部分去掉,然后left+1;同理如果mid比k大,则最新的范围是把比mid大的部分去掉,然后right-1;2.若数目较大,并且有序,用折半查找(二分查找)乱序用遍历的方法,不可以用二分查找。举例如图所示,其中右下角蓝色字体是结论哦~大家一定要记住哦,让我们看看怎么运用吧~1,遍历的方法(适用于有序较少的数字)

2023-08-02 11:15:04 53

原创 计算1!+2!+3!........+10!

思路:首先先找1~n的阶乘,即在本博主发的n!文章的for循环前面再加个for循环即可。

2023-08-01 20:29:02 39

原创 计算n!思路和编程

ret*=i和ret=ret*i是等价的哦,形如a+=b等价于a=a+b。思路:先找出1~n的值,然后累乘即可。

2023-08-01 20:09:02 38 1

原创 goto语句知识点的运用

但是在某种场合下goto语句还是可以用得着,最常见的是终止程序在某些深度嵌套的结构的处理过程。while(1)是表示的死循环,system(“shutdown -a”)是取消关机的意思。当第一次执行此程序时,进入goto again时,此时程序再次进入again:,陷入循环。因为goto不常用,初学者不建议用goto语句哟~可以用其他语句来代替。从理论上goto语句是没必要的,实践中没goto语句也可以容易写代码。C语言中提供了可随意滥用的goto语句和标记跳转的标号。下面是goto的一个例子:(图2)

2023-08-01 19:47:56 28

原创 分支(选择)语句和循环语句的知识点+例题总结

c语句可分为以下五类:1.函数调用语句 2.表达式语句 3.控制语句 4.复合语句 5.空语句其中,控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,c语言有9种控制语句。可分成以下3类:1.条件判断语句也叫分支语句:if语句,switch语句2.循环执行语句:do while语句,while语句,for语句3.转向语句:break语句,goto语句,continue语句,return语句。

2023-07-20 11:25:19 81 2

空空如也

空空如也

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

TA关注的人

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