2.1.5 词法记号
词法记号是最小的词法单元,下面将介绍C++的关键字、标识符、文字、操作符、分隔符和空白符。
1.关键字
关键字是C++预先声明的单词,它们在程序中有不同的使用目的。下面列出的是C++中的关键字。
asm auto bool break case catch char
class const const_cast continue default delete do
double dynamic_cast else enum explicit export extern
false float for friend goto if inline
int long mutable namespace new operator private
protected public register reinterpret_cast return short signed
sizeof static static_cast struct switch template this
throw true try typedef typeid typename union
unsigned using virtual void volatile wchar_t while
关于这些关键字的意义和用法,将在后续章节逐渐介绍。
2.标识符
标识符是程序员定义的单词,它命名程序正文中的一些实体,如函数名、变量名、类名、对象名等。C++标识符的构成规则如下。
①以大写字母、小写字母或下画线(_)开始。
②可以由以大写字母、小写字母、下画线(_)或数字0~9组成。
③大写字母和小写字母代表不同的标识符。
④不能是C++关键字。
例如:Rectangle,Draw_line,_No1都是合法的标识符,而No.1,1st则是不合法的标识符。
3.文字
文字是在程序中直接使用符号表示的数据,包括数字、字符、字符串和布尔文字,在2.2节中将详细介绍各种文字。
4.操作符
操作符(也称运算符)是用于实现各种运算的符号,例如:+,-,*,/,…。在2.2节及后续章节,将详细介绍各种操作符。
5.分隔符
分隔符用于分隔各个词法记号或程序正文,C++分隔符是:(){} ,:;这些分隔符不表示任何实际的操作,仅用于构造程序,其具体用法会在以后的章节中介绍。
6.空白
程序编译时的词法分析阶段将程序正文分解为词法记号和空白。空白是空格、制表符(Tab键产生的字符)、垂直制表符、换行符、回车符和注释的总称。
空白符用于指示词法记号的开始和结束位置,但除了这一功能之外,其余的空白将被忽略。因此,C++程序可以不必严格地按行书写,凡是可以出现空格的地方,都可以出现换行。例如:
int i;
与
int i;
或与
是等价的。尽管如此,在书写程序时,仍要力求清晰、易读。因为一个程序不只是要让编译器分析,还要给人阅读,以便于修改、维护。
注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不处理注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会影响最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。
C++中,有两种给出注释的方法。一种是沿用C语言的方法,使用“/*”和“*/”括起注释文字。例如:
这里“/*”和“*/”之间的所有字符都被作为注释处理。
另一种方法是使用“//”,从“//”开始,直到它所在行的行尾,所有字符都被作为注释处理。例如:
//This is a comment.
int i; //i is an integer