我一直记得李向前教授说过的一句话:“那天晚上我从办公室出来,十点的交大,灯火通明。”
1:C语言的特点:
·优点:代码量小,速度快,功能强大。
·缺点:危险性高,开发周期长,可移植性弱。
危险性高:写同一个程序,在java中会报错,而在c中不会报错,为什么呢,因为c认为程序你想怎么写就怎么写,c语言认为你写的程序不是很离谱,他都认为你写的这个程序有特殊的含义。可以直接通过,而java则不可以。
开发周期长:c语言是面向过程的语言,面向过程的语言的特点就是在开发大项目的时候,很容易崩溃,好比盖大楼,C语言还要造大量的砖块、钢筋等结构原材料,而C++ C# JAVA则进行了一定的继承封装等操作,相当于原材料直接给你,你只需要用它盖楼即可。
C的可移植性不强:这是针对java来说的,因为java的可移植性太强了,所以就感觉说c的可移植性不强。(金山公司最主要是靠wps办公软件来发展的。Wps是c语言开发的,其安装包比Office少了10多倍。)
2:三大操作系统:windows,unix,linux
Windows内核是c语言写的,而外壳是c++写的。Java永远不可能写操作系统。因为java运行速度太慢了。
而linux和unix都是纯c写的。
操作系统控制了硬件,如果说操作系统的运行速度慢,那么当我们在运行软件的时候,运行速度会更慢。
为什么使用c语言写操作系统呢,首先是因为c的运行速度快,然后是因为c可以直接控制硬件,而其他语言不可以。没有指针的语言是不能直接访问硬件的。
3:C语言的重要性
有史以来最重要的语言
所有大学工科和理科学生必修课程
最重要的系统软件:windows,linux,unix均使用C开发
一名合格的黑客必须掌握的语言
任何一个想终身从事程序设计和开发人员必须熟练掌握的语言
大企业,外企招聘程序员必考的语言
为学习数据结构,C++,Java奠定基础
//虽然应用场合相对较窄,但贴近系统内核,较底层。病毒最基本的是要感染系统,c,这门语言是必须要学习的。
4:怎样学习c语言
多思考,多上机。 不能光看,光听,而要排错,调试。
在犯错误中成长。
(李向前教授当时在我们大一的时候是要求我们在C上面的调试时间50h+。调试时间不是编写计算机程序,也不是把数据送入计算机中测试,而是据测试时所发现的错误,进一步诊断,找出原因和具体的位置进行修正。)