大三小生浅谈如何学C

这篇算是自己的随想录吧,反正考试周,寂寞的要死~ 我想说的是:考试周,去你的~

 

1. 首先学习标准C.

     学习C,当然先从标准C学起了,如果你对标准C模糊的话,那么请去google吧,实在不行就度娘.直到搞明白为止,要不然

     说其他的等于没说. 标准C学习推荐一本比较好的书 - << c prime plus >>. 个人感觉这本书还不错. 看完这本书就可以尝试去了

      解一下C标准库了,同样有本书推荐 - << c 标准库 >>.

 

2. 你喜欢的是windows还是*nix?

     不要告诉我说,你一直都是使用windows,不知道什么是*nix.我想,要是一个IT的孩纸不知道*nix,悲剧的程度无法想象.要是你

     说你只会*nix,不会windows,那么小弟在这里膜拜了,您是强人,还请以后多多指教,必将感激不尽。

 

3. 选择一个你自己喜欢的IDE.

    可共选择的优秀IDE很多,一箩筐,列举几个典型的,当然这和你选择的开发平台还是有点关系的.(远程开发的例外).windows下面

    最典型的就是visual studio,eclipse,code-block,netbeans.Linux下有eclipse,code-block,netbeans 等等.对于一个新手来说,手

    动构建项目还是比较困难的,刚开始都不知道如何去写makefile,也不知道怎么去使用项目构建工具.而IDE是做好这些功能的,所

    以选择一个适合自己的IDE吧,并且尽量多尝试一下其他的IDE,体会一下他们的不同.

 

4. 开始讨厌IDE了吗?

    不知道什么时候,开始讨厌IDE了.在有的时候可能会经常去折腾自己的电脑,就像抽风一样子不停的去换系统.每次折腾就意味着要

    重新搭建一次开发环境,这些繁琐的工作在被一次又一次的重复之后就变成了无谓的体力活,你是不是干脆就用notepad去编码了呢?

     也学这个时候你应该去尝试自己构建项目和选择一款文本编辑器作为自己的开发工具了?这样子更省事,不是吗?

  

 5. 如何自己构建项目呢?是不是该去学习一下makefile了呢?或者是有其他的替代选择呢?

     你是否对makefile有印象呢?你在平时自己的练习和写一些小程序的时候有没有尝试写一些简单的makefile呢?说起来,这不算陌生吧.

     此时你可以去详细了解一下makefile了. 推荐 - <<跟我一起写makefile>> 陈皓

     如果了解了一下makefile之后发现自己写makefile很繁琐,那有什么其他的办法推荐吗? 这个时候你可以去尝试一下项目自动构建工具了.

     cmake? autotools? qmake?或者是你放弃了,我干脆还是装个IDE吧,最最差的就是,算了,学C这么麻烦,看来不适合我!!

 

6. notepad编写代码用起来不是很舒服,有好的文本编辑器吗?

    你确定你使用过很多IDE了吗?或者是坚持使用一个IDE很长时间并对其有自己的理解.这个时候你需要问自己的问题是:我到底需要的是一

    个怎样的编辑器呢?我需要它有什么样子的功能?

     这时候你可以去尝试一下学习emacs/vim了.要是你对linux/unix有一定的了解和学习,对这两款优秀的编辑器是不会怀疑的.那么就学习去使用

     他们吧! 不要告诉我说,经过一个晚上的使用,我想我学会操作它了. 那么我笑了,不妨去google搜搜关于emacs/vim使用方面的博客或者是

     书籍,相信你会发现很多的.一本书介绍的使用方法,怎可被说的那么轻松.

     在学会了满足你日常使用的操作之后,就应该学习去定制自己的编辑器或者说是自己的IDE了. 这就是emacs/vim被广大程序员喜爱的原因.

    不会? 不要这么说.因为你有google.去google搜搜"emacs c/c++ ide", "vim c/c++ ide" 搜到的资料很多很多,不是吗?剩下的直到该怎么做了吧.

 

7. 你还在坚持学习数据结构和算法吗?

     程序的灵魂在于算法,而数据结构辅助实现算法.IT的同学都知道当初教我们的C/C++老师是如何强调数据结构和算法的重要性的吧?

     那么就去图书馆或者是书店选几本数据结构和算法的书,回家慢慢钻研吧.

 

8. 操作系统? 你身边还随时备着一本书吗?

     不能随便去评论关于操作系统方面书籍的好坏,因为操作系统博大精深.既然如此精深,为何不仔细研究学习呢?要记住,操作系统是很重要的

     别小看了学习操作系统的重要性,很多时候对一些问题的理解和思想在学习操作系统的时候都会遇到.那为什么不在书桌上面长备一本呢?

 

9. 有一段时间没有感觉到自己的提升了?很焦急?怎么办?

     方法很多.我自己常用的方法是:

             a. 重新仔细的看一下C语言方面的书籍,阅览牛人的博客.

             b. 重新拜读操作系统书籍或者是往常查阅资料.

             c. 去写博客,总结自己近段时间学习的知识.

     如果还是感觉不到提升,还是感觉到很迷茫.那么恭喜你,你要进阶了.

 

10. 对库 编译链接方面的知识了解吗?

      如果不了解那么就去阅读一下<<程序员的自我修养 链接 装载与库>>这本书吧. 相信你会有收获的.

 

11. 尝试去使用一些优秀的库了吗? 同时你还在看别人在博客中写的关于一些库的小教程吗?

      要学会去官网浏览资料,不要去搜索资料的时候总是习惯性的在后面加上"中文",告诉你,那样子不好.虽然刚开始去浏览英文资料比较困难,

      而且速度比较慢,但是慢慢练习会好的.

 

12. 有冲动想要去浏览一些优秀源码吗? ngix? apache ? glib?

       基于前面的学习已经满足不了你了,你想要往更高的层次去迈进,想要去解读大牛们在编写代码时候的思路和设计. 这个过程是很痛苦的,要做好

       思想准备.千万不要觉得好像自己写出的代码和大牛们差很多,有种对自己谴责或者是不自信的想法,要坚持去学习. 有时候不仅仅要后脸皮,还要死缠

       烂打,这个道理和追女朋友是一样的,这个大家都懂的. -,-.

 

    

 
原文地址:https://www.cnblogs.com/respawn/p/2570717.html