C语言基础教程:单词的用法与规则
在C语言中,单词是由若干个有序的字符组成的,单词的集合称为词汇。C语言的单词有如下几种:标识符、关键字、运算符、分隔符、常量、字符串和注释符。
下面对上述7种单词的词法规则逐一详述,有些单词,例如,关键字、运算符、常量和字符串等,后面的章节中还会详细讲述。
1.标识符
标识符是由字母、下划线和数字组成的字符序列,要求第一个字母必须是字母或下划线。
标识符是用来给C语言程序中所使用的变量、函数、语句标号、类型定义等起名字的。C语言本身对标识符所用字符个数不作限制,但是在具体使用中,有些计算机只识别前面8个字符,而其他字符不作识别。另外,对大写小写字母是区分的。例如,a和A分别表示不同的变量。
在使用标识符起名字时,要注意尽量有意义并便于阅读。一般变量名或函数名多以小写字母开始或全部用小写字母,例如,a}, a6, creat_list()等。有人喜欢将表示某种含义的多个英文单词组成的名字中用下划线作为单词间的连接等,如建立链表函数起名为。eat_list()。也有人喜欢将多个英文单词连在一起写而不用下划线分隔,为了表示不同单词而将除第一个单词之外的其他单词的第一个字母大写,如删除链表某结点的函数起名为deleteNode ( ) q
下列的标识符是合法的:
x100,int一cnt,一xy, aB, sum, lotuS、一1一2一3,studentName等。
下面的标识符是非法的;
26d,#mon, ab. c,$xy,M. John,x>=y, m,n,4B等。
读者要学会写出合法的标识符,也要能识别出非法的标识符。
在给变量、函数等起名字时最好能做到“见名知意”,即从标识符的字符集中可知道该变量或函数的含意。例如,year , month , day , nartxe , age , sex等,不难从英文单词中了解变量的含意。
2.关健字
关键字是一种具有特定含意的标识符。关键字又称保留字。因为这些标识符是系统己经
定义过的,不能再定义了,需要加以保留。使用者不能用关键字作为所定义的标识符,因此,读者要知道系统已经使用了哪些保留字。下面将它们分类说明如下(关于这些关键字的含意及用法本书后面章节会有详细讲解)。
(1)标识类型的关键字
int,char,long,float,double,short,unsigned, struct,union,enum,auto,extern,
static,register,typedef , void。
(2)标识控制流的关键字
gato,return,break,continue,if,else,default,do,while,sW1tC11,case。
(3)标识预处理功能的关键字
define,include,undef , ifdef,ifndef,endif, lin。等。
(4)其他关键字
sizeof , asm, fortran .ada,pascal等,
上述的标识符都是系统已有定义的保留字,读者不得再重新定义。
3.运算符
运算符是用来表示某种运算操作的一种符号,有的运算符用一个字符组成,也有的运算符由多个字符组成。有的运算符只要求有一个操作数,这种运算符叫单目运算符;有的运算符要求有两个操作数,称为双目运算符;还有要求有三个操作数的运算符,称为三目运算符。C语言中运算符种类繁多,优先级复杂,还有结合性等问题,本书第三章中专门讲述运算符问题。
4.分隔符
分隔符是用来分隔多个变量、数据项、表达式等的符号。C语言中常用的分隔符有逗号,空白符,分号和膏号。下面介绍这些分隔符的使用方法。
(I)逗号作为分隔符用来分隔多个变量和函数参数。例如,在说明语句中,同种类型的多个变量可用逗号将其变量分隔开:
int a, b, c, d;
这表示变量a, b,c和d都被定义为int型变量。又例如,在函数定义或调用时,用逗号将函数的多个形参或实参进行分隔,在下列函数的定义中,
Add(a,b, c)
int a , b,c,
{
这表示函数add有三个形参a,b和c,用逗号进行分隔。
(2)空白符一般常用来作为多个单词间的分隔符,也可以作为输入数据时自然输人项的
缺省分隔符。G语言中,语句是由单词组成的,单词之间不能连写在一起,中间要用空白符(常用空格符)作分隔符,例如,
int a, b,c,
这里,在int与a之间便是用空格符分开的,因为int是一个单词,又是一个单词,这两个单词不能写在一起,一定要用空白符分隔开。又例如,使用标准格式输入函数输入数据时,并且控制串中又没有指定匹配符,则从键盘上输入的数据项之间需用空白符作为分隔符。关于标准格式输入函数,canf(),下面将会详细介绍。
(3)分号有时也可作为分隔符使用,它主要用在for循环语句中for后面,圆括号内的三个表达式之间用分号分隔,这一点将在语句一章中详细讲解。
(4)冒号有时也可作为分隔符使用,它主要用于语句标号与语句之间,用曹号分开;也可用在switch语句中,case关键字与其后的语句之间用冒号分开。这些使用在后面的内容中都会讲到。
5.常量
常量是一种在程序中其值保持不变的量。C语言中常量分为数字常量和字符常量两类。
数字常量又分为整型常量和浮点型常量。
字符常量和字符串常量是两种不同的常量。
C语言中,常量通常用符号常量来表示,符号常量也是一种标识符。
有关常量的类型、常量的使用方法以及符号常量的定义等详细情况后面章节会专门描述。
6.字符串
字符串是一种由双引号(’‘“)括起来的一串字符组成的常量。字符串实际上被存放在一个字符数组中,下面是合法的字符串:
“x,y,z”This is a string”,“1257″,”Wang ping”,“”,a\”b\””等。
其中,””表示一个空串,即没有字符的串。a\”b\””“表示由a”b”组成的字符串。当双引号本身作为字符处理时,前面要加一个反斜线,以便与定界符的双引号加以区别。
在C语言中,要注意字符常量与字符串常量的区别。它们在表示上、用法上和存放上都是不同。字符常量是用单引号(’‘)括起来的单个字符,例如,’a’是一个字符常量,字符串常量是用双引号(“”)括起来的一个或多个字符组成;字符常量在一定条件下可与整数进行加法或减法运算,字符串常量有与字符常量不同的运算;字符常量存放在内存中占一个字节的空间,字符串常量存放在内存中占有的字节个数是字符个数加1,因为每个字符串存放在内存中都有一个结束符‘\0’例如,字符‘a’占1个字节,而“a”却占用2个字节,其中’a’占一个,结束符‘\0’占一个。
7,注释符
注释符是用来标识注释或提示信息的。程序中的注释信息不被编译也不被执行,其作用是增加程序的可读性。C语言的注释符是以/*开头并以*/结束,在/*和,*/之间的信息为注释信息,一般起到说明或备忘的作用。
注释符可以出现在程序中任意行的位置,既可在程序头,也可在程序尾,还可以在程序中间的任意行。注释符可出现在一条语句的前面,也可出现在一条语句的后边,甚至还可出现在一条语句的中间。注释信息可占一行,也可以占多行。注释符在有些编译系统中允许嵌套,即在注释信息中还可以包含注释符。例如,
/,Compute/*Squares.Circle,*/*/
这是注释符嵌套的形式,这种形式有的编译系统是不允许的,有的编译系统经过设置后是允许的。
另外,采用注释符的形式在调试程序中常常有用,可以将一些暂时不参与编译和运行的语句用注释符加以注释一旦去掉注释符后,仍可参与编译或运行。
转载文章请注明,转载自:妍熙饭 [http://www.yanxifan.com]