对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,患束锍瓜开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂妫柯刑貅亮的界面和生动的交互。于是学数据结构,学算法,学操作系统,越陷越深,越来越难,最后迷茫了,不知道学C语言能做什么,认为学习编程很难,开始怀疑自己,甚至想放弃。
工具/原料
C语言
电脑
方法/步骤
1、其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统、第三方库、单片机来完成。也就是说,只学C语言基本什么也做不了,也基本找不到工作。
2、C语言是一门通用性的语言,并没有针对某个领域进行优化,在实际鸠祛哂俭项目中,C语言主要用于较底层的开发。例如:W足毂忍珩indows、Linux、Unix等操作系统的内核90%以上都使用C语言开发;开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;开发系统组件或服务,用于支撑上层应用;编写PHP扩展,增强PHP的功能;如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。
3、我们先说一个概念,就是库(Library)。库就是编程专家写好的代码,我们可以拿来直接使用,这样能够节省开发成本,提高开发效率,并且库代码的执行效率、严谨性、安全性和规范性要明显优于我们自己编写的代码,市场上有很多优秀的库,有的收费,有的免费,我们要善于利用这些库,尽量不要重复造轮子。
4、如果你觉得学了C语言没用,那么恭喜你,你是对的,应用层的开发一般真的用不上它。但是,没用也要学,学习C语言并不一定是要应用它,C语言可以夯实你的编程基础,尤其是数据结构、算法、内存、线程、进程、通信、操作系统等底层的计算机知识,没有C语言基础是学不好的。
5、这些底层知识并不一定能够直接应用在实际开发中,但是它们会让你有底气,会让你透彻地理解编程概念,会让你站的“低”看得远,会让你避免很多低级错误,会让你心中有“架构师”的思维。不学C语言是码农,学了C语言是程序员。
6、不过对于初学者,我还是建议从C语言开始,然后学习数据结构、算法、内存、线程、进程、通信、操作系统等基本的概念,它们是学习编程的基础,不管是应用层开发还是底层开发,这些知识都是必须的。
7、如果你非要跳过C语言,从其他语言开始,比如Java、Pyt丝群闻栝hon、PHP、JavaScript、C#等,鼬薪渌圾也不是不可以;但是,在学习的过程中你会有一种雾里看花、空中楼阁的感觉,很多东西只会用,却理解不了,深入不了,原因就是没有计算机基础,没学会走就想跑了,这个时候,还得老老实实回来学习C语言。
8、C语言的优势是运行效率极高,这正是底层开发所看重的。底层开发有时候就是一个模块,或者是一个服务,规模不算大,但是对效率有严格的要求,此时用C语言就非常合适,所以针对底层开发的C语言库较多,因为它们有非常大的实用价值。
9、所以对于初学者来说,我们要首先要打好基础,只要基础扎实了,上层的建筑才会更加牢固,对于日后我们学习其他语言的时候,都能够游刃有余。