C的旅程系列之如何开始

来源:互联网 发布:java redis队列使用 编辑:程序博客网 时间:2024/05/17 09:39

  C语言的发展史就不再赘述了,这个对学习C语言的帮助不算大。 

  C语言是一个面向对象的语言,它有以下几个显著的优点:

1. 运行速度快,比它快的只有汇编语言和机械语言了;

2.可直接访问物理地址,这是底层编程的福音;

3.语法相对简洁;

  

  那么如何开始学习C语言呢?

  首先,要纠正一个观点,学习软件开发,并不意味着一定能(或会)做出一个界面良好的软件,自然也不意味着代码编译出来后,可以直接拿鼠标单击或双击打开。不要受Windows系统的影响。

  其次,编程语言需要开发环境,需要大量的练习。个人不推荐Windows下成熟的IDE,而是推荐使用Linux/Unix系统。原因有两个,第一,成熟的IDE虽然意味着快速上手,但不适合初学,初学喜欢遇到问题,然后解决问题;第二,Linux/Unix系统在IT界使用相当频繁,尤其是服务器搭建,Linux/Unix几乎一家独大,而且Linux/Unix系统默认集成良好的开发工具,环境搭建简单,还有丰富的帮助手册可用,即使没有网,依然可以使用。不管是为了多了解一门技术,还是为了更好的学习C语言,Linux都是一个很好的选择。

  好多人可能对Linux/Unix系统不熟,苹果电脑默认安装的是Unix操作系统,而我们常用的Android手机则是基于Linux内核(可以看做是一个小型的Linux系统)的,网上随便都能搜出一大堆介绍来,这里就不再浪费篇幅了。 土豪一点,直接入手一台苹果电脑,娱乐玩耍学习一机搞定; 如果电脑性能不够,给自己的电脑装一个Windows和Linux的双系统,也算是一机搞定,只是来回切换系统可能稍微麻烦;电脑性能足够强健的话,安装VMWare,然后再通过VMWare安装一个虚拟Linux系统也是一个很好的选择。 三种选择都可以,个人后面两种选择都有,开发学习以双系统为主,虚拟机主要为了应急。 至于后面两种如何实现,网上可以找到很多例子,多看几篇总结一下,一般不会失败。

  再者,环境有了,就需要大量的实践练习,例子从哪来呢,从书中来。找一本比较经典的介绍C语言的书,比如《C和指针》《C Primer Plus》等,学习理论,实践学习到的理论,再将课后习题不管简单与否都死磕出来,那么一本书下来后,拥有的不光是丰富的C语言理论,还有可观的代码量,不说别的计算机二级证已经妥妥的收入囊中了,当然这不是我们的目的。

  最后,在丰富的代码量基础上,还足够简洁高效的,或者别出心裁的代码,所以当学习到一定程度的时候,尝试去阅读使用开源代码,慢慢的摸索甚至吃透作者的思想。在这个网络发达的时代,最忌讳的是闭门造车,当遇到自己无法胜任的问题时,找个论坛发个帖子,你会发现会有很多好心人帮你解决问题,也可以查看其它人遇到的问题,提出自己的见解或者解决方法。推荐两个比较好的网站,ChinaUnix,CSDN。

  

  其实使用Linux/Unix系统学习C语言,也是有弊端的,因为我们使用的是命令行方式,这就是的开发过程中,可能会遇到各种各样的命令。这些可能都会是初学时的绊脚石,所以做好受苦的准备吧。但只有经历足够的磨难,才能更好的应对以后工作中的突发状况。


  简而言之,要想学好C语言,需要足够的代码量,这些代码不是copy来的,是靠脑子想出来的,然后一个个字母敲出来的。写代码的环境尽量够透明清晰,以方便遇到“坑”。通过一本权威性的C语言书来构建自己的知识体系,并通过代码来夯实牢固体系。

  下面列出来的最简单的C语言学习方案:

  1. C语言基础,推荐书籍《C和指针》《C Primer Plus》;

  2. 数据结构相关,相关的查找排序算法,链表,栈,队列,树,哈希等;

  3. 环境编程相关 ,首推的估计就是《Unix环境高级编程》;

  4. 网络编程相关,《TCP/IP协议》,《Unix环境网络编程》;

这是一辈子的学习方案,不是几个月几年能搞定的,还要多逛逛的博客论坛,你会发现好处不是一般的多。


之后将介绍如何在Linux下编写自己的第一个程序。