APP下载

为什么学C语言及C语言存在的意义 程式设计新手常犹豫学不学C语言

消息来源:baojiabao.com 作者: 发布时间:2024-05-13

报价宝综合消息为什么学C语言及C语言存在的意义 程式设计新手常犹豫学不学C语言

高考结束选择计算机专业要学C语言,而C语言真的过时了吗?我们现在还要学习C语言吗?

有同学问过我这个问题,特别是现在对于很多同学来说,选择计算机专业的话肯定离不开的是C语言这门语言!我相信这些同学是属于对计算机比较感兴趣的,或许有些是父母的意思,但是一旦选择了这个专业,就会从各个途径去关注计算机语言的发展。不错,C语言的的确确有点过时。

我相信当你们其中的持C语言过时观点的同学看到这句话时会感到欣慰,因为我也持这个观点。但我可以告诉你,你被我骗了,我恰恰持的是相反的观点!认识到事物的缺点就是对这件事物的最大肯定!

先不忙着说我为什么觉得C语言并不过时,先谈谈你们为什么觉得C语言过时(感觉有点罗嗦,呵呵)。你们认为C语言过时的原因估计是看过某些论坛上的评论,什么时下里Java和C#流行啦,什么C语言程式没有友好的使用者界面啦等等,这些评论其实形成了对你们认知的误导作用。(就像我在写这篇稿子时收到的一条简讯一样,说“***……,是中国人的就转发”。我是不是中国人又不是这条简讯说了算,我就是不转发,不浪费0.1元人民币,这条简讯能把我怎么样?难道我就会变成蓝眼的美国佬不成?所以我觉得这类评论毫无意义。)

Now就谈谈我的观点吧,其实就一句话就可以反驳论坛上的观点了。大家都知道,不适应者终究是要被淘汰的。所以我要反问的是,既然C语言过时,那为什么还会存活到现在?想想C语言是在1970s诞生的,现在都三十几岁了,比我们下沙校区任何一个学生的年龄都长,却能在庞大的计算机语言群中生存下来,可见它的不一般了。

以上只是反驳了一个观点而已,没谈到实在上,可能还有人对此怀疑的。所以在此就多废话几句,但并不是说要你们全然相信我的,你也可以把这篇文章当作论坛里的评论一样处理。

我希望你们不要让一种存在的事物失去了它的意义,就像你们不希望社会让你失去了存在的意义一样。说出来会让你吓一跳,现存的计算机语言竟不下百种,针对各种语言开发出的编译器就更多了。这么多的计算机语言,我们还仅只知其中的皮毛,甚至不知它们的名字,就怀疑它们存在的意义,你不觉得我们很可笑吗?各种不同的语言都有它们不同的用途,像Java和C#就更适合于开发网络应用程序,像Fortran就适用于科学计算,Pascal适用于对资料的操作,Basic适用于处理相对简单的问题,而C就是目前使用者群最大的一门计算机语言了。我猜想还有些语言就专门用作医疗、机械甚至洗衣机、电冰箱中应用程序的开发的。

还没谈到C语言的优点呢。C语言的优点是其它语言所难及的甚至不可比的,虽然它也有劣势。优势之一就是,目前几乎所有的操作系统均是由C语言编写的(意思就是说,学好了C语言,你也可以编一个像Windows一样的操作系统,然后就坐在办公室里像毕尔•盖茨一样细细数你的钱了);第二,它甚至是其它程式语言的母语言,比如Java语言就是用C语言编写的(怎么样?牛吧!);第三,编译出来的程式几乎不浪费空闲的空间(不像VB那样,就一个按钮都要把它所有的方法呼叫进来);第四,程式执行效率高(你不希望自己的企业执行在一天就只能做一个面包的基础之上吧),等等等等。不过列举C语言的优点也不是去排斥其它语言,我说了,认识一件事物的缺点就是对它最大的肯定。待把C语言掌握了之后再学学其它的语言那也不坏,既有C语言的底又有其它语言的时尚,还怕在这世上无立足之地?

这也就是为什么我们还要学习C语言的原因。

学习C语言的主要理由有以下几点:

C语言可以作为学习计算机程式设计语言的入门语言;

C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效;

C语言具有现代高阶程式设计语言的基本语法特征;

常用的面向物件程式设计语言例如C++和Java,其基本语法源于C语言;

许多C语言编写的软件系统需要维护;

用于要求程式高速执行领域的编写,例如微控制器程式、嵌入式系统软件和通讯程式等;

游戏设计者和黑客少不了C语言;

C语言使用者和爱好者众多。

​需要强调的是,C语言是一种既高阶又低阶的程式设计语言,高阶是指它具有高阶程式设计语言的所有特征,低阶是指它可以代替机器语言或组合语言编写高速执行的软件程式。C语言有丰富的库函式可以使用,这为程式设计带来了极大的便利性,提高了程式设计的效率。C语言的库函式种类齐全,包括标准输入输入(stdio.h)、数学函式(math.h)、储存分配(malloc.h)和字串函式(string.h)等等。通过C语言程式及其储存分配函式实现计算机系统内存分配是一种不可替代的实现。

//注:补充几句,现在这么多计算机语言,大体上语法还是相通的。我个人按语法把这些语言分为两大类(就按所谓的高阶语言分,不包括低阶语言和更高阶的如SQL语言),Basic(如VB)、Pascal(如Delphi)、Matlab等为一类,因为它们的语法很相近,且不太严格;C/C++/C#(如Visual系列的),Java等为一类,同样它们的语法很相近,但非常严格。

所以要追求流行的Java的话,那你还是选择学好C语言吧,它是基础。

另外“其实作为一个开发者或者程式设计学习者,有一个学习的氛围跟一个交流圈子特别重要!我自己也是一名从事了多年开发的C/C++程序员,组建了一个零基础程式设计交流裙!不管你是大牛还是小白,大家都一起成长进步。这里是小白聚集地,欢迎初学和进阶中的小伙伴。"

企鹅群:569268376(持续招募中)

2020-01-16 21:57:00

相关文章