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。
C语言之父——里奇
在学习C语言之前,我们先了解一下C语言的历史。
C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。由于其高效和可移植性,适应于不同硬件和软件平台,深受开发员的青睐。
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) 第二版》。
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编译器限制,代码正常执行。
#include<stdio.h>
int main()
{
int abcdefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweudefgsjdfshfkshfkshfkjshifhweiuthrewuiriweuhriuwehweuihgfdiwehfuiwehfuiwehfiwehfiewhfiuhweihsiuhf=;
printf("hello world");
return ;
}
aaarticlea/png;base64,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aSUl12drarm+fuihh5orrrjcXHPNteVaDztHAAEEEEDglyagwLtu3YMSh60AXF/z5y9ICcBLBd/6RKaAOVcg/kvDyXS8W221lWnTprU5+eSTzOabb26ef/4FM3ToMKPVYCpa2yva8SR7liXgzNQf+V6LDNIvRKLPbbPNNrY/W5njjz/evTRt2lTzxhtv2P8/YhYuXJgfwOKcAAAgAElEQVRv9z/b+5999pl57733jC4WFOTWqLG3+fDDjxKj9j/88INZt26d+eabtT/LMeqYdIFAQQABBBBAAIFUAY14Zyp6PXn0O2PwnemDZXktUxBfXvvZlLoU6AwcOMCsXLnSXH75FW6UsXfvEnPppZeYu+66uyyHzGd+ZoFu3bqar7/+2vbh5eaJJx4zrVq1NvXq1TPXXnuNadu23c98dLmr1/l42WWXmhNO2HDh8MwzG1NHli59z7bpstw7+OldpbBkujh56KEHUj5/yy2DzOOPP5F3nxr1VtFFDAUBBBBAAAEEUgU0yp2ppL9eLsF3vpSAbKOj6a/n248aGGebhg0bulHEfff9nfniiy/MPffcZ6ZPn57wadToBLP99tubLl26GY0sqgwfPsIMHjyo4OC7adMLzXnnnWt22WUXo1HMhx+eah56aEpKXxx33LEusN93331dwD9x4iQbID6Zso2O+eKLW5j996/tgshZs142d9wxwnz55Zcp2+X74ZBD6pnWrVuZ2rVruxHTefPmmdtvH2b++9//Jj6a75irVavm/I488giz44472ouT79zo8UMPPWxmz57t9pPcD3H6JN9xb+r7Rx99lGnS5Fzz1VdfuV19bvOtZsyY4b4KLXH664wzTjctW15sdt99d9fvkyZNLrQat/3Wdsmifv362LstDV2/Dx58m3nmmWfMBRecby8grjQKlKNzNF8FOrduvnlgvs3sSPuyvNtoA0a9YzGxEQIIIIAAAjkFyiX4zpcSkPOIkt6Ms5982yhgvOGGXmbQoMHm1VdfNXvvvbfp2/cG89FHH5k5c+a42k455RTzyCOPuqCmTp06NmC5ybz55psFrwpx6qmnmMaNz7b7v9H8+9//NjVr7mdKSkpcgP3ssxuCPgVVHTt2sEHUrTYHaL7ZddddTbNmTUsF3xdeeIEZN26cyxNSSoyC9e7du9oR+T5x+dx27du3t0H7HWbRosVmu+22M+3a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" alt="" />
3. 关键字
关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。
C语言的关键字分为以下几类:
分类 | 说明 |
---|---|
类型说明符 | 用于定义、说明变量、函数或其它数据结构的类型。int、double等。 |
语句定义符 | 用于表示一个语句的功能。if else就是条件语句的语句定义符。 |
预处理命令字 | 用于表示一个预处理命令。include。 |
4. 运算符
C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成,如加号(+)、减号(-)、乘号(*)等。
5. 分隔符
在C语言中采用的分隔符有逗号(,)和空格两种。逗号主要用在类型说明和函数
参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把
int a; 写成 inta; C语言编译器会把 inta 当成一个标识符处理,其结果必然出错。
6. 常量
常量是值不能被改变的量。C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门给予介绍。
7.变量
变量由用户自己命名,用来保存特定类型的数据,数据可以被改变。数据类型有整数、浮点数、字符等,将在后面章节进行介绍。
8. 注释
标准C语言的注释是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任
何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。
另外,各种编译器都支持以“//”开头的注释,虽然它不是标准C的规定,但是早已成为事实标准,在程序中广泛使用。“//”仅支持单行注释,也就是说,注释中不能出现换行符;而“/* */”支持多行注释,注释中可以出现换行符。