1、 1 / 1711.1 C+程序结构 (Structure of a program)下面我们从一个最简单的程序入手看一个 C+程序的组成结构。/ my first program in C+#include using namespace std;int main() cout 以#标志开始的句子是预处理器的指示语句。它们不是可执行代码,只是对编译器作出指示。在本例中这个句子# include 告诉编译器的预处理器将输入输出流的标准头文件(iostream.h)包括在本程序中。这个头文件包括了 C+中定义的基本标准输入-输出程序库的声明。此处它被包括进来是因为在本程序的后面部分中将用到它的功
2、能。using namespace std;C+标准函数库的所有元素都被声明在一个名空间中,这就是 std名空间。因此为了能够访问它的功能,我们用这条语句来表达我们将使用标准名空间中定义的元素。这条语句在使用标准函数库的 C+程序中频繁出现,本教程中大部分代码例子中也将用到它。int main()2 / 171这一行为主函数(main function)的起始声明。main function 是所有 C+程序的运行的起始点。 不管它是在代码的开头,结尾还是中间 此函数中的代码总是在程序开始运行时第一个被执行。并且,由于同样的原因,所有 C+程序都必须有一个 main function。main
3、 后面跟了一对圆括号(),表示它是一个函数。C+中所有函数都跟有一对圆括号 (),括号中可以有一些输入参数。如例题中显示,主函数(main function)的内容紧跟在它的声明之后,由花括号 ()括起来。 cout int main ()Hello World! Im a C+ program 3 / 171cout int main ()cout using namespace std;int main ()/ declaring variables:int a, b;int result;/ process:a = 5;b = 2;a = a + 1;result = a - b;/ p
4、rint out the result:cout result;/ terminate the program:return 0;4如果以上程序中变量声明部分有你不熟悉的地方,不用担心,我们在后面的章节中很快会学到这些内容。10 / 171变量的范围(Scope of variables)所有我们要使用的变量都必须事先声明过。和+语言的一个重要区别是,在 C+语言中我们可以在源程序中任何地方声明变量,甚至可以在两个可执行(excutable)语句的中间声明变量,而不象在 C语言中变量声明只能在程序的开头部分。然而,我们还是建议在一定程度上遵循 C语言的习惯来声明变量,因为将变量声明放在一处对
5、debug程序有好处。因此,传统的 C语言方式的变量声明就是把变量声明放在每一个函数(function)的开头(对本地变量 local variable)或直接放在程序开头所有函数(function)的外面(对全局变量 global variable)。一个变量可以是本地(local)范围内有效,叫做本地变量,也可以是全局(global)范围内有效,叫做全局变量。全局变量要定义在一个源码文件的主体中,所有函数(包括主函数 main())之外。而本地变量定义在一个函数甚至只是一个语句块单元中。如下图所示:全局变量 Global variables 可以在程序中任何地方任何函数(function)
6、中被引用,只要是在变量的声明之后。本地变量 local variables 的作用范围被局限在声明它的程序范围内。如果它们是在一个函数的开头被声明的(例如main函数),它们的作用范围就是整个 main函数。在左图的例子中,这就意味着如果在 main函数外还另有一个函数,main 函数中声明的本地变量(Age, ANumber, AnotherOne) 不能够被另一个函数使用,反之亦然。在 C+中,本地变量(local variable)的作用范围被定义在声明它的程序块内(一个程序块是被一对花括号(curly brackets)括起来的一组语句)。如果变量是在一个函数(function)中被声明的,那么它是一个函数范围内的变量,如果变量是在一个循环中(loop)中被声明的,那么它的作用范围只是在这个循环(loop)之中,以此类推。