
从0开始学c语言
文章平均质量分 94
阿秋的阿秋不是阿秋
注:考研去了,上岸后会继续更新。一个从0开始学习的小笨蛋,喜欢写文章便开始更新了起来
展开
-
从0开始学c语言-终篇41-练习、学习分享
宏和#define的练习以及学习心得和书籍分析,这个专栏终于更新完毕,今后会继续努力学习。原创 2022-10-09 17:33:07 · 530 阅读 · 0 评论 -
从0开始学c语言-40-预处理详解
最后一篇学习了,之后再写个作业篇的,我们的c语言就算过了一遍,后续在总结篇会更加精进。有时间会更新一些读书心得,或者开辟新专栏。原创 2022-10-08 18:11:36 · 384 阅读 · 0 评论 -
从0开始学c语言-39-程序环境(翻译环境和执行环境的简单介绍)
从源文件变到可执行程序,经过两步:编译、链接。分为三步,预处理、编译、汇编预处理:1·会产生一个没有头文件(都已经被展开了)2·宏定义(都已经替换了),没有条件编译指令(该屏蔽的都屏蔽掉了)3·没有特殊符号的输出文件,删掉注释编译是针对单个文件编译的,只校验本文件的语法是否有问题,不负责寻找实体。1·产生了汇编代码。2·词法分析、语法分析、语义分析及优化后3·产生相应的汇编代码文件(符号汇总)。把汇编代码转换成机器指令(二进制指令),生成符号表(目标文件.o)。原创 2022-10-07 11:57:03 · 675 阅读 · 0 评论 -
从0开始学c语言-38-题目练习
一些题目练习,思路简单阐述。原创 2022-10-06 18:04:50 · 505 阅读 · 0 评论 -
从0开始学c语言-37-文件随机读写、文本文件和二进制文件、判定文件结束、文件缓冲区
接续上一篇,文件随机读写、文本文件和二进制文件的区别、判定文件结束的函数学习、文件缓冲区的认识原创 2022-10-05 17:29:38 · 565 阅读 · 0 评论 -
从0开始学c语言-36-C语言文件(1)文件打开关闭和输入输出
C语言文件(1)文件打开关闭和输入输出,重点介绍了各种输入输出函数的用法。原创 2022-10-04 16:27:29 · 338 阅读 · 0 评论 -
从0开始学c语言-35-柔性数组
柔性数组简单介绍。原创 2022-10-03 11:30:03 · 468 阅读 · 0 评论 -
从0开始学c语言 - 34 - 通讯录 -静态、动态、存到文件(三种版本)
三个版本的通讯录,附带链接。原创 2022-09-30 12:38:46 · 1592 阅读 · 0 评论 -
从0开始学c语言-33-动态内存管理
放个喜欢的图,哈哈哈,内容很长,主要是写给我自己复习看的。原创 2022-09-29 17:48:18 · 1588 阅读 · 0 评论 -
从0开始学c语言-32-自定义类型:结构体,枚举,联合
自定义类型:结构体,枚举,联合原创 2022-09-28 13:47:21 · 1453 阅读 · 1 评论 -
从0开始学c语言-31-关于字符串的各种函数+内存函数+字符串旋转判断
字符串函数和内存函数的学习以及应用。原创 2022-09-27 14:18:42 · 1696 阅读 · 0 评论 -
从0开始学c语言-30- 指针不练习?还真觉得自己会了~
char***是指向char**数据的指针,此时的cp是指向首元素c+3这个char**的char***指针,把cp的地址交给cpp,也就代表cpp和cp一样,是指向首元素c+3这个char**的char***指针,也就是存放了c+3这个char**的地址。aa是int[2][5]数组,在作为指针运用的时候是一个int[5]*指针,指向第一行的一维int[5]数组,+1的步长就是指向第二行的一维数组int[5],加上*解引用代表访问这个数组,那么也就相当于aa[1]。(指向谁,存放谁的地址)原创 2022-09-26 11:02:01 · 936 阅读 · 0 评论 -
从0开始学c语言-29-数据储存练习、筑基期练习、两步翻转
然后考虑怎么逆序每个单词,要知道的是我们是用空格来划分单词的,那就很重要了。利用好空格,来使用reverse函数就可以实现了。在写逆序每个单词函数的时候,我发现上面的reverse函数不太好用了,得每次确定长度,确定长度还得自己想想该怎么设才正好,不如弄两个指针来作为reverse函数的参数方便。reverse函数就改写成这样了。原创 2022-09-25 09:00:38 · 443 阅读 · 0 评论 -
从0开始学c语言-28-qsort函数、 数组和指针参数、函数指针数组(转移表)、回调函数
cmp_age函数的返回类型和函数参数类型都没变化,和我们上面写的不太一样的地方是,访问两个元素的方式不太一样了,因为我们是结构体元素的比较,便需要转换为结构体指针来访问结构体成员并且比较。原创 2022-09-24 12:30:00 · 738 阅读 · 0 评论 -
从0开始学c语言-27-字符指针,指针数组和数组指针
关于指针和数组的学习理解。原创 2022-09-22 16:07:18 · 270 阅读 · 0 评论 -
从0开始学c语言-26-操作符练习、指针练习、调试作业
一些练习原创 2022-09-21 20:36:35 · 984 阅读 · 0 评论 -
从0开始学c语言-25-浮点型在内存中的存储
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。浮点数的指数E等于1-127= -126(或者1-1023= -1022)即为真实值,有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。这样做是为了表示±0,以及接近于0的很小的数字。原创 2022-09-21 15:21:32 · 682 阅读 · 0 评论 -
从0开始学c语言-24- 剖析数据在内存中的存储(整型在内存中的储存和练习)、char的取值范围、大端小端储存
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。1.数据类型详细介绍数据类型详细的在上面那个文章里char//字符数据类型short2//短整型int//整形long//长整型long long8//更长的整形float//单精度浮点数double8//双精度浮点数上面的数字代表类型的大小,单位是字节。1.原创 2022-09-20 11:45:58 · 772 阅读 · 0 评论 -
从0开始学c语言-23-如何写出好(易于调试)的代码、模拟实现库函数:strcpy、strlen 、编程常见错误
const修饰指针变量的时候,放在*左边,修饰的是*p,*p表示指针指向的内容,也就是说不能通过*p来改变指针指向的内容了,但是指针变量p可以改变。放在*右边,修饰的是指针变量p,指针变量存储的地址不能被改变,但是*p(指针指向的内容)可以改变。可以都放const//*左边*p=20;//errp=&n;//ok//*右边*p=20;//okp=&n;//err《高质量C/C++编程》一书中最后章节试卷中有关 strcpy 模拟实现的题目。有了上面的书写思路,我们试试。原创 2022-09-19 14:08:17 · 670 阅读 · 0 评论 -
从0开始学c语言-22-结构体声明和初始化、结构体大小、结构体成员访问、结构体传参
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。代码代码就是这样子,这是声明结构体的时候,同时定义了名为的结构体变量,也是全局变量。struct tag{//成员变量//结构体变量,也是全局变量比如用结构体描述一个学生{//名字int age;//年龄//性别//学号}Stu;//分号不能丢struct Point //声明类型{int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2初始化:定义变量的同时赋初值。原创 2022-09-18 10:31:20 · 1356 阅读 · 0 评论 -
从0开始学c语言-21-指针和数组、二级指针、指针数组
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。接下来的阅读若有不懂的地方,那一定是之前的没学好,这里先给上链接。指针相关内容。原创 2022-09-17 10:54:31 · 452 阅读 · 0 评论 -
从0开始学c语言-20-指针与地址、指针类型、野指针、指针运算
归根结底,指针就是一个存放地址的变量,本质上指针是个地址变量。指针就是有指向性的地址,地址在运用的时候便有了指向性,变为指针。再或者说,因为地址需要一个变量来保存或者表示,所以便出现了指针。存放在指针中的值都被当成地址处理。指针是用来存放地址的,地址是唯一标示一块地址空间的。指针的大小在32位平台是4个字节,在64位平台是8个字节。原创 2022-09-16 17:44:35 · 877 阅读 · 0 评论 -
从0开始学c语言-19-隐式类型转换(整型提升)、算术转换、操作符属性及应用练习
我们写出的表达式如果不能通过操作符的属性确定唯一的计算路径,那这个表达式就是存在问题的。原创 2022-09-15 15:03:52 · 761 阅读 · 1 评论 -
从0开始学c语言-18-操作符详解
现在我改动一下表达式可以看到如果一开始为真,那么便不再计算后面的。8·条件操作符(三母操作符)exp1?exp2 : exp3 exp1是判断条件,为真执行exp2,为假执行exp3exp就是表达式的意思。9·逗号表达式。原创 2022-09-14 16:35:17 · 1410 阅读 · 1 评论 -
从0开始学c语言-过渡-函数递归、循环语句、数组练习
观察出来奇数项为正数,偶数项为负数,且需要打印的是分数,那么就是需要输出小数结果,在进行除法运算的时候需要记得。计算1/1-1/2+1/3-1/4+1/5 ……2. 使用max存储数组中的最大值,采用循环的方式依次获取数组中的每个元素与max进行比较,循环一直继续,直到所有的数据检测完,所有9的个数已经统计在count计数中。数组循环结束后,max中保存的即为数组中的最大值。,检测个位数据是否为9,如果是,给计数器加1。,检测十位数据是否是9,如果是,给计数器加1。1. 采用循环的方式输入一个数组。原创 2022-09-13 18:11:54 · 414 阅读 · 0 评论 -
从0开始学c语言-17-二维数组以及数组传参应用:三字棋
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。三个文件分别写需要的代码,主要想清楚棋盘如何打印,以及棋盘和二维数组的关系。理清楚玩家输入数字和数组下标关系,思考电脑怎么下棋(提示随机数设置)。看好注释里是什么。原创 2022-09-13 15:47:39 · 1276 阅读 · 0 评论 -
从0开始学c语言-16-数组以及数组传参应用:冒泡排序
现在我们有这样一个数组,想要让数组中储存的元素按照从小到大的顺序排列。该怎么弄呢?你想让大的数字排到最后,那么就需要这个数字和所有数字进行比较,才能确定这个数字是最大的。我们先让数组中的前两个数字进行比较,如果arr[0]>arr[1],那么我们就把数组中的这两个元素进行交换。画图来说,就像这样。从图中可以看到,我们把9移到最后共进行了9次比较,我们把两两数字之间的比较叫做冒泡,等能比较的数字都比较完了,这叫做一趟。第二趟又是什么样呢?原创 2022-09-12 21:22:46 · 632 阅读 · 0 评论 -
从0开始学c语言-15-数组作为函数参数的地址、值与类型变化深度解析
数组名是首元素的地址有两个例外:数组名会代表整个数组1、sizeof(数组名) 中的数组名代表整个数组,计算的是整个数组的大小,单位是字节(函数调用中的sizeof(数组名)中的数组名只包含首元素的大小)2、&数组名 中的数组名代表整个数组,取出整个数组的地址原创 2022-09-11 14:00:56 · 1296 阅读 · 0 评论 -
从0开始学c语言-15-一维数组与二维数组的创建、初始化以及在内存中的储存、数组越界和数组作为函数参数
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。二维数组在内存中的地址是连续的,换行也是连续的,这就是为什么列不能省略,因为它需要知道这一行有几个元素,才能分行。既然二维数组的地址是连续的,那么我们还可以这样访问数组。原创 2022-09-10 17:18:26 · 754 阅读 · 1 评论 -
从0开始学c语言-14-关于(3)函数递归、递归与迭代、栈溢出、练习求第n个斐波那契数、用递归思想求字符串的长度
代码是这样的,不需要运行,调试看数组和函数参数关系就好。{*s++;s++;return 1;}int main(){//数组本身就是地址,不需要&bbc(qiu);return 0;}从上图我们可以看到qiu数组中有6个元素,qiu[0]代表数组的首元素。可以看到,上图中的s是传过去的qiu数组的首元素地址。s++可以得到下一个元素的地址,并且首元素变为s++所对应的那个元素。*s代表的是元素,不包含地址。*(s+1)可以得到下一个元素。原创 2022-09-09 19:23:07 · 567 阅读 · 1 评论 -
从0开始学c语言-14-关于(2)函数的嵌套调用和链式访问、函数的声明和定义、静态库
告诉编译器这个函数叫什么,参数是什么,返回类型是什么。但是函数声明决定不了这个函数是不是存在的。(因为存在的函数需要定义)-函数的声明一般出现在函数的使用之前。要满足先声明后使用。-函数的声明一般要放在头文件中的注意函数的声明和变量声明的区别,函数直接写好需要声明的,变量需要则extren开头。是指函数具体怎么实现的。3·代码演示第一步,建立好函数对应的头文件和源文件。第二步,在头文件中进行函数声明。第三步,在源文件中进行函数定义。第四步,在需要运用的源文件中先声明后使用。下面进行图示意。原创 2022-09-08 21:00:58 · 420 阅读 · 0 评论 -
从0开始学c语言-14-关于(1)函数定义、函数分类、函数参数、函数调用以及函数练习
但是库函数不能干所有事,所以有更加重要的自定义函数。自定义函数和库函数一样,有函数名,返回值类型和函数参数,不一样的是这些都需要我们自己来设计。重点搞懂函数的参数和调用,然后独立敲出来练习题的代码就算可以了。原创 2022-09-07 18:23:27 · 1004 阅读 · 0 评论 -
从0开始学c语言-13-打印闰年、素数、goto语句、关机程序
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语言有九种控制语句,可以分为以下三类:1. 条件判断语句也叫分支语句: if 语句、 switch 语句;2. 循环执行语句: do while 语句、 while 语句、 for 语句;3. 转向语句: break 语句、原创 2022-09-06 17:14:37 · 691 阅读 · 0 评论 -
从0开始学c语言-过渡-练习之猜随机数字游戏、求最大公约数
rand函数返回一个0到rand-max范围(0-32767)内的伪随机整数。在调用rand之前,使用srand函数为伪随机数生成器设置起点。使用时间戳,把计算机初始时间和现在的时间之间的差值换算成以秒为单位的数字,time函数是有自己的参数的,不过我们不用,给了个空值。这语句的位置是在循环之外的。余数总是比被除数小,所以当被除数是100时,余数的范围是0-99,加1就是1-100。do……while语句中的while(表达式);,如果表达式在do语句里定义,那这个语句没办法正常运行。原创 2022-09-05 16:30:28 · 1406 阅读 · 1 评论 -
从0开始学c语言-12-循环执行语句(3)do……while()语句+练习
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语 言有九种控制语句,可以分为以下三类:1. 条件判断语句也叫分支语句: if 语句、 switch 语句;3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句。这语句的特点就是至少执行一次,是先执行后判断是否循环的。原创 2022-09-04 20:41:06 · 832 阅读 · 0 评论 -
从0开始学c语言-12-循环执行语句(2)for语句
for语句跳出循环的调整部分不会受到continue位置的影响,while语句的continue如果在调整部分之前,循环会无法跳出导致死循环。但是while语句和for语句的break倒是没有什么区别的,都是直接跳出循环了。原创 2022-09-03 20:30:40 · 768 阅读 · 0 评论 -
从0开始学c语言-12-循环执行语句(1)while语句、getchar、putchar、缓冲区
1.while循环语句中的break是用于永久终止循环的。2.while循环语句中continue跳过本次循环它之后的语句,来到while语句的表达式部分,判断是否进行下一次循环。是指从键盘(也就是标准输入)获取一个字符,返回类型是int类型,正确读取返回的是读取到字符的ASCII码值,读取错误或者读取结束会返回EOF。简单点就是说打印从键盘获取的一个字符。EOF是文件的结束标志 end of file,代码中敲出EOF 右击选中转到定义,它的意思代表-1。putchar()输出一个字符。原创 2022-09-02 15:34:20 · 1044 阅读 · 0 评论 -
从0开始学c语言-11-if分支语句、switch分支语句
1.由一个分号隔开的就是一个语句如果表达式为真就执行语句,为假就不执行。2.else和离他最近的if语句进行匹配3.return 语句可以有多个,可以出现在函数体的任意位置,但是每次调用函数只能有一个 return 语句被执行,所以只有一个返回值。4.break结束离他最近的switch。它的实际效果是把语句列表划分为不同的分支部分。5.每个switch语句中只能出现一条default子句。但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default。...原创 2022-09-01 13:35:30 · 832 阅读 · 1 评论 -
从0开始学c语言-10-结构体以及一些作业
本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。宝子们,学完这一章我会做个总结篇章,咱们初学者算是粗略地把一些东西给认识了一下,在总结篇章后我们会继续学习指针和结构体等知识点。.........原创 2022-08-30 10:25:48 · 515 阅读 · 0 评论 -
从0开始学c语言-09-指针及指针大小、*、&、地址
主要从内存储存方面进行了指针的阐述,后续会一步步深入讲解。原创 2022-08-29 11:32:40 · 571 阅读 · 1 评论