‘壹’ c语言的最新版本是多少
C语言最新标准是C99. 即1999年出的最新C语言标准。
后续C语言不再出新标准,而是转向C++标准的完善。最新的C++标准为2011年出的C++11.
C语言历史版本:
1988年, 美国国家标准研究所(ANSI)为C语言制定了第一套C语言标准,即ANSI标准,在1990年,ISO再次采用了这种标准,所以也有一种别称叫“C90”。
1999年,ISO对C语言进行了修订,简称“C99”。后来ANSI又采用了这种标准。
‘贰’ C语言有几个版本
诚如上面兄弟说的,
不过编译器倒有几个,
有turbo C 用于DOS系统,
gcc 用于UNIX系统
vc++ windows下的C++编译器,M$出的
Borland C++ windows下的编译器,是borland出品的,
C++是C的超集,是被面向对象改造了的C,
java从C衍生出来,是90%的面向对象的编程语言,
PHP是网络的C,用做动态网页编程.
‘叁’ c程序的C语言的发展历史
C语言的发展颇为有趣。它的原型ALGOL 60语言。(也称为A语言)
1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。
1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。
1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。
而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名着《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
1987年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多着名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。
1990年,国际化标准组织ISO(International Standard Organization)接受了87 ANSI C为ISO C 的标准(ISO9899-1990)。1994年,ISO修订了C语言的标准。目前流行的C语言编译系统大多是以ANSI C 为基础进行开发的,但不同版本的C编译系统说实现的语言功能和语法规则有略有差别。
‘肆’ c语言的发展史
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
后来于1980年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局(American National Standard Institution)为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。1980年代至今的有关程序开发工具,一般都支持符合ANSI C的语法。
C语言是一个程序语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
早期发展
C语言最早是由丹尼斯·里奇为了在PDP-11电脑上运行的UNIX系统所设计出来的编程语言,第一次发展在1969年到1973年之间。之所以被称为“C”是因为C语言的很多特性是由一种更早的被称为B语言的编程语言中发展而来。早期操作系统的核心大多由汇编语言组成,随着C语言的发展,C语言已经可以用来编写操作系统的核心。1973年,Unix操作系统的核心正式用C语言改写,这是C语言第一次应用在操作系统的核心编写上。
K&R C
1978年,丹尼斯·里奇(Dennis Ritchie)和布莱恩·柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程序员称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色:
结构(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道用户要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最低标准要求,许多老旧的编译仍然运行K&R C的标准。
ANSI C 和 ISO C
1989年,C语言被 ANSI 标准化(ANSI X3.159-1989)。标准化的一个目的是扩展K&R C。这个标准包括了一些新特性。在K&R出版后,一些新特性被非官方地加到C语言中。
void 函数
函数返回 struct 或 union 类型
void * 数据类型
在ANSI标准化自己的过程中,一些新的特性被加了进去。ANSI也规定了一套标准函数库。ANSI ISO(国际标准化组织)成立 ISO/IEC JTC1/SC22/WG14 工作组,来规定国际标准的C语言。通过对ANSI标准的少量修改,最终通过了 ISO 9899:1990。随后,ISO标准被 ANSI 采纳。
传统C语言到ANSI/ISO标准C语言的改进包括:
增加了真正的标准库
新的预处理命令与特性
函数原型允许在函数申明中指定参数类型
一些新的关键字,包括 const、volatile 与 signed
宽字符、宽字符串与字节多字符
对约定规则、声明和类型检查的许多小改动与澄清
WG14工作小组之后又于1995年,对1985年颁布的标准做了两处技术修订(缺陷修复)和一个补充(扩展)。下面是 1995 年做出的所有修改:
3 个新的标准库头文件 iso646.h、wctype.h 和 wchar.h
几个新的记号与预定义宏,用于对国际化提供更好的支持
printf/sprintf 函数一系列新的格式代码
大量的函数和一些类型与常量,用于多字节字符和宽字节字符
C99在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大。《标准修正案一》在1995年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO 9899:1999的发表。它通常被称为C99。C99被ANSI于2000年3月采用。
在C99中包括的特性有:
增加了对编译器的限制,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节(extern 要求支持到 31)。
增强了预处理功能。例如:
宏支持取可变参数 #define Macro(...) __VA_ARGS__
使用宏的时候,允许省略参数,被省略的参数会被扩展成空串。
支持 // 开头的单行注释(这个特性实际上在C89的很多编译器上已经被支持了)
增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等类型
支持不定长的数组,即数组长度可以在运行时决定,比如利用变量作为数组长度。声明时使用 int a[var] 的形式。不过考虑到效率和实现,不定长数组不能用在全局,或 struct 与 union 里。
变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效。
允许采用(type_name){xx,xx,xx} 类似于 C++ 的构造函数的形式构造匿名的结构体。
初始化结构的时候允许对特定的元素赋值,形式为:
struct {int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 };
struct {int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5} // 3,4 是对 .c,.d 赋值的
格式化字符串中,利用 \u 支持 unicode 的字符。
支持 16 进制的浮点数的描述。
printf scanf 的格式化串增加了对 long long int 类型的支持。
浮点数的内部数据描述支持了新标准,可以使用 #pragma 编译器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到当前的函数名。
允许编译器化简非常数的表达式。
修改了 / % 处理负数时的定义,这样可以给出明确的结果,例如在C89中-22 / 7 = -3, -22 % 7 = -1 ,也可以-22 / 7= -4, -22 % 7 = 6。 而C99中明确为 -22 / 7 = -3, -22 % 7 = -1,只有一种结果。
取消了函数返回类型默认为 int 的规定。
允许 struct 定义的最后一个数组不指定其长度,写做 [] 。
const const int i 将被当作 const int i 处理。
增加和修改了一些标准头文件,比如定义 bool 的 <stdbool.h> ,定义一些标准长度的 int 的 <inttypes.h> ,定义复数的 <complex.h> ,定义宽字符的 <wctype.h> ,类似于泛型的数学函数 <tgmath.h>, 浮点数相关的 <fenv.h>。 在<stdarg.h> 增加了 va_ 用于复制 ... 的参数。<time.h> 里增加了 struct tmx ,对 struct tm 做了扩展。
输入输出对宽字符以及长整数等做了相应的支持。
‘伍’ C语言的发展史
发展史:
C语言的祖先是BCPL语言。
1967年,剑桥大学的 Martin Richards 对CPL语言进行了简化,于是产生了BCPL(Basic Combined Pogramming Language)语言。
1970年,美国贝尔实验室的 Ken Thompson。以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。
在1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
为了使UNIX操作系统推广,1977年Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。
1990年,国际标准化组织ISO(International Organization for Standards)接受了89 ANSI C 为I SO C 的标准(ISO9899-1990)。
1994年,ISO修订了C语言的标准。
1995年,ISO对C90做了一些修订,即“1995基准增补1(ISO/IEC/9899/AMD1:1995)”。
1999年,ISO有对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,尤其是对C++中的一些功能,命名为ISO/IEC9899:1999。
2001年和2004年先后进行了两次技术修正。
目前流行的C语言编译系统大多是以ANSI C为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。
‘陆’ C语言到底有几个版本
有几种都没关系,反正基本都是一样的。
不一样的版本,使用的语言还是一样的C,所以不用担心版本不同。
至于C Builder,应改是C++ Builder 是基于C上的另一种编程语言。
以下是介绍:
一个公司出的以c为基础的编程工具
C++builder
C++Builder 是Borland公司98年推出的全新32位Windows开发工具。C++Builder 不仅继承了Delphi使用简便,功能强大,效率高等特点,而且它还结合C++语言所有优点.是一个Windows环境下基于C++语言进行快速程序开发的集成开发环境,提供了一个强大的可视化控件库,能够使用C++语言方便、快速、高效地进行Windows应用程序开发,尤其是开发界面、数据库等Windows应用程序更加快速、高效。
C++ Builder是Borland继Delphi之后又推出的一款高性能可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。
C++ Builder优化的32位原码(Native Code)编译器建立在Borland公司久经考验的编译技术基础之上,提供了高度安全性、可靠性、快速性的编译优化方法,完全编译出原始机器码而非中间码,软件执行速度大大提高。在编译和连接过程中,C++ Builder自动忽略未被修改的原代码和没有使用的函数,从而大大提高了编译和连接速度。C++ Builder的CPU透视工具包括五个独立的小面板,可以对正在运行程序从内部进行深层次的了解。另外C++ Builder还提供了一个专业开发环境所必需的命令行工具,以帮助建立C++程序或者准备编译和连接的程序进行更精细的控制。
C++ Builder可以编译所有符合ANSI/ISO标准的原代码,支持最新ANSI C++/C语言特征:模板(Templates)、例外(Exceptions)、运行类型信息(Runtime Type Information)、Namespaces等,另外它还可以使用标准C++库且支持标准模板库(STL),以前的所有C++/C原代码可以不经过修改,直接移植到C++ Builder环境下来。C++ Builder完全支持32位长文件名、多线程程序设计,且允许程序员直接调用任何Win95和NT API函数。
C++ Builder的集成开发环境(IDE)提供了可视化窗体设计器、对象观察器、控件板、工程管理器、集成编辑器和调试器等一系列可视化快速应用程序开发(RAD)工具,让程序员可以很轻松地建立和管理自己的程序和资源。
不久前对开发工具优劣的讨论在程序员中引起极大的反响,纷纷在论坛发表自己的看法,程序员们都坚定的支持自己的开发工具。争论集中在borland和微软的开发工具上,borland提供了两种优秀的开发工具Delphi和C++ Builder,不少人欣赏borland产品的优越性能,而更多的人则看好微软的强大实力,但在小编看来在目前他们都能在市场中存在,那么就证明无论C++ Builder还是Vsiual C++都是非常优秀的开发工具,如果你选择了,那么就坚持下去。在这场争论中有不少精彩的评论,我选择了其中的两篇佼佼者供大家赏析。
‘柒’ 为什么c语言有很多不同的版本
新的版本都是基于旧的版本升级过来的,以此来改善编译器的性能、增加对新平台的支持以及提高竞争能力,不同的编译器支持的标准语法是一致的(不然没资格称C编译器),但是每个编译器自身可以添加额外的语法、库来扩展语言的表达能力,这就是所谓的xx编译器扩展。使用语言扩展通常能获得较高的性能和灵活性,但是损失了跨平台性。不仅仅是编译器有很多版本,语言本身都有很多版本。
‘捌’ C语言有很多版本的吗
C只是高级语言的一个基础语言,C++是C发展出来的,但是他是C++仍然使用了C的语法和基本函数。现在是C#堪称C++++,C是全面向过程编程的语言,而C++能部分面向对象,C#则实线了完全面向对象,C的编程环境主要是TC,其实说是环境还不如说它就是一个编译器,C++主要用VC来编程,VC基本上做到了集成开发,C#则是VS,VS是一个功能强大的IDE环境,他不仅提供了视窗化开发,还提供了网页编程环境。VC++和C#都是微软的产物。还有一个Borland
C++,他的开发工具就是
Borland
C++Builder(简称BCB),其实说白了,C就一个版本,只是针对不同公司的开发环境,在语法和函数库上都会有些改变,就像微软的VJ++一样,他用的是微软的类包,但是语法机构和运行方式完全和SUN
JAVA一样。
‘玖’ 谭浩强的C语言程序设计。各个版本有什么区别
就拿第四版和第三版作对比,区别如下:
1、指代不同
(1)C程序设计谭浩强版本的第四版:这是清华大学出版社2010年出版的一本书,作者是谭浩强。
(2)C程序设计谭浩强版本的第三版:被普遍认为是学习C语言的一本好教科书,并且被全国大多数大学所选择。
2、影响不同
(1)C程序设计谭浩强版本的第四版:本书被大多数大学用作C语言学习的教科书,且纠正了第三版中的不足。
(2)C程序设计谭浩强版本的第三版:获原电子工业部优秀教科书一等奖,大学出版社畅销书特等奖,全国高等院校计算机基础教育研究会优秀教材一等奖。
3、特点不同
(1)C程序设计谭浩强版本的第四版:内容先进,体系合理,概念清晰,说明详尽,步骤少,分散困难点,实例丰富,通俗易懂,文字通俗易懂,是初学者学习C程序设计理想的教材,可以用作大学所有专业的正式教材。
(2)C程序设计谭浩强版本的第三版:已发行超过700万册,创下了类似书籍的全国记录,并且是学习C语言的主流书籍。