2.2 C语言的基本语法
学习C语言开发之前,首先需要了解C语言程序的语法特点。
2.2.1 C语言中的分号
在C语言程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。例如,下面是两个不同的语句:
printf("Hello, World! \n"); return 0;
2.2.2 C语言中的标识符
C语言标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母A~Z或a~z或下画线_开始,后跟零个或多个字母、下画线和数字(0~9)。
C语言标识符内不允许出现标点字符,比如@、$和%。C语言是区分大小写的编程语言。因此,在C语言中,Manpower和manpower是两个不同的标识符。下面列出几个有效的标识符:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
另外,标识符的命名有以下的语法规则:
(1)标识符只能是由英文字母(A~Z,a~z)、数字(0~9)和下画线(_)组成的字符串,并且其第1个字符必须是字母或下画线。
如:int MAX_LENGTH; /*由字母和下画线组成*/
(2)标识符不能是C语言的关键字。
(3)在标识符中,大小写是有区别的。
如:BOOK和book是两个不同的标识符。
(4)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。应当直观且可以拼读,让别人看了就能了解其用途。
(5)标识符最好采用英文单词或其组合,不能太复杂,且用词要准确,以便记忆和阅读。因此,命名应尽量有相应的意义,以便阅读和理解,做到“顾名思义”。
(6)标识符的长度应当符合min-length && max-information(最短的长度表达最多的信息)原则。
☆大牛提醒☆
标准C语言不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如,在某版本C语言中规定,标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。
2.2.3 C语言中的关键字
由ANSI标准定义的C语言关键字共32个,根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。
1.数据类型关键字
数据类型关键字又可分为基本数据类型关键字、类型修饰关键字、复杂类型关键字和存储级别关键字。
(1)基本数据类型关键字有5个,如表2-1所示。
(2)类型修饰关键字有4个,如表2-2所示。
(3)复杂类型关键字有5个,如表2-3所示。
(4)存储级别关键字有6个,如表2-4所示。
表2-1 基本数据类型关键字
表2-2 类型修饰关键字
表2-3 复杂类型关键字
表2-4 存储级别关键字
2.流程控制关键字
流程控制关键字包括跳转结构关键字、分支结构关键字、循环结构关键字三种。
(1)跳转结构关键字有4个,如表2-5所示。
(2)分支结构关键字有5个,如表2-6所示。
(3)循环结构关键字有3个,如表2-7所示。
☆大牛提醒☆
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。另外,在C语言中,关键字都是小写的。
除了由ANSI标准定义的32个C语言关键字外,在C99中增加了5个关键字,如表2-8所示。
表2-5 跳转结构关键字
表2-6 分支结构关键字
表2-7 循环结构关键字
表2-8 新增的5个关键字
2.2.4 C语言中的空格
在C语言中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(如int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:
int age;
在这里,int和age之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:
fruit = apples + oranges; //获取水果的总数
fruit和=,或者=和apples之间的空格字符不是必需的,但是为了增强可读性,用户可以根据需要适当增加一些空格。
2.2.5 C语言的注释方法
在编辑代码的过程中,希望加上一些说明的文字,来表示代码的含义,这就是注释,给代码加上注释是很有必要的。在C语言中,注释的要求如下。
(1)使用/*和*/表示注释的起止,注释内容写在这两个符号之间,注释表示对某语句的说明,不属于程序代码的范畴。例如:
sum= 8 + 9; /*获取数值8和9的和*/
(2)/和*之间没有空格。
(3)注释可以注释单行,也可以注释多行,而且注释不允许嵌套,嵌套会产生错误,例如:
sum= 8 + 9; /*获取数值/*8和9*/的和*/
这段注释放在程序中不但起不到说明的作用,反而会使程序产生错觉,原因是“获取数值”前面的/*与“和9”后面的*/匹配,注释结束,而“的和*/”就被编译器认为是违反语法规则的代码。