找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 655|回复: 3

究竟我们为什么要学C语言呢

[复制链接]

177

主题

-95

回帖

295

牛毛

一级牛人

积分
295
发表于 2012-8-28 11:36:17 | 显示全部楼层 |阅读模式 来自 河北省廊坊市
C语言,似乎是一门很久远的语言了。但是身为程序员的我们,都对C语言有所了解。究竟我们为什么要学习C?
  C是写操作系统最常使用的编程语言(译注:没有之一)。Unix是用C写的第一个操作系统。后来Microsoft Windows,Mac OS X,还有GNU/Linu也都是用C写的。C不仅是操作系统的语言,也是其它几乎所有今天最流行的高级语言的先驱和灵感来源。事实上,Perl,PHP,Python和Ruby都是用C写的。
  通过类推的方式,让我们这么说你一直在学的西班牙语、意大利语、法语或者葡萄语。你想过知道点拉丁语会很有用吗?因为拉丁语是所有这些语言的基础,了解了C,你就能理解和欣赏建构在传统C之上的整个编程语言家族。懂得C,就拥有了自由。
  为什么是C,而不是汇编语言?
  汇编语言提供了速度和最大的编程可控性,C提供的是可移植性。
  不同的处理器必须采用不同的汇编语言来编程,必须选择其中一种,只能学习其中一种,这太*了。事实上,面对众多的计算机架构,C的一个主要优势在于其通用性和可移植性,而将硬件层的大多控制留给了汇编语言。
  例如,C程序可以编译运行在如下设备上,HP 50g计算器(ARM处理器)、TI-89计算器(68***00处理器)、Palm OS Cobalt智能手机(arm处理器)、原始的iMac(PowerPC)、Arduino(Atmel AVR)和Intel iMac(Intel Core 2 Duo)。这些设备每个都有自己的专有汇编语言,并且完全不兼容于任何其它一个设备的汇编语言。
  汇编语言,很强大,但很难去编写大型应用程序,很难以逻辑方式去阅读和解释。C是一种编译语言,可以产生快速有效的可执行文件。C也是一个小型“所见即所得”语言:一个C语句最多对应着几个汇编语句,其它都以库函数的形式提供。
  所以这就是C是如此流行的语言的原因?    月经量少吃什么好
  就像推度多米诺骨牌一样,下一代的程序跟随着它的先辈的足迹。用C设计的操作系统通常都有用C设计的系统库。这些系统库反过来用于构建高级库(如OpenGL,或者GTK),这些库的设计者通常又会采用系统库所使用的语言。高级库又被应用级开发者用来设计字处理程序、游戏、媒体播放器等诸如此类。他们多数会选择采用高级库所使用的语言来编程。这种模式就这样如此如此进行…
//
食道癌治疗一:药物治疗
食道癌怎么治疗比较好?通常,早期患者可以采用药物进行疾病的控制,通过采用抗癌药物进行治疗,可以很好的缓解不良症状,但是也要和其他的食道癌的治疗方法进行相结合,这样治疗效果会更好。另外,患者要定期的检查血象,时刻注意药物的反应。
食道癌治疗二:手术治疗
在发现疾病初期的时候,很多患者就视为手术切除是首选方法,尤其针对早期病情有着非常明显的治疗效果。可以依据癌肿的大小、发病部位或者是全身状况等选择手术。但是,手术治疗对患者的身体里来说有一定的创伤性。
食道癌治疗三:放射治疗
通过多年的临床诊断观察,发现放射治疗可以单独使用,但一般情况下,放射治疗要结合着手术治疗,因为不管是在术前还是术后,通过放射治疗就能缩减肿瘤的大小或者铲除残留的爱细胞,提高手术的成功率,控制癌细胞的扩散。
//
  为什么是C,而不是另一个高级语言?
  C最主要的设计是用于生成可移植代码,同时保持性能又能最小化脚印,而这本来就是“高级”接口打算在操作系统或者其它程序上发挥的作用。作为一种既稳定又成熟的语言,其特性长期来看未必会消失,而是移植到了大多(如果不是所有)的平台上。
  例如,C程序能够编译运行在这些设备上,包括HP 50g计算器(ARM处理器)、TI-89计算器(68***00处理器)、Palm OS Cobalt智能手机(arm处理器)、原始的iMac(PowerPC)、Arduino(Atmel AVR)和Intel iMac(Intel Core 2 Duo)。几乎所有流行的编程语言都至少能运行在这些设备的其中一种上,而C可能是唯一可以运行在三种以上的这些设备的编程语言。
  一个最有力的理由是内存分配。不像大多计算机语言,C允许程序员直接写内存。在C中如结构体、指针和数组,这些设计的目的就是用一种高效且机器无关的方式去构建和操作内存。尤其是,C给出了在数据结构的内存层上的控制方法。此外,动态内存分配是程序员掌控,这必然意味着内存重分配成为了程序元的负担。而Java和Perl之类的语言则将程序员从对内存分配和指针的担心之中解救出来。一般而言这是件好事,因为写高级程序时处理内存一个很容易出错的过程。然而,当处理低层代码时,例如操作系统控制一个设备的部分,C提供了一个统一清晰的接口。在其它的高级语言如Java中则没有这些性能。
  Perl、PHP、Python和Ruby这些语言可能很强大,能支持许多C缺省不支持的特性,而一般这些语言是不能用自己实现的。恰恰相反,这些语言多数最初都是依赖C(或者另一种高性能编程语言)写成,而且使用之前必须先要移植到新平台上。
  与所有编程语言一样,是否优先选择C语言要视技术和商业需求而定

26

主题

27

回帖

80

牛毛

初生牛犊

积分
80
发表于 2012-8-28 17:06:24 | 显示全部楼层 来自 浙江省杭州市
怎么中间来了个食道治疗。。。。
已绑定手机

192

主题

7146

回帖

1401

牛毛

VIP推广永久卡

http://www.gxcpcb.com 硅芯创科技

积分
1422
QQ
发表于 2012-8-29 15:27:07 | 显示全部楼层 来自 广东省深圳市
让我多了解一些知识

2

主题

89

回帖

47

牛毛

初生牛犊

积分
47
发表于 2012-9-5 11:09:30 | 显示全部楼层 来自 山东省潍坊市
让我多了解一些知识
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-25 04:46 , Processed in 0.168242 second(s), 48 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表