本章小结

本章介绍了C++程序的基本结构,以及程序的基本语法单位:字、词和表达式构成的语法规则。

程序的主要功能是描述数据和处理数据。

数据表现为常量和变量。常量是程序运行中不能改变的量,包括常数和存放在内存单元中的标识常量。变量是可改写的内存单元中的标识。所有常量、变量都属于某种数据类型。类型决定了数据的存储和操作方式。

对数据的读/写通过内存访问实现。C++语言提供名访问和地址访问方式。指针变量是存放内存地址的特殊变量。可以通过指针变量间址访问所指对象。

引用是对象的别名。用引用访问对象与名访问方式一样。

关键字const用于约束对象为只读。

运算符表示了系统提供对基本数据的操作。不同类型的数据可以进行不同运算。各种运算符有不同的功能、优先级和结合方向。表达式是由常量、变量和运算符组成的,表达一个计算值的式子。

C++用标准流对象实现数据的输入和输出。输入语句、输出语句和表达式语句可以构成顺序执行的简单程序。

C++中,有些运算符具有二义性。例如,“&”既可以表示取址,又可以表示引用;“*”既可以表示算术乘,也可以表示指针运算符。区分原则是分析语句的性质。

(1)在说明语句中,运算符的作用是“名词”,说明标识符的类型。例如:

            int a;
            int*p;            //p是指针类型(*)变量,关联类型是整型(int)
            double t;
            double&rt=t;      //rt是引用类型(*)变量,关联类型是整型(int)

若一个说明语句中包含多个运算符“名词”,则需考虑运算符的优先级和结合性。例如:

            int*&rp=p;       //rp是关联类型为int*的引用

“*”和“&”都是右结合的一元运算符,所以,等价于:

            int * (&rp)=p;

rp是引用标识符,关联类型是int*,即它是一个指针变量的别名。

(2)在执行语句中,运算符是“动词”,完成特定的操作。例如:

            p=&a;            //取变量a的地址
            a=256;
            *p=*p+10;        //间址访问,访问指针p所指向的对象

在后续的章节中,还会出现类似的语法现象。