发表时间:2022-03-24来源:网络
相信很多同学在学习C语言都会碰到这样那样的难题,刚入门没方向没思路是很正常的事,所以今天整理了一篇我C语言的学习之路,有困惑的同学们来看看我的经历吧…
我非计科专业,2011年毕业于电气工程专业,当时觉得这个专业没“钱”途,也不适合我,就计划着转行。那个时候也很焦虑和迷茫,白白浪费几年时间,最后又得重来,真是造孽,年纪轻轻就开始感叹人生真特么的坎坷。
焦虑和迷茫了一个多月,除生活变得更糟,别无变化。心里也焦急,再这么下去就废了。
出于我性格比较内向,可能比较适合做个程序员。加上自己从小家里就有电脑,初中把各种游戏玩的很溜,像CS、泡泡堂、传奇之类的,也自己租服务器开过传奇sf,给自己刷了一套终极装备去虐普通玩家。

虽然有一些优势加持,但实不相瞒我最看重的还是程序员工资真香。刚出学校出来,思维也没现在成熟,学习也盲目,工作多年才知道要根据职位需求去规划学习路径。
下面是我建的一个C语言学习群,很多有经验的大佬在群里指导学习,分享学习经验个方法,会根据你的职业需求给你提供适合你的学习路线,能让你少走很多弯路,而且还有很多志同道合的小伙伴在群里交流分享,大量学习资料都能免费领取,学习氛围相当不错!

我第一次是学习的Java,先自学了Java se基本语法,又学了oracle。学完了感觉还是啥都不懂,跟着视频教程写了个坦克大战游戏,还发给朋友炫耀一番,其实low的一批。
脱离教程,似乎一切都归零了...…时间已经不知道过去了多久,反正至少按月计算。我又开始陷入那该死的迷茫期,这水平能找得到工作吗?
后面又深入研究了职业方向,发现学完Java se只是刚刚开始,只是基础。想达到就业程度可能要需要从2个方向选择:Java me和Java ee。

一个做手机应用,一个做Web和企业级应用,具体是不是我也不是很懂,因为后面我没继续学了,感觉学完都要退休了,看来高薪也不是这么好拿的。
再次陷入迷茫期,我都想着要不要先进厂拧螺丝维持生活,积累点工作经验。
如果你现在面临这个阶段,我建议是千万不要!一进去人基本就废了,人一但稳定下来,就很难折腾得起来。
如果实在没钱吃饭了,就先找个清闲的工作,哪怕是当保安也比进厂打螺丝强,保安起码时间多啊,可以利用空闲时间学习。进厂跟机器人没区别了,无情地被厂长压榨,不可能让你停下来。
后面,我无意间接触到单片机,这个简单,编程语言只需要学习C语言。关键这玩意对你学习成果反馈也很快,几个小时就能让你做个看得见摸得着的流水灯,也比纯粹的写代码有趣多了。
我就是从那时候开始接触的C语言,直到找到工作以后,我的C语言都是浑水摸鱼的水平。现在11年过去了,我的水平也增长明显,自己写过架构、实现过队列、链表之类的数据结构。


我对自己的要求就是,既然我做单片机开发,基于单片机产品的程序我能独立做出来就够了。
现在做到了,不跟那些大佬比了,躺平了,承认自己平凡挺好。
下面是我近期整理的一套系统化学习资料,帮助还没有学习方向的同学能尽快清楚自己学什么,怎么学,详细的教程讲解能帮助基础较差的同学也能轻松跟上学习进度,掌握C语言的基础和重难点知识,还能搭配其中的源码笔记、电子书籍一起学习,所学知识能及时得到巩固!



回顾我的成长历程,估计可以写一本书,毕竟我输出的经验都已经超过10万字了。下面,我针对今天的主题,做一个总结。
C语言编程水平提升,你必须会经历的几个阶段:
1、新手期
就是你刚接触c语言,学会了基本的语法但你会发现什么项目都做不出来。可能只会一些简单的,比如排序算法,各种printf,单片机各种外设使用。但是把代码整合在一起,实现项目功能逻辑就一脸懵逼。
这个时候,你就会进入一个新手瓶颈期。这个时期你会特别敏感,会质疑自己哪里没学好,是不是基础太差。
你可能会选择重新去把C语言过一遍,像翻女友旧史一样去查阅市面上一些C语言教程。还有一种可能,就是你觉得自己不适合学编程,最终放弃了。
我当初学Java就是第二种,学完啥都做不出来然后放弃了,其实跟基础没太大关系,没必要再重头学一遍C语言语法,学完你会发现还是一样。
其实你现在最缺的是两样东西:编程思维和编程水平。
编程思维决定你是否有实现功能的思路,编程水平决定你能否用代码实现这个思路。
这两个东西只能不断通过项目去培养,就像你刚学会写字,不可能马上就会写作文对吧?
所以这时候平时的项目练习就不能少了,下面是整理的一套各种经典实战项目练习资料,帮助同学们在练习的同时培养自己的编程思维和编程水平,将自己的所学知识得到及时巩固,快速提升C语言技能!

2、破茧期
如果你想通了,就能顺利到达这个阶段。
这个阶段最好的方法就是找各种项目来做,不通过项目你的编程水平永远也提升不了。前面也不追求项目代码能写多好了,能实现功能就可以了。
拿单片机开发来举例,这个阶段不用再买开发板了,要买就买项目,某宝有很多DIY的可以买来练手。
开发板和项目都是电路板,区别就是开发板引出单片机所有外设,你漫无目的地整吧...项目是有特定的产品功能,你学习更有目的性。
这个阶段对自己要求也不要太高,不需要纠结代码写得好不好,主要以实现功能为主。
3、破茧瓶颈期
等你有60%的项目都能独立写程序做出来以后,你会再次进入一个瓶颈期。
我经历这个阶段是在工作了2-3年左右,当时有点飘了,感觉自己什么项目的代码都不怕了。但是有一个问题,就是总是感觉自己的代码乱七八糟的,不够专业。

虽然我当时还不知道好的代码应该是怎么样的,毕竟没接触过。用我现在的理解,代码写得好不好主要体现在两方面:架构和算法。
架构相当于你程序的”地基”,架构不好,会影响你代码的稳定性、功能可扩展性、代码在不同平台(芯片)的兼容性。
算法就是你去实现某种功能的方法,很多算法都是先用数学公式计算好,再用代码去实现,算法越好,执行效率越高。
如果没人跟你说,现阶段的你根本领悟不到这两点。
我当时就是碰到这个瓶颈,但不知道怎么去提高。只是用了一些花里胡哨的方法,让我的代码看起来更专业,比如说明明可以不用指针,我用了,只因为指针看起来更复杂。
为帮助大家避免走上我走过的这些弯路,下面的学习群真的非常推荐大家加入,学习中遇到问题都能请教群里的技术大佬,他们都会热情帮你指导方向,提供解题思路,还会分享他们自己的经验提供给你帮助,大量学习资料都能免费领取,节省大家学习成本的同时还能让学习更加系统!


4、快速提升期
如果有个牛逼的工程师带你做一些中大型项目,就能迅速突破。
不过不是每个人都有这种机遇,比如说我就没有,所以我在这个阶段停留了几年的时间。
做小项目还没用,必须得接触中大型项目。只有经历过中大型项目,你才能深刻理解程序架构的重要性,理解指针的奥妙等等你能学到的东西太多了。
项目有自己写的小系统,无线传感器组网功能,有菜单功能、可以通过APP控制主机状态,有防盗报警功能等等。重点培养功能实现思路,锻炼编程水平,用C语言高级语法解决实际产品开发的痛点。
5、架构师
这个阶段你的水平其实已经很不错了,除了编程水平,更多是在思维上的提升。比如说模块化思维,面向对象编程思维。
你可以自己写一些程序架构,不一定要从头到尾自己写,还是会有难度。一般都是先模仿别人的架构,然后再超越,哪怕是顶尖的都是这样过来的。
类似的程序架构有很多,拿单片机开发来说,RTOS、蓝牙协议栈、STM32固件库等等都是可以的。
那么今天的经验分享就到这儿结束了,不知不觉又肝了三千多字,这篇文章,也更像是我的回忆录,希望能帮助到大家,更多详细内容可以前往我主业了解,很多干货分享,肯定会对你有所帮助!
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14