2.1.5 C++语素

    从编译角度看,组成C++的最小逻辑单位是单词,单词好比建屋盖房的砖瓦,C++中的单词有以下几类。

    (1)直接常量。如代码2.1中的0。

    (2)字符串。一对双引号之间的字符序列,是常量的一种,如代码2.1中的“"请输入要相乘的两个整数,用空格键分开:"”和“"计算结果为"”。

    (3)关键字。系统定义的一些对编译程序有特别意义的名字,表2.1列出了ANSI/ISO标准C++的关键字。

    2.1.5 C++语素 - 图1

    关键字是一种特殊的标识符,关键字具有特定的含义,不能对它们再定义。

    (4)一般标识符。由程序员定义的名字,主要包括类名、变量名(如代码2.1中的num1、num2和numResult)和函数名等。

    自定义的标识符有一定的命名规则,一般来说有以下几点。

    ❑由大小写字母(a~z或A~Z)、下划线和数字组成(中间不允许有空格和标点符号),并且必须以一个字母或下划线(_)开头,即数字不能打头。

    ❑大小写字母表示不同的意义,如num1和Num1是两个不同的标识符。

    ❑不能使用关键字作标识符,所以标识符也称为保留字。

    ❑在定义标识符时,虽然语法上允许用下画线开头,但是,我们最好避免定义用下画线开头的标识符,因为编译器常常定义一些下画线开头的标识符。

    ❑C++没有限制一个标识符中的字符个数,但是,不同的编译器可识别的长度有一定的限制,不过,我们在定义标识符时,通常并不用担心标识符中字符数会不会超过编译器的限制,因为编译器限制的数字通常很大。

    注意

    一个写得好的程序,标识符应该尽量直观,可以拼读,可“望文知意”,关于编码风格的问题,在第19章会有详细的介绍。

    (5)运算符。代码2.1中的“<<”和“>>”分别称为“输出运算符”和“输入运算符”,此外,C++中主要的运算符还有如下几种。

    ❑算术运算符:加减乘除(+、-、*、/)、取模(%)、自增(++)和自减(—)。

    ❑关系运算符:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(!=)。

    ❑逻辑运算符:与(&&)、或(||)和非(!)。

    ❑赋值运算符:赋值(=)。

    ❑其他运算符。

    (6)标点符号。有#、()、{}、,、:和;等,其中圆括号和花括号必须成对使用,空白符是一种不被编译的符号,编译器认为全部的注释、换行符、空格及制表符等都是空白符,不对程序的语义和语法产生任何的影响。

    注意

    程序中所有标点符号都是英文标点。