C/C++学习都需要一个比较系统的过程,很多人C++的基础语法都没学完就直接开始学习Linux,这一步登天的想法着实有点可笑了,凡是都需要一个循序渐进的过程,C/C++学习更是如此,大致分为以下几个阶段:
一,语言
我可以告诉你C语言有两大主题你要好好学,一个是内存管理,一个是指针!这个世界上90%以上的C/C ++ 出的严重性错误全是和这两个有关。不要看谭浩强的那本书,那本是本烂书。推荐这本书给你《C程序设计语言(第2版·新版)》
二,算法和数据结构
我认为,用C语言实现算法和数据结构莫过于最爽的事情。推荐你看这本书——算法:C语言实现(第1~4部分)基础知识、数据结构、排序及搜索(原书第3版),还有那本经典的《算法导论》
三,系统编程
Windows下推荐两本书——《Windows程序设计》和《Windows核心编程》,Unix/Linux下推荐两本书——《Unix高级环境编程》和《Unix网络编程卷1,套接字》《Unix网络编程卷2,进程间通信》尤其是《Unix网络编程》这本书,一通百通,无论Windows还是Unix/Linux,都是一样的。
四,系统设计
关于设计方面,我全力推荐《Unix编程艺术》,看完以后,你就明白什么是真正的编程文化了。然后,当你看到Windows的Fans的某些言论时,你就知道什么叫一笑了之了。
学习过程中心态的重要性:
其实,说起来很简单,大家都懂,因为现在大多数培训机构都采用这种学习路线,但是,还有很多人还是急于学成,忽略了这个过程的重要性,这样的心态想要学好是很困难的
比如,很多C语言都没学好的初学者一上来就问我怎么做外挂,你说,我该怎么回答这样的人呢?我会沉默好一会,然后告诉你,先把C语言的基础打好。
或许,有些人说,自己从C++直接学,不学C语言也学好了。没错,现在有些大学的专业会直接从C++开始教,跳过C语言。C++的语法和封装对于初学者来说是很难理解的,直接从C++学起很容易导致一个问题,就是学生觉得难,跟不上老师的进度,会轻易放弃学习编程,这样的人有很多(大家可以想一下自己是不是就是这样的人呢?),所以我们学习编程要注重由简入繁,这样不容易放弃,注重从编程中获得成就感,仿佛创世主一般的感觉。
这篇文章其实内容并不如何丰富,旨在纠正大家的学习方法,既然选择了C/C++编程,那么就一定要有一个大致的方法和方向,不要买了各种各样的书和资料,却还不知道该如何学习,今天数据结构还没学,就开始学明天的Windows核心编程了,虽然界面很美,但是还得一步一个脚印的慢慢走!
觉得文章对自己还有点帮助的朋友可以关注、转发,以便帮助更多学习上还有困难的初学者,学习永无止境,Never give up!