
C语言
文章平均质量分 89
深入从介绍到详解C语言,对于复习和想对C语言学习的人非常有帮助,欢迎大家一起来探讨学习
九离十
方才无悔
展开
-
C语言教程之你知道
也许你不是计算机专业,但是你有可能会去学习计算机,将来有可能会成为一个程序员,成为一个开发者,如果要成为那样的人,估计你会花费更多的精力去学习,因为你要首先要保证自己的学位证和毕业证可以拿到手里面,保证自己本专业的课程不会挂科,你还要自己寻求机会比赛,通过一些比赛来证明自己,为自己添加风采。检验一个人最好的办法就是你看他是否能沉住心,闭住嘴,所有人说财不外漏,但我认为这个财不仅是经济,而且是脑袋里的思想和知识,因为那才是你真正的属于你自己的东西,是陪伴你一生可以用到的东西。针对其它专业的人来说?原创 2024-09-22 14:20:30 · 165 阅读 · 0 评论 -
如何写出写出一手优秀的代码
优秀的代码不仅代表你的实力,同时也代表着你的书写风格的好坏。通过这个就可以判断你写的东西是否真正的符合他人的需要和团队的默契的配合。1、代码运行正常,实现基本的运行,能够跑起来2、Bug很少3、效率比较高4、可维护性高5、注释清晰6、文档齐全。原创 2025-01-01 12:45:35 · 205 阅读 · 0 评论 -
C语言初识(一)
C语言是万物之母,C生万物,但大家要不只只学会C语言,还要学习学好计算机语言,算法,数据结构,操作系统,计算机网络,项目实战,数据库MySQL等等。但是根据我的总结,C语言基础打好后,其它的都很好理解,很好学习和读懂,有助于后来专业领域的学习。一般我写C语言是用的VSstdio2022(个人感觉非常好使),大家可以用其它编辑器,选择自己喜欢的来编写代码真的很高效。学习闲暇时间用一些网站来刷题,例如牛客网,洛谷,pta,leetcode等等。原创 2024-09-23 17:56:47 · 943 阅读 · 3 评论 -
C语言初识(二)
上篇文章讲了一些基础知识,以及计算机语言的一些发展,介绍了数据类型,第一个C语言程序,变量和常量(在本篇继续补充,没介绍完)。相信大家对C语言有了一些认识,我也有了很深的体会,对于C语言也有了一些以前没有的认知。我们接下来继续学习介绍。目录前言文章目录四、变量、常量(补充)(5)变量的作用域和生命周期(6)常量五、字符串+转义字符+注释(1)字符串(2)转义字符六、注释七、选择语句八、循环语句(1)while语句。原创 2024-09-25 13:28:13 · 1113 阅读 · 0 评论 -
初识C语言(三)
我们在上个文章学习了,常量变量的作用域,生命周期以及等等,我们了解了字符串,转义字符注释等相关了解,我们还了解了选择语句和循环语句中的while语句,剩下的for和do while 循环之后会进行详细分析。。当我们存储1-10的数字,我们是否要定义十个变量来进行存储,那样就会很麻烦,也许会觉得也就写十行代码的事,但要是要存储100个数字呢,是否还是一句一句打出来,那样是真的很麻烦。所以才会出现数组这个概念。数组中可以存放一组相同类型的元素,也就是一组相同类型元素的集合。原创 2024-09-26 22:59:26 · 1935 阅读 · 0 评论 -
初识C语言(四)
上一篇文章介绍了函数,数组,操作符,常见关键字和操作符,今天再从一些关键字开始,介绍以后的内容。C语言中很常见就是#define,我们可以用来它来定义符号或者宏,比如在下面定义一个值M,这个M的值为100,这是一个符号,同时是一个常量值,而不是常量。同时,define还可以进行定义宏,下面MAX就是一个宏x:y)int a =10;int b =20;//就相当于 int m = (a>b?a:b);但我们在主函数里面调用宏的时候,参数就会发生替换,通过宏体进行替换,从而返回值。原创 2024-09-30 00:11:27 · 1165 阅读 · 0 评论 -
初识C语言(五)
至此,初阶就介绍完了,后续详细单个分析各个章节,后续还会深入了解。相信有了一个清楚的认识就会好学一些。祝大家学习愉快,也祝我越来越好。原创 2024-10-01 22:35:59 · 684 阅读 · 0 评论 -
C语言教程——分支和循环(1)
分支合循环首先就是要有良好的代码风格,缩进得当,要不然真的很乱很不好理解,而且容易出现错误。在练习代码的时候或者平时写代码的时候还是要注意代码风格的问题。在进行学习本篇之前要先了解一下语句的概念C语言语句可以分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句本次学习的就是控制语句。控制语句用于控制程序的执行流程,以实现程序的各种结构方式,(C语言支持三种结构:顺序结构,选择结构,循环结构),他们由特定的语句定义符组成,C语言共有九种控制语句。原创 2024-10-02 00:53:56 · 803 阅读 · 0 评论 -
C语言教程——分支和循环语句(2)
我们今天,接着讲解循环语句,需要多加练习才可以更加的牛continue在循环中是跳过本次循环执行下一次循环,或者说就是跳过某一次代码中后面的代码。而break则是终止循环中所有的代码,及时下一次循环没有执行,也直接跳出循环(终止循环)。以上就是今天要讲的内容,本文讲解了循环语句的有关使用。原创 2024-10-04 23:21:11 · 779 阅读 · 2 评论 -
C语言教程——分支和循环语句(3)
这里分支与循环就完事了,下一章再进行学习。原创 2024-10-09 15:10:19 · 170 阅读 · 0 评论 -
C语言教程——函数(1)
函数的出现,为程序员解决了大量问题,同时这里也是每个程序员必须要会的地方,希望可以熟练掌握其内容和用法。如果函数能干所有的事情,那么还需要程序员干什么?库里面的函数有一定的局限性,有的话程序员就没事干了,程序员所以要做大量的自定义函数,所有更加重要的是自定义函数,自定义函数和库函数一样,有函数名,返回值和函数参数。statement;//语句项ret_type 返回类型fun_name 函数名paral 函数参数所有的函数基本组成大概和上述代码一样。原创 2024-10-12 23:46:12 · 1056 阅读 · 0 评论 -
C语言教程——函数(2)
我们之前了解了函数的基本原理和基本写法,现在就可以适当的写一些简单的小程序,勤加练习才会有好的结果。1、告诉编译器有一个函数叫做什么,参数是什么,返回类型是什么,但是具体是不是存在,函数声明决定不了。2、函数的声明一般出现在函数的使用之前,要满足先声明后使用。3、函数的声明一般要放在头文件中的。函数的声明和变量的声明非常的形似。声明的时候把函数返回类型参数,类型,以及函数名写出来就行。函数的定义是指函数的具体体现,交代函数的功能实现。递-递推归-回归。原创 2024-10-16 09:37:37 · 900 阅读 · 0 评论 -
C语言教程——函数(3)
接着补充递归有关知识,这篇文章就把函数部分讲解完毕。这里函数都讲完毕了,函数还是非常实用的,同时递归也很方便,但是要注意栈溢出的问题,出现栈溢出问题,需要考虑用非递归算法,或者将栈区变量换成静态区变量(尽管这里没有大作用)。原创 2024-10-17 21:57:20 · 591 阅读 · 0 评论 -
C语言教程(函数)—函数栈帧的创建和销毁
这里补充一下函数线帧的创建和销毁,我们知道函数调用一次就会占用一次栈内存。每一次函数调用都会为本次函数调用分配内存空间(是在内存的栈区),为本次函数调用分配的内存空间叫做被称为这次函数调用的栈帧空间,函数栈帧的创建和销毁。编译器越高级,那么 就越不容易发现在函数调用的过程中线帧的创建,具体细节取决于编译器的实现。新的编译器由于考虑各种各样的问题,所以封装的更加复杂,不容易分离出来函数栈帧创建的过程。栈空间的使用是从高地址向地地址增长。原创 2024-10-20 22:50:47 · 1037 阅读 · 0 评论 -
C语言教程——数组(1)
本篇文章开启数组的学习。1、数组是使用下标来访问的,下标是从0开始的。2、数组的大小可以通过计算得到本篇文章讲解了一维数组和二维数组的初始化以及使用,还有一些储存的方式,个人感觉数组还是非常重要的,大家可以多多练习。原创 2024-10-23 16:10:43 · 794 阅读 · 0 评论 -
C语言教程——数组(2)
我们知道一维数组是连续存放的,随着数组下标的增长,地址是由低到高依次存放的,二维数组,也是在内存里面是连续存放的,而且要检查数组是否越界。数组名实际上就是一个地址,传入参数就相当于传入的是数组的首元素的地址,当用到取地址+数组名的时候才是整个数组。原创 2024-10-26 15:54:02 · 1010 阅读 · 2 评论 -
数组实例之三子棋的实现(C语言)
我们理解并知道了数组等一些知识的使用后就可以适当进行自己的一些创作,本篇文章基于数组学习之后的实例练习,教你如何写一个三子棋的简单小游戏。环境依然是基于VS2022的集成开发环境,项目创建可以参考之前的文章—创建空项目。要保证之前知识的连贯性,这样学着才比较轻松,只要把逻辑想明白,实现就很好实现了。原创 2024-10-27 16:11:22 · 1079 阅读 · 5 评论 -
扫雷(C语言)
本篇文章基于前面的学习内容,有一些部分与前一篇的三子棋一样,可能会比较快,但是写逻辑的和游戏实现的时候会详细讲解,来动手写一个简单的扫雷。我们首先在game.h里定义行和列,以及多两行和多两列的定义。之后再test.c中包含一下这个头文件,这样这里的定义的行和列就可以使用了。接下来首先定义两个数组,一个是mine数组作为还没有进行排查的时候,并且里面布置好了雷的信息,接下来在定义一个排查出雷的信息,命名为show,将两个数组进行初始化。扫雷游戏: C语言版本扫雷游戏 (gitee.com)原创 2024-10-31 21:11:13 · 3185 阅读 · 6 评论 -
C语言教程——操作符详解(1)
今天从开始讲解每个操作符的介绍,这里我有一个建议,关于操作符,我们可以不用硬背,我们可以通过敲代码,敲几次就自然而然就记住了。!逻辑反操作负值正值取地址sizeof操作数的类型长度(以字节为单位)对一个数的二进制按位取反--前置、后置--++前置、后置++间接访问操作符(解引用操作符)(类型)强制类型转换a+1;这个有两个操作数,所以是双目操作符。今天介绍了关于单目操作符的使用和方法,以及一些要注意的地方,后续将会继续讲解其中的一些需要注意的地方。原创 2024-11-03 15:58:18 · 689 阅读 · 0 评论 -
C语言教程——操作符详解(2)
这里接着上一篇的文章内容接着学习和讲解,基本上本篇就把操作符这一部分全部讲解完毕。这里我们接着再讲一下sizeof和数组之间的关系和使用方法。这就是所有操作符的讲解和分析。原创 2024-11-05 21:06:12 · 981 阅读 · 0 评论 -
C语言教程——指针初阶(1)
本篇文章开始讲解新章节指针,后续还会对指针进行深入讲解和学习,希望大家以及我可以准确掌握指针的使用。这里讲了大部分指针的理解和运用,之后还会继续讲解,指针就一个字-香。原创 2024-11-10 19:18:13 · 648 阅读 · 0 评论 -
C语言教程——指针初阶(2)
本篇文章接着对指针进行初步的学习,接着上一篇文章来进行学习和讲解分析。这里初阶指针就了解和分析完事了,后续还会进行指针的讲解,这里先了解和学一个大概,也许还有许多疏漏,大家可以上网上多查查,多找找,下一篇开始就讲解结构体。原创 2024-11-12 18:45:53 · 672 阅读 · 0 评论 -
C语言教程——结构体
这里这篇文章来讲解结构体,结构体是很重要的一个章节,后续的数据结构以及一些算法都需要结构体这个知识。本篇文章先对结构体进行浅显的了解,后续会进行深入的学习。本篇文章是可以使用结构体以及用结构体去访问成员等等。int money;}s1;//直接定义//单独定义可以在声明的时候直接进行变量的定义,也可以单独去定义。结构体的声明其实也可以在主函数里面写,但是如果想要其它的任何地方都能够使用它,那么还是放在主函数外面合适。int money;原创 2024-11-14 17:32:22 · 868 阅读 · 0 评论 -
C语言教程——调试程序基本操作技巧
调试对于程序员来说是非常重要的,如果一个程序员只会写bug,那么就就没有人来修bug了。我们写出bug的时候,可以通过自己调试从而实现修改。我们知道以前的计算机非常的大,对计算机出现问题的时候唯一的解决办法就是进入计算机进行检查。bug原意本来为昆虫的意思,1947年9月9日,葛丽丝·霍普(Grace Hopper)发现了第一个电脑上的bug。当在Mark II计算机上工作时,整个团队都搞不清楚为什么电脑不能正常运作了。经过大家的深度挖掘,发现原来是一只飞蛾意外飞入了一台电脑内部而引起的故障(如图所示)。原创 2024-11-22 19:35:46 · 962 阅读 · 0 评论 -
C语言教程——数据在内存中的存储
本篇文章开始进行对之前学过的知识进行深入的了解和学习,在之前的基础上补充并且加深记忆,通过代码以及讲解弄懂。一、数据类型的介绍之前的文章也了解过基本的数据类型。已经学过的有以下基本的内置类型:char //字符数据类型short //短整型int //整形long //长整型long long //更长整形。原创 2025-01-08 17:44:47 · 1042 阅读 · 0 评论 -
C语言教程——指针进阶(1)
我们在之前知道指针就是一个变量,用来存放地址,地址唯一标识一块内存空间,指针的大小是固定的,32位平台是4个字节,64位是8个字节,指针还是有类型的,指针的类型决定了指针的+ - 整数的步长,指针解引用操作的时候的权限。指针还是有运算的,指针加减整数,指针减去指针,指针的关系运算,忘了的可以去之前的文章复习一下。C语言教程——指针初阶,接下来学习字符指针,指针数组,&数组名VS数组名,数组指针的使用,数组参数、指针参数,一级指针传参,二级指针传参,函数指针原创 2025-01-09 21:52:15 · 601 阅读 · 0 评论 -
C语言教程——指针进阶(2)
我们接着上一篇的函数指针往下学习。一、函数指针数组1.1函数指针数组写法//字符指针数组//整形指针数组那么我们就可以想一想函数指针数组是否可以呢?第一行 是一个函数指针,我们将my_strlen这个函数的地址赋予给它,当我们想要把前面的函数指针改成函数指针就可以在里面加上数组元素个数,其实就是在这个函数指针后面加上一个方括号再确定元素个数就可以了。我们去掉数组名和元素,剩下的就是一个函数指针,所以就是这个数组里面存放的就是这个函数的地址。原创 2025-01-10 17:01:53 · 867 阅读 · 0 评论 -
C语言教程——字符串和内存函数(1)
本篇文章介绍一系列的用的比较频繁的字符函数和字符串函数内存函数。一、字符串函数介绍这三个函数长度是不受限制的,一直到‘ \0 ’所以会出现不安全的。所以出现了长度受限的函数。strncpystrncatstrncmp各自出现了一个参数,也就是多了一个限定条件。这篇讲了一些函数的用法和注意事项,下一篇接着进行学习。原创 2025-01-15 14:57:09 · 619 阅读 · 0 评论 -
C语言教程——字符串和内存函数(2)
上一篇文章介绍了几种string.h里函数的使用和注意事项,包括它们的模拟函数的编写,用自己的喜欢的方法来编写,正常情况下用库函数里的直接调用就可以,我们今天接着上一篇进行学习,接着讲解函数,之后再学习内存函数和结构体。这里介绍了一些可以对其它类型操作的函数,但也是string.h库函数里的,通过这些函数可以达到意想不到的效果。原创 2025-01-16 17:49:59 · 637 阅读 · 0 评论 -
C语言教程——自定义函数类型(1)
我们前一篇学完字符串类的函数后,这篇开始进行自定义类型的学习。自定义类型主要进行了解和学习的有结构体、枚举、联合。有了结构体类型,那么定义变量就十分简单了。intx;chary[20];}s1;//全局变量//全局变量intmain()//局部变量return0;这里s1和s2就是全局变量,s3是局部变量。通过结构体类型就可以创建变量。我们如何初始化呢?intx;chary[20];原创 2025-01-17 20:46:52 · 1056 阅读 · 0 评论 -
C语言教程——自定义函数类型(2)
我们前面学完了结构体,特殊结构体,以及对结构体的内存的计算方法,接着再进行学习。一、位段位段(bitfield)是一种数据结构,用于将多个相关的位字段(bitfield)打包在一个或多个字节中。在C语言中,可以使用位段来声明位字段。位段的声明方式与结构体类似,但是有两个不同:1.位段的成员必须是int、unsignedint、或signedint。(这里补充一下,经过测试char也基本没有什么问题)2.位段的成员名后面有一个冒号和一个数字(基本都是同类型的放在一个位段类型中)structA{原创 2025-01-19 19:04:57 · 1020 阅读 · 0 评论 -
基于C语言的通讯录实现
学完结构体后,我们可以通过学过的知识自己来制作一个通讯录。我们在学校中难免会接触到什么什么大作业,什么什么系统,这些都大同小异,这里带着大家进行通讯录的实现。一、要实现的功能1.顾名思义,通讯录中要有人的信息,包括:姓名,年龄,性别,地址,电话2.通讯录中可以存放的人很多(这里按照可以放100个来实现)4.增加联系人5.删除指定联系人6.查找指定联系人的信息7.修改指定联系人的信息8.显示所有联系人的信息等等等还可以对名字或者年龄进行排序,后续自己想要加什么功能可以自己加。原创 2025-01-18 22:09:27 · 1036 阅读 · 0 评论 -
C语言教程——动态内存管理
我们前面听过什么动态内存管理,但是为什么要有动态内存管理呢?假设我们申请一个整形空间,它只能申请4个字节,或者申请一块连续的数组空间,一旦申请好了,就不可以修改了,所以有局限性,这时候就可以通过动态内存管理,当我们用的空间不够的时候可以变长,多了的时候可以变小。主要介绍了动态内存分配的函数的使用以及注意事项,记住有申请就一定要释放。原创 2025-01-20 21:15:42 · 754 阅读 · 0 评论 -
C语言教程——动态内存管理(2)
我们之前学了动态内存管理分配函数,也是熟悉了动态内存分配函数,基于动态内存分配我把之前的通讯录做了修改,上传到了gitee上,这篇文章接着学习动态内存管理。一、柔性数组1.1柔性数组的概念柔性数组是一种特殊的数组,它的大小在运行时才确定,可以根据需求动态调整数组的大小。柔性数组(flexible array)这个概念,但是它是确实存在的。C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组的成员。char b;char arr[];原创 2025-01-22 21:10:34 · 637 阅读 · 0 评论 -
C语言教程——文件处理(1)
我们知道电脑上有许许多多的文件,但为什么数据要用文件来储存呢?为什么要使用文件呢?且待我细细道来。一、为什么使用文件我们知道,我们写的程序什么的数据什么的都存在文件中,倘若没有存在文件中,那么它们就存在了电脑的内存中,而且如果程序退出的话,内存就会进行回收,我们的数据就也回收了,也就丢失了,等到程序再次运行,是看不见上次程序的数据的,如果将数据进行持久化的保存,我们就可以使用文件。磁盘(硬盘)上的文件是文件。文件是计算机中的一种数据存储形式,用来存储和组织数据的集合。原创 2025-01-23 20:43:32 · 876 阅读 · 0 评论 -
C语言教程——文件处理(2)
昨天最顺序读写函数了解了四个,今天接着学习。一、顺序读写函数(续)提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2025-01-25 20:24:04 · 1179 阅读 · 0 评论