有同学问过我,我们现在为什么还要学习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语言及C语言存在的意义,新手经常犹豫学不学C语言相关推荐

  1. 为什么要学C语言及C语言存在的意义,有人经常犹豫学不学C语言

    有同学问过我,我们现在为什么还要学习C语言,C语言不是过时了吗?我相信这些同学是属于对计算机比较感兴趣的,他们会从各个途径去关注计算机语言的发展.不错,C语言的的确确有点过时.我相信当你们其中的持C语 ...

  2. python是什么语言汇编_编程语言及python介绍

    编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...

  3. c语言(15 5)是多少,试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至..._考试资料网...

    试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内. [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: ...

  4. 填入c语言,试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述 回答问题 1至问题 3 将答案填入答题纸的对...

    问题详情 试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内. [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程 ...

  5. 计算机编程语言及C语言简介,编程语言基础:C语言

    <编程语言基础:C语言>通过大量实例,深入浅出地介绍了C语言的各种数据类型,运算符,表达式:结构化程序设计语句:函数的概念和用法:编译预处理命令:位运算:文件的操作:算法的基本表示方法及结 ...

  6. 剖析Intel IA32架构下C语言及CPU浮点数机制

    (转载请注名原作者及出处) pdf格式下载:http://www.binghua.com/Soft/Class2/Class5/200409/63.html 剖析Intel IA32架构下C语言及CP ...

  7. 全面解读Objective-C语言及Cocoa特性——《Objective-C基础教程》

    媒体评论 "这是我读过的最好的一本编程书.我从头到尾逐字逐句地读完了它,可读性真强啊!试问,现在有几本技术书能达到这种程度?" --Amazon 读者评论 "这本书结构清 ...

  8. go二维map_mirrorlang——从0设计二维内存寻址语言及vm(五.内存管理的思考)

    目录 鹏鹏李李:mirrorlang--从0设计二维内存寻址语言及vm [目录]​zhuanlan.zhihu.com 由一段函数开始思考内存布局 func longestPalindrome(s s ...

  9. 意大利_【解读】去意大利留学,一定要学意大利语吗?意大利语难吗?

    喜欢意大利,想去意大利留学,但不想学意大利语可以吗?意大利语太难了,听说有英授专业(本来就要学英语.考雅思所以不担心英语)-- 问题来了 去意大利留学,选择英授专业的话还需要学意大利语吗? 我们一点点 ...

最新文章

  1. 牛客多校2 - Fake Maxpooling(线性递推gcd+单调队列)
  2. 全国计算机等级考试题库二级C操作题100套(第59套)
  3. 一堂儿童科学实验课引起的思考:数学和化学有什么关系?
  4. oracle undo段的作用,Oracle数据库中Undo数据段的作用及类型
  5. 轻易致盲分类器!普渡大学提出光学对抗攻击算法:OPAD,想法奇特,性能有效!...
  6. tkinter连接数据库实现班级点名系统
  7. Exchange Server 2016 独立部署/共存部署 (一)—— 前期准备
  8. for循环里面嵌套if_信不信两层python嵌套for循环就能把你搞懵了
  9. oracle 基础查询语句
  10. VIm中Python自动补全插件Pydiction
  11. 免费复制百度文库上的内容
  12. 数字电路逻辑关系式化简(代数运算)
  13. linux下rar下载地址,linux下rar解压(rarlinux下载,安装 ,使用)
  14. 客快物流大数据项目(六十八):工作流调度
  15. oracle增加字段为主键自增_Oracle新增自增一的主键字段和赋值代码
  16. matlab高斯公式求值,高斯求积公式 matlab
  17. 记一次笔记本电脑百度云盘无法连接网络问题
  18. allure如何设置新logo
  19. c语言找最大值最小值
  20. 售前工程师——PaaS

热门文章

  1. POJ 1944 - Fiber Communications
  2. 解决 rake aborted!
  3. linux基础(2)-网卡配置
  4. 刷新系统托盘(清除死掉的图标)修正版
  5. 电子发现与统一归档库
  6. 云机搭jdk1.8和apache-tomcat
  7. 7个步骤,帮您轻松实现云迁移
  8. 常见的网络加速及优化控制管理—Vecloud
  9. 用SAPI实现Speech Recognition(SR) - 命令控制模式
  10. 开关机自动执行脚本方法[以及切换用户执行命令方法]