C语言优势何在?

为什么C语言移植性好??除了宏的作用外,还有什么原因吗?听某些人说其移植性好是:因为他是一个最早的好语言,因此在各平台用得多,发展得多,自然各个平台上都有它的编译器,大家... 为什么C语言移植性好??除了宏的作用外,还有什么原因吗?
听某些人说其移植性好是:因为他是一个最早的好语言,因此在各平台用得多,发展得多,自然各个平台上都有它的编译器,大家都有其编译器,那它的移植性就好了。.........就只是因为这样吗?那如果别人也在其他平台上搞个JAVA编译器,C#编译器(不过似乎在小机器上装不上...),那这些高级语言不也就移植性好了吗???
还是因为C语言本身语言性质的问题??会不会是因为其他高级语言编出的代码结构很复杂,很难翻译成其他处理器支持的机器代码?
新手的问题...期待高人指点..
展开
 我来答
wuhouzheng
2009-04-22 · TA获得超过8561个赞
知道小有建树答主
回答量:1010
采纳率:100%
帮助的人:1279万
展开全部
早期的C 语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。

在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本是Borland C++, Symantec C++和Microsoft VisualC++。
C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

1•C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字:
auto break case char const continue default
do double else enum extern float for
goto if int long register return short
signed static sizof struct switch typedef union
unsigned void volatile while
9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。
Turbo C扩充了11个关键字:
asm _cs _ds _es _ss cdecl far
huge interrupt near pascal
注意:在C语言中,关键字都是小写的。
2•运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
3•数据结构类型丰富。
4•具有结构化的控制语句。
5•语法限制不太严格,程序设计自由度大。
6•C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。
7•生成目标代码质量高,程序执行效率高。
8•与汇编语言相比,用C语言写的程序可移植性好。
但是,C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大,功能强,但较其他高级语言在学习上要困难一些。

但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
百度网友feb6983
2009-04-22
知道答主
回答量:32
采纳率:0%
帮助的人:23.2万
展开全部
最简单的解释——C语言速度快,大公司处理的数据量都是上亿的数据,如果用那些高级语言——java什么的 速度会慢很多。这也是为什么大家用C语言的原因——它比汇编高级一点,也可以操作底层,现在C语言主要应用于嵌入式编程,这是别的语言做不了的事情
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
广铄02h
2009-04-25
知道答主
回答量:11
采纳率:0%
帮助的人:12.1万
展开全部
C语言是最基础的语言..因为他的程序都是计算机最深层的东西..所以如果要学C#或者系学好JAVA.都必须要掌握C语言.

只要你明白这个就OK了@
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-04-22
展开全部
楼上内容摘自 WinTC 的 c语言教程 tcstudy.chm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
152307a
2009-04-22
知道答主
回答量:31
采纳率:0%
帮助的人:19.3万
展开全部
c语言的移植性不是很好的.前提条件是你做好了足够的可移植的手段.
移植性好的语言是代码编译为可执行文件后,可以直接拿到别的平台运行,c语言做到这一点有时候很麻烦.java语言可以做到这一点,是因为java程序都是运行在java的虚拟机里面的.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式