2.1.5 C++语素
从编译角度看,组成C++的最小逻辑单位是单词,单词好比建屋盖房的砖瓦,C++中的单词有以下几类。
(1)直接常量。如代码2.1中的0。
(2)字符串。一对双引号之间的字符序列,是常量的一种,如代码2.1中的“"请输入要相乘的两个整数,用空格键分开:"”和“"计算结果为"”。
(3)关键字。系统定义的一些对编译程序有特别意义的名字,表2.1列出了ANSI/ISO标准C++的关键字。
关键字是一种特殊的标识符,关键字具有特定的含义,不能对它们再定义。
(4)一般标识符。由程序员定义的名字,主要包括类名、变量名(如代码2.1中的num1、num2和numResult)和函数名等。
自定义的标识符有一定的命名规则,一般来说有以下几点。
❑由大小写字母(a~z或A~Z)、下划线和数字组成(中间不允许有空格和标点符号),并且必须以一个字母或下划线(_)开头,即数字不能打头。
❑大小写字母表示不同的意义,如num1和Num1是两个不同的标识符。
❑不能使用关键字作标识符,所以标识符也称为保留字。
❑在定义标识符时,虽然语法上允许用下画线开头,但是,我们最好避免定义用下画线开头的标识符,因为编译器常常定义一些下画线开头的标识符。
❑C++没有限制一个标识符中的字符个数,但是,不同的编译器可识别的长度有一定的限制,不过,我们在定义标识符时,通常并不用担心标识符中字符数会不会超过编译器的限制,因为编译器限制的数字通常很大。
注意
一个写得好的程序,标识符应该尽量直观,可以拼读,可“望文知意”,关于编码风格的问题,在第19章会有详细的介绍。
(5)运算符。代码2.1中的“<<”和“>>”分别称为“输出运算符”和“输入运算符”,此外,C++中主要的运算符还有如下几种。
❑算术运算符:加减乘除(+、-、*、/)、取模(%)、自增(++)和自减(—)。
❑关系运算符:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(!=)。
❑逻辑运算符:与(&&)、或(||)和非(!)。
❑赋值运算符:赋值(=)。
❑其他运算符。
(6)标点符号。有#、()、{}、,、:和;等,其中圆括号和花括号必须成对使用,空白符是一种不被编译的符号,编译器认为全部的注释、换行符、空格及制表符等都是空白符,不对程序的语义和语法产生任何的影响。
注意
程序中所有标点符号都是英文标点。