如何快速学习C语言?系统学习路线奉上

C语言的重要性

C语言作为编程行业必备的基础,它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面。因为同样的功能,可能你要开发好多天,但是别人PS或者写几个js就可以超过你的效果。做嵌入式界面,你在不断的引入各种各样的库,错误一大片可能还没出现效果,别人QT几下子弄的比你还漂亮很多。所以C语言的学习目的不在于开发出多么炫酷的效果。而在于给你看破编程的红尘,让你懂得上层语言中突如其来的那些使用应该能怎么来。

学编程最重要的是实践,就是写代码、看别人写的代码、再写代码,你看再多的书,不写代码,你还是不会编程。但是写代码也要讲究方法循序渐进,不能刚学了几天语法,就想写个操作系统什么的,树立这种不切实际的目标只会让你的自信受到严重打击迷失自我。同时小编推荐一个学C/C++的学习群627819188无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!群内有很多干货和技术分享!

学习路线

既然了解了C语言对编程领域的重要性,那就应该学懂它。但是C语言偏向底层,各种使用方式都比较原始,因此学懂它也不是轻松一件事。

学习路线如下:

变量---流程控制---函数---指针

数组---字符数组---字符串---结构体---链表

文件操作---多文件---库的使用

其他的可以通过以下几方面来学习:

如:变量的申请可以引出栈中申请空间,堆中申请空间

如:结构体+指针,可以做节点,节点可以做链表,链表根据指针分布可以做:单向链表、双向链表、循环链表、队列。

如:库的使用有stdio.h这些默认写了,还有需要手工写的如:malloc.h,string.h,还有图形库,还有操作数据库的动态链接库。

学习C语言感觉零散,是因为缺少贯穿的主线,此其一;其二,是因为缺少客观世界道理的支撑,导致程序语法出现的莫名其妙。外行人看莫名其妙会感觉神奇,但是神奇意味着不懂,因此要学编程,不要再让它有神奇的感觉,否则就不懂了。

编程是一个持续研究的过程,一个反复训练不断提升的过程。当你在上层语言中的学习遇到了瓶颈,你需要回头来从底层找原因。否则像linux中的apache,nginx,sphinx,mysql源码编译等这些会让你晕头转向,这时候你很可能忽略这些看似复杂的东西其实都在C语言的编程过程中有影子和启发的。

所以只要你还在或者想进入编程领域,总会看到C语言的影子,只有理解了它的来龙去脉,才对实际有意义。了解来龙去脉,这就是在说学习C语言的最佳学习方法:给一个不懂计算机的老太太解释为什么要有C语言,以及C语言是什么,能干什么,里面有什么内容等等。

那么衍生出来的具体学习方法就有且不限于:思考、记录总结和灵感、整理笔记。当你哪一天躺在床上闭目养神的时候头脑里能回顾出C语言的知识体系并能落实到程序,然后想讲什么就讲什么的时候,你才算是学活C语言了。

总结

1:按上面的几条线,构建出C语言的知识体系。

2:多思考,很多莫名其妙的问题先记录,然后试着去寻找答案,找那些起码能说服的了你的理由。

3:多记录灵感,灵感能让你的知识体系中的盲点有画龙点睛之效。

4:整理和精简笔记。笔记一开始会越来越多,后续就要不断的精简笔记内容。

5:学习心态要放正,不要只想着速成。

6:坚持,任何事情都没有速成一说,只能靠自己不断的积累。

本文来自企鹅号 - 我爱C语言媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

JavaScript 世界万物诞生记

一. 无中生有 起初,什么都没有。 造物主说:没有东西本身也是一种东西啊,于是就有了null: ? 现在我们要造点儿东西出来。但是没有原料怎么办? 有一个声音说...

3128
来自专栏程序人生

代码命名:僧敲月下门

忽一日於驴上吟得:‘鸟宿池中树,僧敲月下门。’初欲著‘推’字,或欲著‘敲’字,炼之未定,遂于驴上作‘推’字手势,又作‘敲’字手势。 - 《鉴戒录·贾忤旨》 两句...

2757
来自专栏区块链大本营

智能合约中的“高铁座霸”|存储器局部变量未初始化——漏洞分析连载之七

我们在上一期的区块链游戏漏洞的汇总和分析中将目前游戏合约出现的问题与前几期的漏洞连载分析进行了联动,发现游戏合约的漏洞很大一部分是在重复之前代币合约的重大错误。...

532
来自专栏落花落雨不落叶

关于学习编程的一些看法

2995
来自专栏月牙寂

golang设计模式的一些看法

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

2875
来自专栏杨建荣的学习笔记

Python实现的快速排序

今天看了下《算法新解》这本书,很薄的一本书,最开始吸引我的有两点,一个是里面的大量的图,内容相对来说比较清新,第二个是里面的代码是基于Python实现。尽管算法...

3597
来自专栏程序员互动联盟

【入门指导】C和C++的区别

C和C++有啥区别,C直接干事情的,C++规划后直接干事情的。这个比喻不是很恰当,面向过程和面向对象,C就是每个细节都得一目了然,C++你把事情干出来了,我不管...

2804
来自专栏编程

在编程中为所欲为圣诞版

众所周知,在Java中final String中的值是一成不变的。大家都知道String的+(拼接)运算会丢弃内存引用并在内存中重新开拓地址,事实上也确实如此。...

1866
来自专栏牛客网

个人的前端面经,回馈社会

酷家乐(10-20k) 电话一面 三十五分钟 如何学习前端,看了什么书 谈实习经历 谈项目,问为什么用那么多插件,有没有想过自己写 position有几个属性 ...

3185
来自专栏程序员互动联盟

如何用三个月搞定C语言

C语言上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言,随着C语言之父的逝去,C语...

2495

扫码关注云+社区