c语言程序设计入门学习
文章平均质量分 92
一个编程萌新从0开始学c语言
LOVEHutao2969
监督自己学习(自控力太差了)
通过写博客来强迫自己学习,上到哪里写到哪里!
展开
-
初识c语言的指针
指针究竟为何物呢?可以存储地址的变量称为指针(又称指针变量),存储在指针中的地址通常是另一个变量。指针中唯一指向一处地址,即指针变量中唯一储存了一个地址。在c语言中我们通常用类型+*int main()// 类型(如int,char,float等)* name = value//*p表示的是p为一个指针变量return 0;我们可以看到a的地址被赋给了p,而p本身也是一个变量因此也有自己的地址,最后打印出了下面的结果。(为了方便理解这里用的是X86环境下的结果,只有八位十六进制数)原创 2023-11-26 16:15:31 · 279 阅读 · 1 评论 -
利用循环的嵌套制作一个猜数字小游戏
其实是因为rand生成的函数是伪随机的,也就是说这些数是事先就准备好的,它的值是由“种子”来决定的,而我们想让它随机输入一个值就需要改变它的“种子”,因此想要改变它的“种子”,又要用到两个函数,一个是同样属于stdlib.h的srand函数,用来给“种子”进行初始化的,也就是说给“种子”赋值,另外一个函数就需要我们引入time.h这个函数了,由于我们想让“种子”随机变化,就需要一个随机的值来作为rand()的种子,什么东西是一只在改变的呢?这样我们就创建了一个叫menu的函数,里面存放着我们的菜单。原创 2023-10-28 00:22:27 · 150 阅读 · 0 评论 -
位操作符详解
一.上次的两道题目大家好我是LoveHutao,我们在上次的中的结尾处讲到了两道题目,今天我以这两道题目为引,来给大家讲一讲位操作符和移位操作符的用法。一.上次的两道题目1.利用位操作符实现不使用临时变量交换两个整形的大小但是当有人问你不创建临时变量的情况下怎么实现两个整形的交换,你该怎么做?想必大家和我一样第一反应就是一脸懵逼,不创建临时变量怎么做?思索后我们想到了这样一段代码。不让我创建临时变量,那我将a + b存到a中等到要用的时候分别取出来不就好了?原创 2023-11-23 22:07:56 · 318 阅读 · 0 评论 -
函数的创建及使用
1)自定义函数的创建我们在数学中都学过什么是函数吧,数学中函数的定义是给予一个元素A经过特定的法则下得到元素B,这个法则就被称之为函数。而在c语言中同样是如此,就拿我们熟知的一元函数举例,例如y = x + 2就是一个法则,当x = 2时经过这个法则我们能够得到y = 4。在c语言的表示形式如下所示:外面的int是函数返回值(ret_type)的类型,括号内的int是形式参数的类型,add是函数名(name)。如上所示我们就创建了一个函数名为add。原创 2023-11-12 22:56:43 · 382 阅读 · 0 评论 -
浮点型在内存中的存储
大家好,我是LoveHutao,我们在中已经讲过了在内存中的存储是以二进制补码的形式来储存的,今天我们来了解一下浮点型在内存中的存储方式吧!原创 2023-11-28 22:19:40 · 161 阅读 · 0 评论 -
数组的创建和使用
因为这个而一起的错误是完全可以通过取名来避免的,因此在实际数组的实际运用中我们都会取一个有一定意义容易记住的名字,这样或许对后续的编程和调试都会有所帮助。逐渐增加的,由此我们就可以得出数组在计算机中的储存是等差连续递增的,所以我们可以推出数组的下标也是递增的。二维数组的创建和一维数组一样,但是不完全一样,由于二维数组是有行列的,计算机想要知道你的二维数组到底要存多少行,就得知道你一行能存少元素,吧,第一种在上面我们也看到了,而第二种同样运用了我们的循环来自己手动输入数组的值,只不过在一维上多加了一个而已。原创 2023-11-02 23:40:47 · 127 阅读 · 0 评论 -
几种运算方法(辗转相除,二分,冒泡)
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。(以上是百度给出的定义)定义往往比较晦涩难懂,因此我们用实例来说明他到底说明了什么。由于如果是和的公约数,那么都能被整除,设为的倍,为的倍,那么,因为都为整数,所以也为整数,因此,设,那么就拥有了同一个公约数,与的公约数就转换为了与的公约数,循环往复就得到。原创 2023-11-24 20:44:02 · 477 阅读 · 1 评论 -
c语言中的操作符
什么是操作符?原创 2023-11-22 19:37:39 · 136 阅读 · 0 评论 -
深入理解指针(一)
大家好这里是LoveHutao,指针是c语言的精髓,较为复杂,因此一篇博客肯定讲不完,所以我会分多次来讲述何为指针。(温馨提示:由于本文不是一天写好的,可能会出现一个东西前后称呼不同甚至错误的情况,我自己又找不出来,也懒得找,只要能看懂就行,请见谅~,理解万岁!!!原创 2023-12-10 11:35:02 · 118 阅读 · 1 评论 -
c语言分支循环语句
我们可以看出do while和while几乎是一样的,而while和do while唯一的区别就是while是先执行while里的语句在往下运行,而do while正好与之相反,首先执行语句,再进行while里的语句进行循环,格式为:do+循环语句+while(条件继续的条件)。开玩笑的(不会有人信了吧),我们知道了if是如果的意思,上图if()括号里面就是你需要它执行的条件,例如x==1,x>1,x原创 2023-10-24 12:51:36 · 121 阅读 · 0 评论 -
利用数组和函数制作扫雷小游戏(主体)
注意:这里的quantd是雷的个数,quant0是用来控制数组打印的范围的,因为后面比较周围八格时四个边缘的格子不好比较因此我们需要将数组加宽一圈,方便我们统计周围雷的个数,这个后面会详细讲到,而Finally则是不是雷的格子的个数,以便于判断何时胜利,并且我们让a和b处于1~9之间防止超出范围出错。扫雷的规则是在游戏开始前先把雷布置好,我们需要找出雷的位置,当我们选择一个格子时,它会告诉我们周围8格有几个雷,我们根据提示把所有处了雷以外的部分找到就胜利了,反之则失败。以及最后的打印周围八格雷的个数。原创 2023-11-01 14:15:07 · 140 阅读 · 0 评论 -
函数的递归
1)什么是递归?递归其实就是函数套用自己,以达成一种类似于循环的方式,递归递归,函数会将一个数从前往后输入,再将其从后往前输出,一去一归//利用for循环打印一维数组int i = 0;for(i = 0;i < sz;i++)//利用递归打印一维数组if (sz!= 0)//主函数int main()return 0;2)递归的限制条件1.应该存在限制条件,使得递归能够及时结束。2.递归每次进行后必须要越来越接近该限制条件。3)递归的逻辑导图。原创 2023-11-19 14:20:20 · 116 阅读 · 0 评论