C语言基本概念

C语言基本概念

国际标准组织ISO/IEC发布了C++11编程语言标准,售价352瑞士法郎。C++作者Bjarne
Stroustrup在自己网站上提供了标准草案文本(PDF),应该与最后的标准内容相差不大。C++0x/11标准在今年8月获得一致通过,它是1998年以来C++语言的第一次大修订,对C++语言进行了改进和扩充,新的特性也扩展了语言在灵活性和效率上的传统长处,例如转移语义,lambda函数,等等。

1. 标准C语言

C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同。

ANSI
C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语言”。ANSI
C于1980年由美国国家标准局(American National Standards
Institute,简称ANSI)对外发布,各种编译器几乎都完整支持ANSI
C,市面上的书籍、大学里的教材、网上的教程大都以ANSI
C为基础进行讲解,C语言中文网也不例外,也以ANSI C为基础。

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。

科普一下:

C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局
(American National Standards
Institute,简称ANSI)开始制定C语言标准,于1989年12月完成,并在1990年春天发布,称之为ANSI
C,有时也被称为 C89 或 C90。

澳门新萄京官方网站 1
C语言之父——里奇

在学习C语言之前,我们先了解一下C语言的历史。

澳门新萄京官方网站,C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。由于其高效和可移植性,适应于不同硬件和软件平台,深受开发员的青睐。

(文/solidot)    

C语言早期发展

1969-1973年在美国电话电报公司(AT&T)贝尔实验室开始了C语言的最初研发。根据C语言的发明者丹尼斯·里奇
(Dennis Ritchie) 说,C 语言最重要的研发时期是在1972年。

说明:丹尼斯·里奇(Dennis
Ritchie),C语言之父,UNIX之父。1978年与布莱恩·科尔尼干(Brian
Kernighan)一起出版了名著《C程序设计语言(The C Programming
Language)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。2011年10月12日(北京时间为10月13日),丹尼斯·里奇去
世,享年70岁。

C语言之所以命名为C,是因为C语言源自Ken Thompson发明的
B语言,而B语言则源自BCPL语言。

C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。

K&R C

1978年,丹尼斯·里奇(Dennis Ritchie)和布莱恩·科尔尼干(Brian
Kernighan)出版了一本书,名叫《The C Programming
Language》(中文译名为《C程序设计语言》)。这本书被C语言开发者们称为“K&R”,很多年来被当作C语言的非正式的标准说明。人们称
这个版本的C语言为“K&R C”。

1988年丹尼斯·里奇(Dennis Ritchie)和布莱恩·科尔尼干(Brian
Kernighan)修改此书,出版了《The C Programming
Language》第二版,第二版涵盖了ANSI
C语言标准。第二版从此成为大学计算机教育有关C语言的经典教材,多年后也没再出现过更好的版本。

ANSI C 和 ISO C

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

为统一C语言版本,1983年美国国家标准局(American National Standards
Institute,简称ANSI)成立了一个委员会,来制定C语言标准。1989年C语言标准被批准,被称为ANSI
X3.159-1989 “Programming Language C”。这个版本的C语言标准通常被称为ANSI
C。又由于这个版本是 89 年完成制定的,因此也被称为 C89。

后来 ANSI 把这个标准提交到 ISO(国际化标准组织),1990年被 ISO
采纳为国际标准,称为 ISO
C。又因为这个版本是1990年发布的,因此也被称为C90。

ANSI C(C89) 与 ISO C(C90)内容基本相同,主要是格式组织不一样。

因为 ANSI 与 ISO 的C标准内容基本相同,所以对于C标准,可以称为ANSI
C,也可以说是ISO C,或者 ANSI / ISO C。

注意:以后大家看到 ANSI C、ISO
C、C89、C90,要知道这些标准的内容都是一样的。

目前,几乎所有的开发工具都支持 ANSI / ISO
C 标准。是C语言用得最广泛的一个标准版本。

C99

在ANSI
C标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年C程序设计语言工作组对
C语言进行了一些修改,成为后来的1999年发布的 ISO/IEC
9899:1999标准,通常被成为C99。

但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的時候,微软和Borland却似乎对此不感兴趣。

说明:GCC(GNU Compiler
Collection,GNU编译器集合)是一套由GNU工程开发的支持多种编程语言的编译器。

综上所述,目前广泛使用的C语言版本是 ANSI / ISO
C,最经典的C语言教材是《C程序设计语言(The C Programming Language)
第二版》。

澳门新萄京官方网站 2
C语言版本更迭史

C语言对其它语言的影响

很多编程语言都深受C语言的影响,比如C++(原先是C语言的一个扩展)、C#、Java、PHP、Javascript、Perl、LPC和UNIX的C
Shell等。

也正因为C语言的影响力,掌握C语言的人,再学其它编程语言,大多能很快上手,触类旁通,很多大学将C语言作为计算机教学的入门语言。

 

2. 标识符

 

C语言规定,标识符只能是字母(A~Z,
a~z)、数字(0~9)和下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。
以下标识符是合法的: a, x,  x3, BOOK_1, sum5 以下标识符是非法的: 3s   
以数字开头 s*T    出现非法字符* -3x    以减号(-)开头 bowy-1   
出现非法字符减号(-)

在fedora 21
里面不限制标识符的长度,但它不受gcc编译器限制,代码正常执行。

1 #include<stdio.h>  2 int main()  3 {  4     int abcdefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweuihgfdiwehfuiwehfuiwehfiwehfiewhfiuhweihsiuhf=0;  5     printf("hello world");  6     return 0;  7 }

澳门新萄京官方网站 3

网站地图xml地图