![](https://img-blog.csdnimg.cn/0f8e2af443dc420ea208b3a18633ef26.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言学习记录
一个小白的学习记录
flashier
保持好奇
展开
-
C语言的数据存储详解
本文主要讲解C语言中的数据存储模式原创 2024-03-01 13:21:35 · 1211 阅读 · 0 评论 -
C语言对类型的转换
主要讲了C语言中整形在存储和调用时发生的整形提升、截断和算数转换原创 2024-03-01 12:35:06 · 391 阅读 · 0 评论 -
fgets的使用方法详解
本文主要讲述fgets()函数的使用方法及其注意事项原创 2024-02-15 23:34:10 · 2338 阅读 · 1 评论 -
常用调试方法
主要讲调试的方法和各类调试工具的使用原创 2024-02-15 01:57:20 · 1036 阅读 · 0 评论 -
51 模块化编程
C语言模块化编程原创 2023-11-22 21:49:34 · 74 阅读 · 0 评论 -
C 进阶指针
一个小白的学习记录——C语言指针进阶原创 2023-10-28 14:20:51 · 51 阅读 · 0 评论 -
C 初阶结构体
int height;//这里可以不加结构名,如果加了(比如p3),后面访问的时候要带上结构名int No;int main()//结构体变量的创建和初始化//里面的大括号可以去掉//含有结构体的结构体变量的创建和初始化//注意:浮点数在内存中不能精确保存,可能会有误差return 0;也可以不完全初始化(即只初始化一部分内容)原创 2023-10-22 14:36:34 · 69 阅读 · 1 评论 -
C 初阶指针
这两天把初阶指针学了。原创 2023-10-21 14:27:00 · 92 阅读 · 1 评论 -
C 操作符
今天学了一部分操作符,虽然是一部分,但是实在是太多了,就挑几个特别的。1、移位操作符2、位操作符、3、逻辑操作符。原创 2023-10-05 00:29:58 · 40 阅读 · 0 评论 -
C语言实现扫雷(含标记、展开)(含源码)
用C语言实现扫雷,包括标记和展开的功能。原创 2023-10-03 20:55:07 · 259 阅读 · 0 评论 -
C 二维数组、冒泡排序
如果说一维数组就是一条线,那么二维数组就是一个面,其格式为arr[x][y],其中的x和y分别对应行和列,初始化时可以把全部元素写在一行,程序会自动从上到下放进数组,不够的会初始化为0。数组越界:数组的下标大于n+(编译器不一定报错,但是会影响程序运行)这是用冒泡排序写的对输入的10个数进行从小到大排序的代码。简单说就是相邻两个数对比,然后交换位置。重复多次,最后得到一个特定顺序。今天主要学了二维数组和冒泡排序。有一段时间没学c,有点生疏了。原创 2023-09-27 00:19:30 · 414 阅读 · 1 评论 -
C 迭代
简单来说,循环是一种迭代,但迭代不止循环。利用循环写的一个求第n为斐波那契数的程序。原创 2023-09-15 23:05:28 · 26 阅读 · 0 评论 -
C 静态库的简单使用和函数递归
在需要发送给他人一份包含有可调用函数的代码或一些特殊场景,即接收者需要使用某一段代码但是发送者不希望接收者能够看到源代码的情况下,可以使用静态库的方式。(1)写一个包含需要发送的C文件,并创建一个含有该函数的对应声明的头文件(.h)1、函数的声明:用于告诉编译器函数叫什么,参数是什么,返回什么。(2)将对应头文件移除出项目 ,并右键项目名,选择属性。(4)确定后输出,得到一个静态库文件(.lib)3、函数递归: 调用自己是递归,调用别人是嵌套。(3) 在常规选项中的配置类型一栏选择静态库。原创 2023-09-14 23:23:31 · 59 阅读 · 1 评论 -
C 函数的嵌套使用和链式访问
这是因为,数组在传递过程中,为避免在传输过程中对整个数组的数据进行传输而占用大量空间,程序只是传输了数组的地址,也就是首元素的地址,在x64环境中,地址大小为64bit=8byte=2个int变量(x86环境下为32bit)所占的空间,所以此时sz=2,因此该程序只能用于查找1、2。布尔类型只包含true和false,用于判断结果的返回,而当我们去查看其定义时,会发现它只是对1和0的封装,因此可以被代替。(1)函数可以嵌套调用(在一个函数内调用另一个函数),但不能嵌套定义(在一个函数内定义另一个函数)原创 2023-09-13 21:13:33 · 50 阅读 · 1 评论 -
20230912
eg:在使用外部函数交换a、b两个变量的值时,如果不传地址,而是用x、y等变量接收,则该被调用的函数会生成x和y两个形参,此时在函数中对参数的修改均为形参,而不是对实参的修改,此时无法达到交换的目的,当传递的值为地址时,就能完成两数字交换的操作。简单一点的说法就是(自己的理解),当传递的数据不为地址时,此时相当于把a和b的地址交换了,但a和b所对应的地址里存的还是原来的数字,当传递的为地址是,相当于把地址里存的数据交换了,此时a、b所对应的地址虽然没有改变,但地址里的数据被改变了。原创 2023-09-12 23:59:40 · 34 阅读 · 1 评论 -
C goto语句、变量的传递
简单来说就是在自定义函数接收来自主函数的数据(实参)时,会另外创建变量(形参),此时两个函数之间的变量的值虽然相同,但是指针不同,对形参的修改不会影响实参,因此在第一段代码中,该交换数字的目标无法完成。今天学了goto语句,goto语句就是从程序的某个部分跳到另一个部分,可用于循环的跳出、创建循环等,但 goto语句会打乱程序运行的过程,因此在非必要时尽量用其它语句代替goto语句。此外,今天还学了有关数据的传输的一个小知识点,实例为一个交换变量的程序。运用goto语句写的关机程序。原创 2023-09-11 23:13:44 · 64 阅读 · 0 评论 -
C 利用循环和随机数生成制作猜数字小游戏
感觉可以再精简一点,但是写完的时候头脑好乱。原创 2023-09-10 22:23:41 · 44 阅读 · 1 评论 -
C 循环的运用
1、利用二分法在有序数组中查找对应数字。2、实现字符的逐个替换。原创 2023-09-09 21:05:20 · 29 阅读 · 1 评论 -
C for、do...while语句
同时,break在for语句中的作用同while一样,直接跳出整个循环,而continue语句则略有不同。1、初始化、循环部分可省略,但如果for循环的判断部分省略,则表示判断部分恒成立。do..while语句如同表面上看的一样,先执行后判断,因此必定执行一次。do...while语句中的break和continue效果同while。今天把循环语句中的for和do...while语句学了。学c语言的第12天...吧,中间摆烂了好多天。由此可见,for循环具有更高的可读性。二、do..while。原创 2023-09-03 00:23:16 · 22 阅读 · 0 评论 -
20230811
此外,今天还学了scanf函数和getchar函数对于数据的抓取:在使用scanf函数作为输入时,在输入数据(字符串等)并按下回车后,数据会进入一个缓冲区并自动添加一个\n作为数据的结尾,此时scanf函数会从缓冲区抓取\n前的数据(在数据中有空格时,只抓取空格前的数据),而后面的数据则会留在缓冲区中。而下一个函数又会从缓冲区中抓取数据,因此,缓冲区中残留的数据会对后面程序的运行造成干扰,因此可以用while循环配合getchar函数进行简单的缓冲区清理。今天是学C语言的第11天。原创 2023-08-11 23:34:01 · 24 阅读 · 1 评论 -
20230810
今天把循环中的if语句学了,并且结合while循环实现了指定范围的奇数的输出,然后了解了if,else语句的正确用法:if和else后面只能跟一条语句,若要跟多条语句,则需要用{}形成代码块;此外,在没有{}的情况下,else是和最近的if匹配的,因此,在嵌套选择时,最好用{}标注。另外,养成好的习惯很重要,写出来的代码不仅要自己看得懂,还要让再看一遍的自己也看得懂。原创 2023-08-10 23:15:37 · 29 阅读 · 1 评论 -
20230808
今天把指针和结构体学了,感觉指针就是一个链接软件和硬件的东西,程序通过指针取调用保存在内存里的数据,内存就像一个仓库,而指针就是仓库的货架编号。通过指针,可以更好理解x86和x64的区别。结构体就是相当于可以自己决定里面包含什么的类型,比如创建一个名为human的结构体,里面可以包含name、age、sex和telephonenumber,用struct创建完结构体后,,这个结构体就相当于一个你自己定义的类型,可以在后续过程中直接调用,就是写起来有点麻烦,但是正是结构体是的C语言有能力描述复杂类型。原创 2023-08-08 23:13:46 · 25 阅读 · 0 评论 -
20230806
把#define定义的宏学了,宏这个东西有点像函数,可以被直接调用,感觉像是写法简单一点的函数,但是复杂的函数就不知道了,然后学了一部分指针的内容,补充了内存的知识。今天属于摆烂了,明天要把今天的内容补回来。原创 2023-08-06 23:50:29 · 22 阅读 · 1 评论 -
20230805
还有一些其它的操作符,个人感觉比较有意思的是&&/||和条件操作符,前者表示并且/或者,后者是三目操作符,第一次看到用法是让我一愣,就像是身份验证,第一个值。今天还了解了一些常见的关键字比如static可以保证局部变量活到程序结束,让其它源文件可以调用的全局变量和函数变成它所在的源文件的“个人财产”,以及register可以提出建议,让编译器把数据保存在读取速度更高的寄存器,有利于数据的读写。第三个值,如果第一个元素是真的,那么输出第二个值,如果第一个是假的,那么输出第三个值。原创 2023-08-05 23:30:33 · 26 阅读 · 1 评论 -
20230804
小白的学习过程原创 2023-08-04 23:36:28 · 35 阅读 · 0 评论