1.4 C++源程序组成元素
在C++语言的学习过程中,首先需要对C++的基本组成、基本符号、标识符和保留字等有一定的了解,它们是阅读和编写程序的基础。
1.4.1 基本组成
一般来说,一个标准的C++程序通常由预处理命令、函数、语句、变量、输入/输出及注释等几部分组成。
● 预处理命令:在C++程序中,预处理命令以“#”开始。C++提供了宏定义命令、文件包含命令及条件编译命令。
● 函数:一个C++程序通常由若干函数组成,这些函数可以是C++系统提供的库函数,也可以是用户根据需要编写的自定义函数。在这些函数中,必须有且仅有一个主函数main,不论主函数位于什么位置,该程序都是从主函数开始执行的。
● 语句:语句是组成程序的基本单元,它包括顺序语句、选择语句、循环语句等。所有的语句以分号结束,最简单的语句是空语句,它仅包括一个分号。
● 变量:在C++程序中,需要将数据存放于内存单元中,而变量就是用来存储和访问内存单元中数据的标识符。变量有整型、字符型、浮点型等基本数据类型。
● 输入/输出:在C++程序中,经常要使用到输入和输出语句,用于接收用户的输入及返回程序运行结果。
注释:注释可以帮助读者阅读源程序,但并不参与程序的运行。
示例:C++的基本组成。该示例体现了一个标准C++程序的基本组成,其包含预处理命令、函数、语句、变量、输入/输出和注释等部分,代码如代码清单所示。
代码清单
1 #include <iostream> //预处理命令 2 void main(void) //主函数 3 { 4 char name[10]; //变量 5 cout<<"请输入姓名:"; //输出 6 cin>>name[10]; //输入 7 cout<<"欢迎使用Visual Studio 2010"<<endl; //输出 8 }
上述程序代码使用到了C++程序的所有组成部分,其中主函数main中带有“;”的均为语句,以“//”开头的均为注释。这是一个简单的C++程序,其中包含了上述基本程序结构的所有组成部分,读者可仔细理解其各部分在程序中的作用。
提示:事实上,C++有许多优点是C语言所不具备的,主要体现在封装性、继承性和多态性,这将在后续章节中陆续讲解。
1.4.2 基本符号
每种语言都有自己的一套符号,符号是组成程序的基本单位,它是由若干字符组成的具有一定意义的最小单元,如标识符、关键字、运算符、分隔符、常量、注释符等。这里组成符号的字符必须是这种语言字符集中的合法字符,在C++中规定了一个自己的字符集,其组成词法的基本符号主要有以下3类。
● 字母:A~Z,a~z共52个符号。
● 数字:0~9共10个符号。
● 特殊字符:空格、!、#、%、^、&、*、_(下画线)、+、=、-、~、<、>、/、\、'、"、;、.、,、()、[]、{}。
1.4.3 标识符
标识符是程序员定义的词法符号,用它来命名程序中的一些实体。常见的有函数名字、类名、变量名、常量名、对象名、标号名、类型名等。C++规定标识符由大小些字母、数字符号和下画线组成,并且第一个字符必须是字母或下画线。在C++中定义标识符需要遵循一定的规则,包括以下几个方面。
● 标识符长度没有限制,但不同的编译系统有不同的要求,一般不超过31。
● 第一个字符必须是字母或下画线。
● 标识符中大小写是有区别的。如XY、xy、xY、Xy都是不同的标识符。
● 标识符定义时应尽可能使用有意义的单词。
● 标识符不能与关键字相同。
● 中间不能有空格。
一般来说,标识符的有效长度为32,也就是说,长度超过32个字符的标识符,若前32个字符相同,那么认为是同一个标识符。
注意:定义标识符时,不能使用C++中的保留字,如if、for、int等都不能用做标识符。C++的保留字将在下面予以介绍。
1.4.4 保留字
在C++程序中,保留字又称为关键字,是有特定含义的单词。对于保留字,在编程时不能用于其他用途。表1-10中列出了常用的保留字,其含义和用法在相关的章节中再做详细介绍。
表1-10 C++常用保留字
警告:需要注意的是,读者在定义标识符时,不能定义与表1-10中同名的标识符,否则在程序运行时将出现错误。
1.4.5 分隔符
C++中分隔符又称标点符号,用来分隔单词和程序正文。C++中常用的分隔符有以下几种。
● 空格符:用来做单词之间的分隔。
● 逗号:变量说明时分隔多个变量。
● 分号:作为语句结束时的标记。在for语句后面括号中的3个表达式也用到分号。
● 冒号:用做语句标号,在switch语句中也会使用到。
● {}:用来构造程序。
最后简单介绍一下注释符。在C++中,允许使用两种注释符,一种是C++语言新增的注释方法,即以“//”开头,占一行。另外一种是原来C语言的注释方法,以一对“/*”和“*/”括起的注释信息。在本书中,将使用前一种注释方法,即以“//”引导注释。