vlambda博客
学习文章列表

不要这样学习C语言,这是个坑!

来源:网络  整理:阿汤哥
对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法,越陷越深,越来越难,最后迷失了,不知道学C语言能做什么,认为学习编程很难。

其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统和其他库来完成。

第一阶段:学习软件开发基础

1) 首先学习C语言的基础语法,也就是本教程的前十章,这些都是编程的基础。

2) 学习Windows开发,你就能够使用C语言开发出带界面的软件来了,可以有窗口、输入框、菜单等,也可以响应键盘和鼠标事件,可以播放音乐、视频等。

但是,你会发现比较麻烦,要使用很多API,还要手动写资源脚本。

3) 学习Visual C++开发,通过VC或VS来拖拽各种控件、编辑各种参数。

这个时候,你就可以用C语言做出小规模的软件了,了解了软件的底层是怎么回事,也学会了使用VC或VS来编辑界面。

第二阶段:提高软件开发效率

Windows API是软件开发的基础,如果你希望走得更加长远,拿到的工资更高,跟大家拉开差距,那么一定要学。

接下来是提高开发效率,有好几条路可以选择,众多大神争论不一。

第一条路:学习C++,包括C++基础语法、MFC、QT等。MFC和QT都是界面库,对Windows API做了封装,会大大提高开发效率。

第二条路:学习C#。C#语言本身对底层API做了很好的封装,可以使用面向对象的方式来开发软件。

第三条路:学习Delphi。Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“聪明的程序员用Delphi,真正的程序员用C++,偷懒的程序员用PowerShell”已经成为对 Delphi 的最真实写照。

一款大型软件,例如 QQ、迅雷、360 等,往往是多种技术的集合。

其他开发

C语言主要用于软件开发、底层开发、嵌入式和单片机等对效率要求高的地方,如果你希望学习Web开发或APP开发,那么学完了C语言的基础语法就跳出C语言,去学习PHP、Python、Java、Objective-C、Swift吧,千万不要陷在C语言不能自拔。

这个时候,C语言主要的作用是让你入门,了解编程语言的基本语法,强化编程思维,而不是用它来做实际开发。

关于数据结构和算法

如果你不是专门搞算法,而是做应用开发,那么了解一下就可以了,主要是堆栈、链表、排序、查找等比较基础的,千万不要深入学习,算法是个无底洞,不要陷进去,要尽早跳出来去做应用开发。

实践中你会发现,很多会用到什么数据结构和算法,用到的话也已经被封装好了,调用对应的函数就可以,而且像树、图一类的晦涩难懂的数据结构基本与你无缘。