什么是C语言!

如题所述

C语言是目前世界上流行,使用最广泛的高级程序设计语言.
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的.
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言.
常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等......
随着微型计算机的日益普及, 出现了许多C语言版本.由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方.为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3.C语言的主要特点 .C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能.
许多著名的系统软件, 如DBASE Ⅲ PLUS,DBASE Ⅳ 都是由C 语言编写的.用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS ,WORDSTAR等就是用这种方法编写的.
C语言的特点
1. 简洁紧凑,灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示.它把高级语言的基本结构和语句与低级语言的实用性结合起来. C 语言可以象汇编语言一样对位,字节和地址进行操作, 而这三者是计算机最基本的工作单元.
2. 运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符.C语言把括号,赋值,强制类型转换等都作为运算符处理.从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算.
3. 数据结构丰富
C的数据类型有:整型,实型,字符型,数组类型,指针类型,结构体类型,共用体类型等.能用来实现各种复杂的数据类型的运算.并引入了指针概念,使程序效率更高.另外C语言具有强大的图形功能, 支持多种显示器和驱动器.且计算功能,逻辑判断功能强大.
4. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立.这种结构化方式可使程序层次清晰, 便于使用,维护以及调试.C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环,条件语句控制程序流向,从而使程序完全结构化.
5. C语法限制不太严格,程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误.而C语言允许程序编写者有较大的自由度.
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位,字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件.
7. C语言程序生成代码质量高,程序执行效率高
一般只比汇编程序生成的目标代码效率低10へ20%.
8. C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统, 如DOS,UNIX,也适用于多种机型.
C#和.NET平台的概貌
2000年6月,微软发布C#语言和.NET平台.C#语言是一种强类型的,面向对象的
语言,它具有语法简单,表达力强的特点,而.NET平台则是构成微软的".NET计划"
的基石.
NET平台的核心包括两方面,一方面就是著名的通用语言运行机(Common
Language Runtime),虽然这个名词起得晦涩了点,不过大家可以拿它和Java的虚拟
机来作比较,二者完成的任务大致相同;另一方面就是一大堆通用函数库,这些库函
数可以被多种语言调用,并且通过编译都产生一种共同的中间语言(Intermediate
Language),这种语言也可以拿Java的字节码来类比,虽然完成的方式有些不一样.
二者都编译成跨平台的,跨语言的代码,并且代码只能在一个受控制的环境中运

自动回收垃圾内存,并且消除了指针(在C#中可以使用指针,不过必须注明
unsafe关键字)
都不需要头文件,所有的代码都被"包(package)"限制在某个范围内,并且因
为没有头文件,所以消除了类定义的循环依赖
所有的类都是从对象派生出来,并且必须使用New关键字分配内存
用对象加锁的方式来支持多线程
都具有接口(interface)的概念
任何变量均在使用前进行初始化;
不能使用整数来返回到if条件语句中,必须使用布尔值;
"Try"模块后可以有"finally" ;
几种常用开发工具的比较
跨平台特性
VB:无 ★
C++ Builder/Dephi:WINDOWS家族,Linux ★★★
VC:无 ★
JAVA:所有能够运行JAVA虚拟机的操作系统 ★★★★
面向对象特性
VB:差 ★
C++ Builder/Dephi:很好 ★★★★
VC:一般 ★★
JAVA:非常好 ★★★★★
开发效率
VB:较高 ★★★
C++ Builder/Dephi:高 ★★★★
VC:低 ★
JAVA:高 ★★★★
代码执行效率
VB:一般 ★★
C++ Builder/Dephi:很高 ★★★★★
VC:很高 ★★★★★
JAVA:低 ★
易学程度
VB:非常好 ★★★★★
C++ Builder/Dephi:好 ★★★
VC:不好 ★
JAVA:不好 ★
使用人数
VB:很多 ★★★★★
C++ Builder/Dephi:较多 ★★★
VC:多 ★★★★
JAVA:不多 ★
厂商财力
VB:非常强大 ★★★★★
C++ Builder/Dephi:一般 ★★
VC:非常强大 ★★★★★
JAVA:强大 ★★★★
发展潜力
VB:差 ★
C++ Builder/Dephi:一般 ★★
VC:好 ★★★
JAVA:非常好 ★★★★★
VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力很强
是其仅有的两点优势
C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用,网络及
Web应用,分布式应用,可重用组件,系统软件,驱动程序,多媒体及游戏
等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++ Builder
唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的
两点不足
VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局
限于
开发windows系统应用,可重用组件及驱动程序
JAVA:适用于开发除了系统软件,驱动程序,高性能实时系统,大规模图

处理以外所有的应用
综合评价:
VB:46
C++ Builder/Dephi:67/61
VC:55
JAVA:59
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一 Basic语言 & Visual Basic
优点
(1)Basic 简单易学,很容易上手.
(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序.
(3)众多的控件让编程变得象垒积木一样简单.
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁.
缺点
(1)Visual Basic 不是真正的面向对象的开发文具.
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限.
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码.它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢.
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品.对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择.
方案二 Pascal语言 & Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想.
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化.
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快.
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库.
缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦.
综述: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友.
方案三 C语言 & Visual C++
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西.
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程.
(3)VC是微软制作的产品,与操作系统的结合更加紧密.
缺点
对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难.
综述: VC是程序员用的东西.如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的.
方案四 C++语言 & C++ Builder
优点
(1)C++语言的优点全部得以继承.
(2)完全的可是化.
(3)极强的兼容性,支持OWL,VCL和MFC三大类库.
(4)编译速度非常快.
综述:有人认为C++ Builder 是最好的编程工具.它既保持了C++语言编程的优点,又做到了完全的可视化.
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-12-23
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。

早期的操作系统等系统软件主要是用汇编语言编写的(包括 UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作),例如:对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。

C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。 1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL(CombinedProgram- ming Language)语言。CPL语言在ALGOL 60的基础上接近了硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin Richards对 CPL语言作了简化,推出了BCPL(Basic Combined Programming Language)语言。1970年美国贝尔实验室的 Ken Thompson以 BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的 B语言( 取 BCPL的第一个字母),并用 B语言写第一个UNIX操作系统,在PDP-7上实现。 1971年在PDP-11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。1972年至 1973年间,贝尔实验室的 D.M.Ritchie在B语言的基础上设计出了C语言(取 BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练、接近硬件),又克服了它们的缺点(过于简单、数据无类型等)。 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.Thom- pson和D.M.ritchie两人合作把UNIX的90%以上用 C改写(UNIX第5版。原来的 UNIX操作系统是1969年由美国的贝尔实验室的 K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的)。

后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用。直到1- 975年UNIX第6版公布后 ,C语言的突出优点才引起人们普遍注意。1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其它机器时所做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如,VAX,AT&T等计算机系统都相继开发了UNIX。随着 UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。

以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和 Dennis M.Ritchie(合称K&R)合著了影响深远了名著《The C Programming Lan- guage》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充 ,制定了新的标准,称为ANSI C。ANSI C比原来的标准C有了很大的发展。K&R在1988年修改了他们的经典著作《The C Progra- mming Language》 ,按照ANSI C的标准重新写了该书。1987年,ANSI C又公布了新标准--87 ANSI C 。目前流行的C编译系统都是以它为基础的。
第2个回答  2007-12-23
c语言是应用广泛的一种高级程序设计语言.一种结构化程序设计语言.不知道你学没学习过程序设计语言?!
我感觉所谓结构化就是它的设计基本思想:顺序结构,选择结构,和循环结构.
让我说其实这就是人和机器的之间一种语言.你把自己想要做的事按照约定好的语法语句告诉计算机,它也在约定的方式把这件事情做出来了。
咱们要学习的就是这种语法和语句,而不必要知道计算机内部是如何句转化的.
第3个回答  2007-12-23
这是本人经过2个小时在网上查找,再经过自已核对,才得出以下关于"什么是C语言"的最佳答案.

C语言是目前世界上流行、使用非常广泛的高级程序设计语言。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。

常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......
第4个回答  2007-12-23
介于高级语言和低级语言间的一种高级编程语言
具体发展特征参照

参考资料:http://www1.nttvu.edu.cn/ntddnew/wskt/my/C/zs/zs11.htm

c语言中!是什么意思?
C语言中"!"的意思为逻辑非操作。接下来 一、逻辑非操作 在C语言中,"!"是一个逻辑运算符,用于表示逻辑非操作。它用来对一个布尔表达式进行取反操作,即将真变为假,将假变为真。在逻辑运算中,"!"运算符的优先级相对较高。二、具体用法 当"!"运算符用在变量前时,表示对该变量的值进行逻辑非...

c语言中!是什么意思?
c语言中的“!”是逻辑运算中的非运算。“!”是C语言中的非运算符,在变量前面使用它,会构建非运算表达式,表达式的返回结果是个布尔值(也就是只有true或false)。对变量使用时,如果变量不是布尔数据类型,将会强制转化为布尔类型再使用,如整形变量123将被转化为true,整形变量0将被转化为false。

C语言中的“!”是什么意思?
C语言是一种计算机程序设计语言,属于高级语言,伴随着伟大的UNIX系统诞生,也因此流传至今。C语言写出来的程序运行比其他高级语言的运行更快。同众多程序设计语言一样,C语言中有着自己的变量定义方式和各种语言普遍具有的顺序、条件、循环三种结构。指针是C语言的一个特色,它使得C语言很强大,也增加了危...

“!”在C语言中是什么意思?
C语言:是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言运算符:是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的...

C语言!是什么东西啊?
是一个控制语句,直到x=0才停止循环,!x是求反的意思,只要x值是零才成立。!x的意思就是x!=0,当X=0时执行while循环!即取反,当X!=0时不执行,!=组合在一起是逻辑运算符“不等于”。!x--这个表示对x作“非”运算。C语言运算符列表:1、优先级1级 结合方向左结合(自左至右)()圆...

c语言!什么意思
在C语言中,感叹号“!”表示逻辑非操作。详细解释:1. 逻辑非操作的含义:在C语言中,感叹号“!”是一个逻辑运算符,用于表示逻辑非操作。它是对一个布尔值或表达式的结果进行取反操作。当对一个值为真的布尔表达式使用逻辑非操作时,结果会为假;反之,如果对一个值为假的布尔表达式使用逻辑非操作...

c语言!是什么意思?
!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。

c语言中!是什么意思?
C语言中"!"是一个逻辑运算符,它代表逻辑非,即对一个值进行取反操作。这个符号用于判断一个条件是否为假,如果原值为真(1),则其结果为假(0);如果原值为假,结果则为真。逻辑非操作在判断语句中非常常见,用来改变一个条件的真假状态,帮助我们构建更复杂的逻辑表达式。逻辑运算符不止"!",...

c语言中(感叹号!)是什么意思?
!表示逻辑非,是逻辑运算符,运算对象是真或假。若表示a不等于0,就写成a!=0;假设a等于1,那a!=0;就是真的,true。C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。其中逻辑运算符...

c语言中感叹号是什么意思
在C语言中,感叹号“!”是一个逻辑运算符,用于表示逻辑“非”操作。它通常用于对某个逻辑表达式或条件进行否定。例如,如果一个条件为真,使用感叹号后,该条件就变成假;反之亦然。二、逻辑非操作 在编程中,逻辑“非”操作经常用于控制程序的流程。通过感叹号可以对一个布尔表达式进行否定操作,从而...

相似回答