C语言这么难,为何大家都如飞蛾扑火般学习?现在带你揭秘

很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个程序员,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。

为什么C语言如此重要呢?第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,没有一个例外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?俗话说的好工欲善其事,必先利其器,这里介绍几个学习C语言必备的东东:一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用vs这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。

学习计算机语言最好的方法是什么?读程序!!!!! 没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。

“作为一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线,学习材料和工具。C/C++、编程爱好者的聚集地!欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。工作需要、感兴趣、为了入行、转行需要学习C/C++的伙伴可以跟我一起学习!”

最后分享一张C/C++学习路线图给爱学习的小伙伴们

编程小白们,别再去啃谭浩强的C语言了,有人这样学一个月入门

学编程,多少人一上来就拿着谭浩强C语言这本书开始啃,然而啃着啃着发现不仅难学,而且学了还不知道能干嘛?

于是很多人就在这本书上重复:学习-放弃-重新捡起-放弃-重新捡起-放弃,最终得出结论:编程太难学了,开始怀疑自己的天赋和智商;

每次别人给我说这句话的时候,我都是一脸问号脸???

那为什么有的人一个月就能上手做项目呢?是天赋的差距吗?是智商的差距吗?

不,都不是!学不会那是因为你根本就是在瞎学。

你知道编程是分语言的吗?你知道C语言是最难学也是最难有成就感的语言吗?你知道每门语言都有自己独特擅长的领域吗?你知道做一个网页需要具备哪些知识吗?知道该按怎么样的路线去学习,上手更快吗?

自学编程,最忌讳的就是盲目,靠着自己外行的那点见识,一上来就学C语言;小编就吃过这个亏,自学了一年C语言,最后啥都不能干。后来有人带我学习C#,很快,一个月我就能上手开发桌面程序了(当然这里有C语言给我打下的一些基础的功劳,但是谭老师那本书学起来真的看不到头,没有成就感,很容易受挫而放弃);

从自学转行到现在已经过去几年了,这期间,一个人摸索,小编走过很多弯路,吃过很多亏,白学了很多知识,浪费了很多时间;

小编将自己自学编程的一些经验和这些年对编程的理解都写在自己的专栏里,在这里你能知道自己该按怎么样一个路线去学习,该学哪些不该学哪些,了解编程语法的原理,掌握语法的核心。

本文后半段,就给大家介绍一下,作为一个小白应该按照什么步骤学习才能快速入门?

说这句话的时候我没有任何对谭老师的不敬,书是十分经典的好书,即使码代码这么多年,每次翻看仍然会有不一样的收获;

但是,它真的不适合作为一个新手编程入门的书籍(需从事C/C++工作的例外),作为编程知识体系的书籍倒是极好的;

有的朋友可能就是单纯对做网页页面感兴趣,他拿个C语言死啃,指针绕的头都大了,你说他这是干啥?学的是很辛苦,可到头来离自己目标依旧遥远,倍感受挫。方向不对,一切都是徒劳;

很多初学编程的同学就是倒在这本书上的,经历学习->放弃->重新捡起->放弃->重新捡起->放弃这样痛苦的过程;

1、首先,学习编程前,你得去了解当前IT界都有哪些应用领域,以及各领域的流行程度。说白了,也就是搞明白学了编程你想干嘛?是开发一个网站?还是做一个爬虫爬一些福利妹子图片?亦或是做一个小程序?让学习变得有目的;

如果说,你是想做一个网页,你一上来就就拿着C语言啃,啃完你会发现页面仍然写不出来,而人家却只学习一周就能写出漂亮的页面;

每个细分的领域都有最适合最受欢迎的编程语言:

2、有了目标后,你需要去了解要进入该领域,需要具备哪些知识(也叫技术栈),规划好一条清晰的学习路线;

在我的专栏里,我以流程图的方式,按四个阶段为大家指定了清晰详细的学习计划,见下图:

3、在对自己感兴趣的领域有了整体的认识后,就是开始进入学习阶段;首先选择一门技术栈中最合适的语言,学会其基础语法;如Python你就学Python的书籍,Java就学Java的书籍,不要直接去啃C语言这个硬骨头;

编程语言对于初接触者是一个全新的东西,前期肯定会不适应,学的比较吃力,可能会有些语法点学的模棱两可。那是因为,很多的书籍都是强行灌输语法,很少讲原理,此时你需要的是一个人能给你把陌生的、复杂的语法用最简单易懂的语言从原理上分析给你听(市面上很少有这类书籍),这样你就能很快的掌握;

4、学习基础语法需要多练习,特别是程序结构设计(选择、分支、循环、迭代)需要熟练掌握。然后就是开始学习项目框架,比如Java做网站的spring框架、Python爬虫的Scrapy、PySpider等;框架都是支持自己的编程语言,通过框架我们可以很轻松的构建自己的项目;

以Java的spring框架为例:

5、基于框架,通过实战项目来练手,这样在项目过程中持续学习,技能提升和知识扩充是最高效的;

我是如何自学C语言的?来自一个菜鸟的学习路!希望诸位同仁共勉

首先,本人也是一个菜鸟,目前依然还在学习,当初在我开始自学C语言的时候,走过了好多弯路,如果你看到这篇文章,希望你不要走我走过的弯路,这也是我写这篇文章的目的,我也不想像老头子一样叨叨叨,哪些要做,哪些不要做,好像自己很牛逼一样。我只是把自己觉得是坑,是弯路的地方,结合自己的看法,复述给你听,希望你有自己的理解。

1. 不停的换教程,我总觉得自己正在学的教程没有把我给讲懂,就认为这教程不行,后来慢慢的深入了之后才发现,教程大体上都是差不多的,并不是教程讲的不好,而是本来应该自己花时间去思考的东西,认为应该是由老师来讲的,所以即使再好的教程,我也觉得不怎么样。还有书,入门的书我买了好几本,到最后真正看的只有一本,就是谭浩强的那本。虽然这本评价不是很高,但是确实是这本书带我入门的。当然也不排除特别差的教程,我当初的入门教程是B站UP,叫做C语言_Plus的,书是谭浩强的《C语言程序设计》。当初自己就应该学完一本书和一套教程,换了那么多书和教程,实在是浪费时间,现在想想,挺后悔的。

2. 下载各式各样的教程,我看见名字牛哄哄的教程就会把它保存到百度云盘里,然后下载到电脑上,典型的教程收集狂,我的电脑硬盘几乎是满的!我电脑里有800G左右的视频教程,每天看着这些个教程,就好像看着满大箱的金元宝,感觉自己好有钱,像 渗透测试,WEB安全,逆向破解看着就叫人热血沸腾,哪里还有兴趣学C语言,恨不得直接上 渗透测试。当然,这是不可能的,万丈高楼平地起,C语言都没学会,谈何这些呢?这些电脑里的教程,让我越来越浮躁!一天我不知哪里来的想法,把电脑里这个阶段没学到的“高深教程”全都给删除了,顿时感觉世界都清净了!专心学基础的,接下来的这段时间,我专心了不少,这些教程给了我莫大的学习计算机的动力,也耗费了不少精力,去胡思乱想,万丈高楼平地起,专注很重要!(对于我保存的一些教程,我拥有的也可以分享给大家,有兴趣的小伙伴可以领取的)

3. 不动手,只用眼睛看,我刚开始学的时候,觉得教程讲的我都听得懂,干嘛还要敲一遍代码?然后到自己写作业的时候,就是各种出错,天花乱坠的错误!!!输入法错了啊,关键字打错了啊,少一个括号啊!崩溃!然后我再也不敢怠慢了,该自己敲一遍的代码,就自己好好打一遍。还是会出错,各式各样的错误,很!过了两个星期左右,我就明显的感觉自己的错误变少,思路也更清晰了!到最后要学完的时候,有一个作业是做一个简易通讯录的程序,一百多行的代码,我敲完顺利编译运行!没有错误,如果我一直偷懒不动手,是不可能达到的。现在想想,编程也是一个不断试错的过程,一开始学的时候,是不断纠正自己的错误,因为开始的程序都是简单的。到后来,程序越来越复杂了,就是找程序的错误,如果自己的错误都没有解决,何谈后面解决程序的错误呢?

4. 一开始我听老师说,编程主要学的是其中的思想,听完自己感觉挺轻松,认为学思想,不就是听听课,没作业吗?所以没有把课后作业当回事。过了几天,继续上课听老师讲,直接听不懂了。后来还是和一个学长交流,他说课后作业很重要,这是一个巩固的过程,将自己的知识用起来,这样就能更好的理解了,这也是一个反馈的过程。反馈非常重要,通过作业,写出一行行的代码,直到顺利运行,是一件很有成就感的事情,更能够激励自己去学习!学长讲的挺有道理的,我也听进去,按照他说的操作了,自己实践证明,写课后题确实是一个很好的巩固和反馈的方法!

自己当初就是不专注,眼高手低,懒,才浪费了那么多时间,现在想想其实也挺可贵的,毕竟是一段难忘的经历,但还是希望看到这篇文章的朋友,别走我走过的坑。

另外如果你想更好的提升你的编程能力,好好学习C/C++编程知识的话!那么你很幸运~

编程学习书籍:

编程学习视频:

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

C语言C++编程学习交流圈子,点击下方【了解更多】获取更多学习资料哦~

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。