C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言
https://m.toutiao.com/is/J9Vm2jC/
C语言难不难?这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的一直看不懂了。
但C语言的基础内容真的多吗?回答是:不多。请看下图,C语言可以分为9个块,或者说9个主要知识点;才9个?对的,就是9个。主要是printf输出、变量、scanf输入、数组、逻辑判断、循环、自定义函数、指针以及结构体。
接下来我将讲解各个知识点的简要概括,助各位学习者一同进步。
以下将会在讲解知识点的时候有对应知识点的教程链接,点进去就可以看到文章教程,全部免费,无套路~
先来个教程完整目录
目录
C语言新手的100个报错解法
学习目标
1.知道C语言真不难
一、printf
在学习C语言时,第一个程序一般是HelloWorld;HelloWorld主要是编写一个程序,在程序运行时显示HelloWorld文字;使用的代码就是printf。这是程序的第一步,并没有过多的内容,主要是了解软件的使用,以及尝试第一个程序的编写。
printf教程参考:《零基础看得懂的C语言入门教程》——(三)轻松悟第一个程序
二、变量
变量这一块的知识点主要是介绍如何使用变量,并且告诉你变量有很多类型,其实变量就是指可以存储值的容器。这个非常好理解,例如你在生活中使用的杯子,杯子用来装水,或者是一些液体;装水可以当做容器的值是水,容器是杯子。那我也可以用抽屉装书本,书本就是值,抽屉就是容器。
在编程中也一样,不同的容器对应的是不同掉值;在C语言中,存在几个类型,这些类型规定使用指定的容器去存储;当然也可以不按照常规存储,就像你用一个纸杯装了一个红彤彤的碳一样,高温会把纸杯给融化;除非你是故意要这个效果。
所以变量就是很简单的一个内容。在变量这一节的内容中,还将会学习变量的输出。这个输出值的是,我们在程序运行时将该容器内装的东西显示出来;就像你用一个桶装了你钓鱼钓到的货,你把这个货给大家一起看了。
变量还有一个关键的概念,就是可变。什么是可变?可变就是值你容器内的东西倒出来后还可以装新的东西进去;我装水的杯子我喝完了还可以装别的水进去。但是常量就不一样,常量存储了之后,就不可以改变了,就已经外包装封死了;你只能看见里面装什么,给大家看,但是你还想把里面的东西拿出来装别的东西进去是不可能的。
变量教程参考:
《零基础看得懂的C语言入门教程》——(四)基本数据类型变量
三、scanf
scanf的作用主要是接收用户的输入。什么是接收用户的输入呢?接收用户的输入就是值我们运行程序后,例如需要输入一个密码才可以启动程序;这时就需要我输入一个值,程序将等待我进行值的输入;输入完毕后程序接收到这个值,判断是否正确。要完成这个操作,在C语言程序中就需要使用scanf。
scanf主要有几个知识点,最为主要的知识点则是知道变量的地址。一般情况下,我们输入一个值将需要一个变量进行接收;这句话我们可以理解成,输入一个值,我们需要一个变量对这个值进行存储。但是要完成这个操作需要知道这个变量的地址,得到地址后我们就会将这个值存到这个变量中。每个变量在内存中会有一个地址对应,就像你住的地方一样,有一个标记,给予这个标记给scanf后就可以将值存储到那个变量中。
四、数组
数组主要是理解数组结构是如何存储的。数组是用来存储一堆数值的容器,跟单个的变量所存储的内容不一样,数组可以存储多个。例如我们需要存储同一类数据的多个值就可以使用数组。数组的存储结构跟一个抽屉一样,每个抽屉都装了一个值,例如第1排第1个,第1排第二个,理解了就及其简单。
二维数组呢其实跟一般的数组一致,就是有了第2排,有了第3排等。所以你既然能够理解抽屉,那么数组一定可以理解。
其中索引指的就是第几个,第几排的这个几,这个数字指的是一个量词对位置的标记;数组的存取就是指对这些抽屉进行查看,和重新放一些东西进去,就那么简单。
数组教程参考:
《零基础看得懂的C语言入门教程》——(八)基本数组真简单
五、逻辑判断
逻辑判断其实就是对一些数值进行判断,例如刚刚说的,这个程序每次打开需要输入一个值,判断这个值是否是打开的密码,如果输入错误就退出程序。
那么进行判断就需要使用if或者switch。if和switch都是同样的作用,懂其一则都懂,只是使用格式的不同而已。例如我们打开程序,输入了1234,密码是123456;输入的值存到了一个容器中,这个容器我们给它一个名字,或者说给了标记,叫做A;那我们只需要判断A是否等于123456就可以了。这就是逻辑判断的作用。
逻辑判断也可以进行“套娃”,也就是判断是否正确后再进行判断,也可以同时判断多个条件。例如当前的密码知道能够被2除断,没有余数就正确,但是不能等于2;这个时候就需要使用逻辑判断运算符,只要把想判断的内容放到逻辑判断符的左右两边,就可以完成了。
逻辑判断教程参考:
《零基础看得懂的C语言入门教程》——(六)轻松了解逻辑运算
六、循环
循环是为了重复运行一些代码而设计的。主要使用的逻辑为,给予循环你要循环的次数,给予循环的代码,最后给予一个循环的控制变量;循环的控制变量作用顾名思义,用来控制循环次数;我们设置一个容器,里面装了一个数字0,每次循环就加1;例如最开始这个容器的数字是0,循环1次后我们加个1,这是容器装的值就是1了,每次加1则每次递增;那么这个时候我们给予的次数是10,每次循环只要判断这个循环控制变量是否大于10,就可以控制循环的次数了。
for循环、while循环以及do…while循环都是一样的用法,通过循环变量控制循环次数。循环是可以嵌套的,例如循环嵌套指的就是一个循环里面有另外一个循环,每次外面的循环循环1次,里面则循环指定的次数。
当我们需要重复设置我们的数组存储的值,使用循环特别方便。例如你需要在一个大规则的每个抽屉都需要放一个值,使用循环分分钟解决。
循环教程参考:
七、自定义函数
自定义函数指的是你可以自己创建一个工具包。例如洗衣机是一个有功能的工具,它是用来洗衣服的,每次使用洗衣机把衣服扔进去就可以自动帮你完成任务。自定义函数也一样,实现一个功能后直接拿过来使用就可以了。
洗衣机功能是洗衣服,但是必须要有衣服才可以洗,衣服就是参数;洗衣机洗完衣服后给你的是干净的衣服,那么干净的衣服就是返回值;就是整个功能的结果。
自定义函数参考:
八、指针
指针其实就是一个代理人,你可以通过这个代理人访问一些变量,或者对这些变量进行直接的操作,你就是他们的主人;但是在使用指针的时候你必须知道你要操作的东西的地址,不然从何操作;多重指针呢就是你的全权代理人跟另外一个人搭伙,你可以操作另外一个人的代理。
那为什么说指针危险呢?那是因为你的代理人保留着上一任主人的数据,你直接让他去操作一些东西,他会把上一任主人保留的数据拿去操作,这样你操作了不属于你的东西,这就被警告了。所以要使用指针时记得把上一任主人的数据给丢掉,并且用完这个指针工具人后,让它把所有数据都扔掉。
指针教程参考:
《零基础看得懂的C语言入门教程》——(十)指针原来是这样
九、结构体
结构体我们可以当做是一种类型的组合。例如你使用变量去存储一个人的名字、年龄,需要新建2个变量;例如你又要存储一个人的名字、年龄就需要再新建2个变量;真太麻烦。这时使用结构体,结构体就像一个大容器,跟数组不一样,结构体可以给自己存的值给个变量存储,数组直接就是个变量,结构体包含着其它的变量。我们新建一个结构体叫做“人”,这个人结构体我们在内部新建2个变量,一个是名字、一个是年龄,这时只需要创建这个结构体,那我们就可以直接拥有2个变量,简单方便。
结构体教程参考:
《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事
总结
了解概念后,学习将不会有太大难度,主要是认识使用的语法规则即可。